public ActionResult <IEnumerable <ConsultantDto> > Get([FromQuery] ConsultantFilter consultantFilter = null, [FromQuery] string orderBy = null, [FromQuery] PageRequest pageRequest = null) { var Result = ConsultantService.Read(pageRequest, out PageResponse pageResponse, orderBy, consultantFilter); Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(pageResponse)); return(Ok(Result)); }
public async Task <ResultList> GetConsultantsAsync(ConsultantFilter consultantFilter) { var consultants = await Context.Consultants.Include(p => p.User).Include(p => p.ConsultType) .Include(p => p.Expertises).ToListAsync(); ResultList result = new ResultList() { entities = consultants }; return(result); }
public static IQueryable <Consultant> ApplyFilterParameters(this IQueryable <Consultant> source, ConsultantFilter consultantFilter) { if (consultantFilter == null) { return(source); } if (consultantFilter.Id > 0) { source = source.Where(x => x.Id == consultantFilter.Id); } if (consultantFilter.Code != null && consultantFilter.Code.Trim() != string.Empty) { source = source.Where(x => x.Code == consultantFilter.Code); } if (consultantFilter.FirstName != null && consultantFilter.FirstName.Trim() != string.Empty) { source = source.Where(x => x.FirstName.ToLower().StartsWith(consultantFilter.FirstName.ToLower())); } if (consultantFilter.LastName != null && consultantFilter.LastName.Trim() != string.Empty) { source = source.Where(x => x.LastName.ToLower().StartsWith(consultantFilter.LastName.ToLower())); } if (consultantFilter.BirthYear > 1800) { source = source.Where(x => x.BirthDate.Year == consultantFilter.BirthYear); } if (consultantFilter.BirthMonth > 0 && consultantFilter.BirthMonth < 13) { source = source.Where(x => x.BirthDate.Month == consultantFilter.BirthMonth); } if (consultantFilter.BirthDay > 0 && consultantFilter.BirthDay < 32) { source = source.Where(x => x.BirthDate.Day == consultantFilter.BirthDay); } return(source); }
public IEnumerable <ConsultantDto> Read(PageRequest pageRequest, out PageResponse pageResponse, string orderBy = "", ConsultantFilter consultantFilter = null) { List <ConsultantDto> Consultants = this.BogDBContext.Consultant .ApplyFilterParameters(consultantFilter) .ApplyOrderParameters(orderBy) .TakePage(pageRequest, out pageResponse) .Select(x => x.ToConsultantDto()).ToList(); return(Consultants); }
public async Task <ResultList> GetConsultantsAsync(ConsultantFilter consultantFilter) { var consultants = await consultRepository.GetConsultantsAsync(consultantFilter); return(consultants); }