public async Task <List <SubjectGroupDTO> > List([FromBody] SubjectGroupFilterDTO subjectGroupFilterDTO) { SubjectGroupFilter filter = new SubjectGroupFilter { Code = new StringFilter { StartsWith = subjectGroupFilterDTO.Code }, Name = new StringFilter { Contains = subjectGroupFilterDTO.Name }, Skip = subjectGroupFilterDTO.Skip, Take = int.MaxValue, OrderBy = SubjectGroupOrder.Code, OrderType = OrderType.ASC }; List <SubjectGroup> subjectGroups = await SubjectGrupService.List(filter); List <SubjectGroupDTO> subjectGroupDTOs = subjectGroups.Select(s => new SubjectGroupDTO { Id = s.Id, Code = s.Code, Name = s.Name }).ToList(); return(subjectGroupDTOs); }
public async Task <int> Count(SubjectGroupFilter subjectGroupFilter) { IQueryable <SubjectGroupDAO> subjectGroupDAOs = tFContext.SubjectGroup; subjectGroupDAOs = DynamicFilter(subjectGroupDAOs, subjectGroupFilter); return(await subjectGroupDAOs.CountAsync()); }
public async Task <List <SubjectGroup> > List(SubjectGroupFilter subjectGroupFilter) { if (subjectGroupFilter == null) { return(new List <SubjectGroup>()); } IQueryable <SubjectGroupDAO> subjectGroupDAOs = tFContext.SubjectGroup; subjectGroupDAOs = DynamicFilter(subjectGroupDAOs, subjectGroupFilter); subjectGroupDAOs = DynamicOrder(subjectGroupDAOs, subjectGroupFilter); var subjectGroups = await DynamicSelect(subjectGroupDAOs); return(subjectGroups); }
private async Task <bool> CodeValidate(SubjectGroup subjectGroup) { //Kiểm tra sự trùng lặp Code SubjectGroupFilter filter = new SubjectGroupFilter { Code = new StringFilter { Equal = subjectGroup.Code } }; var count = await UOW.SubjectGroupRepository.Count(filter); if (count > 0) { subjectGroup.AddError(nameof(SubjectGroupValidator), nameof(subjectGroup.Code), ErrorCode.Duplicate); } return(subjectGroup.IsValidated); }
public async Task <List <SubjectGroupDTO> > List([FromBody] SubjectGroupFilterDTO subjectGroupFilterDTO) { SubjectGroupFilter filter = new SubjectGroupFilter { Code = subjectGroupFilterDTO.Code, Name = subjectGroupFilterDTO.Name, Skip = subjectGroupFilterDTO.Skip, Take = subjectGroupFilterDTO.Take, OrderBy = subjectGroupFilterDTO.OrderBy, OrderType = subjectGroupFilterDTO.OrderType }; List <SubjectGroup> subjectGroups = await SubjectGrupService.List(filter); List <SubjectGroupDTO> subjectGroupDTOs = subjectGroups.Select(s => new SubjectGroupDTO(s)).ToList(); return(subjectGroupDTOs); }
public async Task <List <SubjectGroup> > List(SubjectGroupFilter subjectGroupFilter) { return(await UOW.SubjectGroupRepository.List(subjectGroupFilter)); }
private IQueryable <SubjectGroupDAO> DynamicOrder(IQueryable <SubjectGroupDAO> query, SubjectGroupFilter subjectGroupFilter) { switch (subjectGroupFilter.OrderType) { case OrderType.ASC: switch (subjectGroupFilter.OrderBy) { case SubjectGroupOrder.Code: query = query.OrderBy(q => q.Code); break; case SubjectGroupOrder.Name: query = query.OrderBy(q => q.Name); break; default: query = query.OrderBy(q => q.CX); break; } break; case OrderType.DESC: switch (subjectGroupFilter.OrderBy) { case SubjectGroupOrder.Code: query = query.OrderByDescending(q => q.Code); break; case SubjectGroupOrder.Name: query = query.OrderByDescending(q => q.Name); break; default: query = query.OrderByDescending(q => q.CX); break; } break; default: query = query.OrderBy(q => q.CX); break; } query = query.Skip(subjectGroupFilter.Skip).Take(subjectGroupFilter.Take); return(query); }
private IQueryable <SubjectGroupDAO> DynamicFilter(IQueryable <SubjectGroupDAO> query, SubjectGroupFilter subjectGroupFilter) { if (subjectGroupFilter == null) { return(query.Where(q => 1 == 0)); } if (subjectGroupFilter.Id != null) { query = query.Where(q => q.Id, subjectGroupFilter.Id); } if (subjectGroupFilter.Name != null) { query = query.Where(q => q.Name, subjectGroupFilter.Name); } if (subjectGroupFilter.Code != null) { query = query.Where(q => q.Code, subjectGroupFilter.Code); } return(query); }