/// <summary> /// Получение количества студентов в группах. /// </summary> /// <param name="groupIds">ИДы групп.</param> /// <returns></returns> public Task <ISTrainingPartResponse <Dictionary <int, StudentsCount> > > GetStudentsCountAsync(IEnumerable <int> groupIds) { return(repository.QueryAsync(async con => { var students = new Dictionary <int, StudentsCount>(); foreach (var item in groupIds) { var total = await con.QueryFirstOrDefaultAsync <int>("SELECT COUNT(*) FROM students WHERE groupId = @item", new { item }); var sabbatical = await con.QueryFirstOrDefaultAsync <int>("SELECT COUNT(*) FROM students WHERE groupId = @item AND onSabbatical = 1", new { item }); students[item] = new StudentsCount(total, sabbatical); } return students; }, new Dictionary <int, StudentsCount>())); }
/// <summary> /// Метод, конвертирующая текущий объект в класс SampleGrid /// </summary> /// <returns>Возвращает объект SampleGrid</returns> public SampleGrid toSample() { SampleGrid sg = new SampleGrid(); sg.P1 = Id.ToString(); sg.P2 = Time.Date.ToString("dd.MM.yyyy"); sg.P3 = Duration.ToString(); Group g = MTSystem.findGroupById(GroupId); sg.P4 = (g == null)?"Error":g.Name; User u = MTSystem.LoadClient(UserId, PermType.All); sg.P5 = (u == null)?"Error":u.Name; sg.P6 = StudentsCount.ToString(); sg.P7 = present.Count.ToString(); sg.P8 = absent.Count.ToString(); return(sg); }