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); }
/// <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); }