public Task <FilterResultModel <PartnersRentHistoryModel> > Handle(GetPartnersRentHistoryQuery request, CancellationToken cancellationToken) { var sortBy = request.SortBy.Trim() != "" ? request.SortBy : "PartnerName"; var sortDirection = (request.SortDirection.ToUpper() == "DESCENDING") ? true : false; FilterResultModel <PartnersRentHistoryModel> result = new FilterResultModel <PartnersRentHistoryModel> (); var history = _database.Rent .Where(v => v.Vehicle.Owner != null) .Select(PartnersRentHistoryModel.Projection) .Select(DynamicQueryHelper.GenerateSelectedColumns <PartnersRentHistoryModel> (request.SelectedColumns)) .AsQueryable(); if (request.Filter.Count() > 0) { history = history .Where(DynamicQueryHelper .BuildWhere <PartnersRentHistoryModel> (request.Filter)); } result.Count = history.Count(); var PageSize = (request.PageSize == 0) ? result.Count : request.PageSize; var PageNumber = (request.PageSize == 0) ? 1 : request.PageNumber; result.Items = history.OrderBy(sortBy, sortDirection) .Skip(PageNumber - 1) .Take(PageSize) .ToList(); return(Task.FromResult <FilterResultModel <PartnersRentHistoryModel> > (result)); }
public async Task <ActionResult <FilterResultModel <PartnersRentHistoryModel> > > GetPartnersRentHistory([FromBody] GetPartnersRentHistoryQuery query) { var history = await _Mediator.Send(query); return(Ok(history)); }