コード例 #1
0
        /// <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);
            }
        }