-
Notifications
You must be signed in to change notification settings - Fork 0
/
Arguments.cs
69 lines (67 loc) · 2.04 KB
/
Arguments.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
using NLog;
using System;
#nullable disable
namespace ClassroomWindows
{
internal static class Arguments
{
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
public static int LockSeconds = 0;
public static bool Lock = false;
public static string EncryptedUserEmail = (string) null;
public static string TeacherName = (string) null;
public static bool Parse(string[] arguments)
{
int num1 = 0;
while (num1 < arguments.Length)
{
string[] strArray1 = arguments;
int index1 = num1;
int num2 = index1 + 1;
string str1 = strArray1[index1];
if (str1.StartsWith("/") || str1.StartsWith("-"))
{
if (str1.Substring(1).ToUpper() == "LOCK")
{
if (num2 + 2 > arguments.Length)
{
Arguments.logger.Error("Usage: /lock <seconds> <teacher_name>");
return false;
}
string[] strArray2 = arguments;
int index2 = num2;
int num3 = index2 + 1;
string s = strArray2[index2];
try
{
Arguments.LockSeconds = int.Parse(s);
}
catch (FormatException ex)
{
Arguments.logger.Error("Invalid lock seconds = \"" + s + "\"");
return false;
}
string[] strArray3 = arguments;
int index3 = num3;
num1 = index3 + 1;
string str2 = strArray3[index3];
Arguments.TeacherName = str2 == string.Empty ? (string) null : str2;
Arguments.Lock = true;
}
else
{
Arguments.logger.Error("Invalid switch = \"" + str1 + "\"");
return false;
}
}
else
{
Arguments.logger.Error("Invalid command line argument = \"" + str1 + "\". Missing '/' or '-' switch");
return false;
}
}
return true;
}
}
}