Exemplo n.º 1
0
        /// <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>()));
        }
Exemplo n.º 2
0
        /// <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);
        }