public static Project Open(string path) { JObject obj = JObject.Parse(File.ReadAllText(path)); JObject info = obj.Value <JObject>("info"); Project result = new Project(path, info.Value <string>("name")) { TimeBegin = new DateTime(info.Value <long>("begin")) }; if (info.ContainsKey("password")) { result.chiefPassword = info.Value <string>("password"); result.DailyAdmins = new List <DailyAdmin>(); JArray admins = info.Value <JArray>("admins"); foreach (JObject admin in admins) { result.DailyAdmins.Add(DailyAdmin.Deserialize(admin)); } } JArray groups = obj.Value <JArray>("groups"); foreach (JObject group in groups) { result.Groups.Add(Group.Deserialize(group, result)); } return(result); }
public static DailyAdmin Deserialize(JObject origin) { DailyAdmin result = new DailyAdmin(origin.Value <string>("name")) { Password = origin.Value <string>("password") }; JArray array = origin.Value <JArray>("workingDays"); foreach (int e in array) { result.WorkingDays.Add((DayOfWeek)e); } return(result); }
public MatchResult(DailyAdmin admin) { Permission = Permission.DailyAdmin; Admin = admin; }