예제 #1
0
        private T GetSingle <T>(string query) where T : class, IIdentifiable, new()
        {
            var dict = db.GetCollection(query);

            if (dict == null || dict.Count() != 1)
            {
                return(null);
            }

            var entity = new T();

            entity.SetProperties(dict.First());

            return(entity);
        }
예제 #2
0
        /// <summary>
        /// Возвращает год окончания ВУЗа для студентов заданного группы и направления подготовки
        /// </summary>
        /// <param name="fielOfStudy">Направление подготовки</param>
        /// <param name="studyGroup">Группа</param>
        /// <returns>Год окночания ВУЗа</returns>
        public int GetYearOfGraduation(int fielOfStudy, string studyGroup)
        {
            var student = dataBase.GetCollection($"SELECT s.YearOfGraduation from student s where s.FieldOfStudy = {fielOfStudy} AND s.StudyGroup = '{studyGroup}' LIMIT 0,1");

            if (student.Count() <= 0)
            {
                throw new Exception("Данной группы нет в базе данных или данной группе нет студентов. Проверьте указанные данные");
            }

            int year;

            if (!int.TryParse((student.First()).Values.First().ToString(), out year))
            {
                throw new Exception("Невозможно определить год окончания университета для студентов группы. Проверьте указанные данные");
            }

            return(year);
        }