/// <summary> /// Checks if entered course and group exist /// </summary> /// <param name="s">C.G</param> /// <returns></returns> static bool IsCourseGroup(long id, string s) { var lst = s.Split('.'); if (lst.Length != 2 || lst[0] == String.Empty || lst[1] == String.Empty) { logger.Info($"ID: {id}, IsCourseGroup(\"{s}\") - Ошибка ввода!"); return(false); } var(course, group) = (-1, -1); bool IsCourse = int.TryParse(lst[0], out course); bool IsGroup = int.TryParse(lst[1], out group); if (!IsCourse || !IsGroup) { logger.Info($"ID: {id}, IsCourseGroup(\"{s}\") - Ошибка парсинга!"); return(false); } try { int groupid = 0; switch (UserList[id].Info) { case User.UserInfo.bachelor: groupid = GradeList.Find(y => y.degree == "bachelor" && y.num == course).Groups.Find(y => y.num == group).id; break; case User.UserInfo.graduate: groupid = GradeList.Find(y => y.degree == "postgraduate" && y.num == course).Groups.Find(y => y.num == group).id; break; case User.UserInfo.master: groupid = GradeList.Find(y => y.degree == "master" && y.num == course).Groups.Find(y => y.num == group).id; break; } UserList[id].groupid = groupid; return(true); } catch (NullReferenceException e) { logger.Info(e, $"ID: {id}, IsCourseGroup(\"{s}\") - Исключение!"); return(false); } }