public async Task <List <HighSchoolDTO> > ListHighSchool([FromBody] HighSchoolFilterDTO highSchoolFilterDTO) { HighSchoolBOFilter highSchoolFilter = new HighSchoolBOFilter { Code = new StringFilter { StartWith = highSchoolFilterDTO.Code }, Name = new StringFilter { Contain = highSchoolFilterDTO.Name }, ProvinceId = highSchoolFilterDTO.ProvinceId, Skip = highSchoolFilterDTO.Skip, Take = int.MaxValue, OrderBy = HighSchoolOrder.Name, OrderType = OrderType.ASC }; var listHighSchool = await HighSchoolService.List(highSchoolFilter); if (listHighSchool == null) { return(null); } return(listHighSchool.Select(t => new HighSchoolDTO { Id = t.Id, Code = t.Code, Name = t.Name, ProvinceId = t.ProvinceId }).ToList()); }
public async Task <int> Count(HighSchoolBOFilter highSchoolFilter) { IQueryable <HighSchoolDAO> highSchoolDAOs = context.HighSchool; highSchoolDAOs = DynamicFilter(highSchoolDAOs, highSchoolFilter); return(await highSchoolDAOs.CountAsync()); }
public async Task <List <HighSchoolBO> > List(HighSchoolBOFilter highSchoolFilter) { if (highSchoolFilter == null) { return(new List <HighSchoolBO>()); } IQueryable <HighSchoolDAO> highSchoolDAOs = context.HighSchool; highSchoolDAOs = DynamicFilter(highSchoolDAOs, highSchoolFilter); highSchoolDAOs = DynamicOrder(highSchoolDAOs, highSchoolFilter); var highSchools = await DynamicSelect(highSchoolDAOs); return(highSchools); }
private IQueryable <HighSchoolDAO> DynamicOrder(IQueryable <HighSchoolDAO> query, HighSchoolBOFilter highSchoolFilter) { switch (highSchoolFilter.OrderType) { case OrderType.ASC: switch (highSchoolFilter.OrderBy) { case HighSchoolOrder.Code: query = query.OrderBy(q => q.Code); break; case HighSchoolOrder.Name: query = query.OrderBy(q => q.Name); break; default: query = query.OrderBy(q => q.Id); break; } break; case OrderType.DESC: switch (highSchoolFilter.OrderBy) { case HighSchoolOrder.Code: query = query.OrderByDescending(q => q.Code); break; case HighSchoolOrder.Name: query = query.OrderByDescending(q => q.Name); break; default: query = query.OrderByDescending(q => q.Id); break; } break; default: query = query.OrderBy(q => q.Id); break; } query = query.Skip(highSchoolFilter.Skip).Take(highSchoolFilter.Take); return(query); }
private IQueryable <HighSchoolDAO> DynamicFilter(IQueryable <HighSchoolDAO> query, HighSchoolBOFilter highSchoolFilter) { if (highSchoolFilter == null) { return(query.Where(q => 1 == 0)); } query = query.Where(q => q.ProvinceId == highSchoolFilter.ProvinceId); if (highSchoolFilter.Id != null) { query = query.Where(q => q.Id, highSchoolFilter.Id); } if (highSchoolFilter.Name != null) { query = query.Where(q => q.Name, highSchoolFilter.Name); } if (highSchoolFilter.Code != null) { query = query.Where(q => q.Code, highSchoolFilter.Code); } return(query); }
public async Task <List <HighSchoolBO> > List(HighSchoolBOFilter highSchoolFilter) { return(await UOW.HighSchoolRepository.List(highSchoolFilter)); }