public BillForInmateWithBillDetailsSpecification(BillFilter filter, bool forCount = false) : base(b => (!filter.Month.HasValue || b.Month == filter.Month) && (!filter.Year.HasValue || b.Year == filter.Year) && (string.IsNullOrEmpty(filter.PaidPredicate) || b.PaymentStatus == (PaymentStatus)Enum.Parse(typeof(PaymentStatus), filter.PaidPredicate)) && (string.IsNullOrEmpty(filter.Search) || b.Inmate.FullName.ToLower().Contains(filter.Search))) { if (!forCount) { //AddInclude(b => b.BillItems); AddInclude(b => b.Inmate); AddOrderByDesc(b => b.CreatedOn); if (!string.IsNullOrEmpty(filter.Sort)) { switch (filter.Sort.ToLower()) { case "byNameAsc": AddOrderBy(x => x.Inmate.FullName); break; case "byNameDesc": AddOrderByDesc(x => x.Inmate.FullName); break; default: AddOrderByDesc(b => b.CreatedOn); break; } } AddPagination((filter.PageIndex - 1) * filter.PageSize, filter.PageSize); } }
public async Task <ActionResult <IReadOnlyList <BillDto> > > GetBills([FromQuery] BillFilter filter) { var bills = await _billservice.GetInmateBillsAsync(filter); var count = await _billservice.GetInmateBillsCountAsync(filter); Response.AddPaginationHeader(count, filter.PageIndex, filter.PageSize); var billsToReturnDto = _mapper.Map <IReadOnlyList <BillDto> >(bills); return(Ok(billsToReturnDto)); }
public async Task <IList <Bill> > Query(BillFilter filter) { var param = new DynamicParameters(); param.Add("ID", filter.ID); param.Add("RequestID", filter.RequestID); param.Add("RefNo", filter.RefNo); param.Add("RefID", filter.RefID); param.Add("CustomerName", filter.CustomerName); param.Add("Status", filter.Status); param.Add("From", filter.From); param.Add("To", filter.To); param.Add("InvoiceNo", filter.InvoiceNo); param.Add("Type", filter.Type); var mapper = new BillMapper(); return((await SqlMapper.QueryAsync(_unitOfWork.Connection, "SelectBill", new[] { typeof(Bill), typeof(BillLineItem), typeof(Payment) }, obj => { return mapper.Map(obj[0] as Bill, obj[1] as BillLineItem, obj[2] as Payment); }, param, splitOn: "ID,LineItemID,PaymentID", commandType: CommandType.StoredProcedure, transaction: _unitOfWork.Transaction)).Distinct().ToList()); }
public FilterBillCommand(BillFilter filter) { _filter = filter; }
public async Task <int> GetInmateBillsCountAsync(BillFilter filter) { var spec = new BillForInmateWithBillDetailsSpecification(filter, true); return(await _unitOfWork.Repository <InmateBill>().GetCountForSpecAsync(spec)); }
public async Task <IReadOnlyList <InmateBill> > GetInmateBillsAsync(BillFilter filter) { var spec = new BillForInmateWithBillDetailsSpecification(filter); return(await _unitOfWork.Repository <InmateBill>().FindAllBySpecAsync(spec)); }
public async Task <IList <Model.Bill> > Filter(BillFilter filter) { return(await _apiClient.BillSdk.List(filter)); }
public static Task <IEnumerable <Bill> > GetBillsAsync(this FreeAgentClient client, BillFilter filterBy = BillFilter.All, BillOrder orderBy = BillOrder.DueDate, DateTime?fromDate = null, DateTime?toDate = null) { var view = filterBy.GetMemberValue(); var sort = orderBy.GetMemberValue(); return(client.GetOrCreateAsync(c => c.BillList(client.Configuration.CurrentHeader, view, sort, fromDate, toDate), r => r.Bills)); }