Exemplo n.º 1
0
            private async Task <DataTableDto <ClassDto> > GetClassesWithoutStatusId(GetAllDataTableQuery request)
            {
                int recordsTotal           = 0;
                int skip                   = request.start != 0 ? request.start : 0;
                int pageSize               = request.length != 0 ? request.length : 10;
                IQueryable <Class> classes = _context.Classes.Include(a => a.ClassInstructors).ThenInclude(a => a.Instructor)
                                             .Skip(skip).Take(pageSize).AsNoTracking();

                if (request.order != null)
                {
                    string dir    = request.order.FirstOrDefault().dir;
                    int    Column = request.order.FirstOrDefault().Column;
                    classes = classes.OrderBy(request.columns[Column].data + " " + dir);
                }

                if (!string.IsNullOrEmpty(request.search.Value))
                {
                    classes = _context.Classes.Where(x => x.Name.Trim().ToLower().Contains(request.search.Value.Trim().ToLower()))
                              .Include(a => a.ClassInstructors).ThenInclude(a => a.Instructor)
                              .Skip(skip).Take(pageSize).AsNoTracking();
                }

                recordsTotal = await _context.Classes.CountAsync();

                var data = _Mapper.Map <List <ClassDto> >(await classes.ToListAsync());

                return(new DataTableDto <ClassDto>
                {
                    draw = request.draw,
                    data = data,
                    recordsTotal = recordsTotal,
                    recordsFiltered = recordsTotal
                });
            }
Exemplo n.º 2
0
 public async Task <DataTableDto <ClassDto> > Handle(GetAllDataTableQuery request, CancellationToken cancellationToken)
 {
     if (request.InstructorId.HasValue && request.InstructorId.Value != 0)
     {
         return(await GetClassesWithInstructorId(request));
     }
     else
     {
         return(await GetClassesWithAllInstructors(request));
     }
 }
Exemplo n.º 3
0
            private async Task <DataTableDto <ClassDto> > GetClassesWithInstructorId(GetAllDataTableQuery request)
            {
                bool isHaveStatus = request.StatusId.HasValue;

                if (isHaveStatus)
                {
                    return(await GetInstructorClassesWithStatusId(request));
                }
                else
                {
                    return(await GetInstructorClassesWithoutStatusId(request));
                }
            }