public Task <DataResult <IPagedListResult <DTOCustomerExchange> > > GetCustomersLookupWithPagingAsync(List <Expression <Func <CustomerExchange, bool> > > searchTerm, string sortName, string sortDirection, int pageIndex, int pageSize, CancellationToken cancellationToken = default(CancellationToken)) { return(Task.Run(() => { var searchQuery = new SearchQuery <CustomerExchange>(); searchQuery.CurrentPage = pageIndex; searchQuery.Skip = pageSize * (pageIndex - 1); searchQuery.Take = pageSize; searchQuery.IncludeProperties = "Car,Customer"; var sort = new FieldSortCriteria <CustomerExchange>(sortName, (SortDirection)Enum.Parse(typeof(SortDirection), sortDirection)); searchQuery.AddSortCriteria(sort); foreach (var searchCondition in searchTerm) { searchQuery.AddFilter(searchCondition); } var pagedCustomerWithCar = customerExchangeRepository.Search(searchQuery); var pagedCustomerWithCarDTOs = GetDefaultPagingDtoResult <DTOCustomerExchange, CustomerExchange>(_mapper, pagedCustomerWithCar); // Mapping customer, car and quotations to DTO pagedCustomerWithCarDTOs.DTOs = MappingCustomerAndCarDTO(pagedCustomerWithCar.DTOs.ToList(), pagedCustomerWithCarDTOs.DTOs.ToList()); return new DataResult <IPagedListResult <DTOCustomerExchange> > { Errors = new List <ErrorDescriber>(), Target = pagedCustomerWithCarDTOs }; }, cancellationToken)); }
public Task <DataResult <IPagedListResult <DTOCustomer> > > GetCustomersWithPagingAsync(string searchTerm, string sortName, string sortDirection, int pageIndex, int pageSize, CancellationToken cancellationToken = default(CancellationToken)) { return(Task.Run(() => { var searchQuery = new SearchQuery <Customer>(); searchQuery.CurrentPage = pageIndex; searchQuery.Skip = pageSize * (pageIndex - 1); searchQuery.Take = pageSize; searchQuery.IncludeProperties = "Branch,CustomerType"; var sort = new FieldSortCriteria <Customer>(sortName, (SortDirection)Enum.Parse(typeof(SortDirection), sortDirection)); searchQuery.AddSortCriteria(sort); if (!string.IsNullOrEmpty(searchTerm)) { searchQuery.AddFilter(x => x.Name.Contains(searchTerm) || x.Phone.Contains(searchTerm) || x.Id.Contains(searchTerm)); } var pagedCustomers = customerRepository.Search(searchQuery); return new DataResult <IPagedListResult <DTOCustomer> > { Errors = new List <ErrorDescriber>(), Target = GetDefaultPagingDtoResult <DTOCustomer, Customer>(_mapper, pagedCustomers) }; }, cancellationToken)); }
public Task <DataResult <IPagedListResult <DTOManufacturer> > > GetManufacturersWithPagingAsync(string searchTerm, string sortName, string sortDirection, int pageIndex, int pageSize, CancellationToken cancellationToken = default(CancellationToken)) { return(Task.Run(() => { var searchQuery = new SearchQuery <Manufacturer>(); searchQuery.CurrentPage = pageIndex; searchQuery.Skip = pageSize * (pageIndex - 1); searchQuery.Take = pageSize; var sort = new FieldSortCriteria <Manufacturer>(sortName, (SortDirection)Enum.Parse(typeof(SortDirection), sortDirection)); searchQuery.AddSortCriteria(sort); if (!string.IsNullOrEmpty(searchTerm)) { searchQuery.AddFilter(x => x.Name.Contains(searchTerm) || x.Description.Contains(searchTerm)); } var pagedManufacturers = _unitOfWork.GetRepository <Manufacturer>().Search(searchQuery); return new DataResult <IPagedListResult <DTOManufacturer> > { Errors = new List <ErrorDescriber>(), Target = GetDefaultPagingDtoResult <DTOManufacturer, Manufacturer>(_mapper, pagedManufacturers) }; }, cancellationToken)); }
public Task <DataResult <IPagedListResult <DTOQuotation> > > GetQuotationsLookupWithPagingAsync(List <Expression <Func <Quotation, bool> > > searchTerm, string sortName, string sortDirection, int pageIndex, int pageSize, CancellationToken cancellationToken = default(CancellationToken)) { return(Task.Run(() => { var searchQuery = new SearchQuery <Quotation>(); searchQuery.CurrentPage = pageIndex; searchQuery.Skip = pageSize * (pageIndex - 1); searchQuery.Take = pageSize; searchQuery.IncludeProperties = "Branch,Status,CustomerExchange,CustomerExchange.Customer,CustomerExchange.Car"; var sort = new FieldSortCriteria <Quotation>(sortName, (SortDirection)Enum.Parse(typeof(SortDirection), sortDirection)); searchQuery.AddSortCriteria(sort); foreach (var searchCondition in searchTerm) { searchQuery.AddFilter(searchCondition); } var pagedQuotations = _unitOfWork.GetRepository <Quotation>().Search(searchQuery); return new DataResult <IPagedListResult <DTOQuotation> > { Errors = new List <ErrorDescriber>(), Target = GetDefaultPagingDtoResult <DTOQuotation, Quotation>(_mapper, pagedQuotations) }; }, cancellationToken)); }
public Task <DataResult <IPagedListResult <DTOQuotationItem> > > GetQuotationItemsWithPagingAsync(string quotationId, string searchTerm, string sortName, string sortDirection, int pageIndex, int pageSize, CancellationToken cancellationToken = default(CancellationToken)) { return(Task.Run(() => { var searchQuery = new SearchQuery <QuotationItem>(); searchQuery.CurrentPage = pageIndex; searchQuery.Skip = pageSize * (pageIndex - 1); searchQuery.Take = pageSize; searchQuery.IncludeProperties = "Quotation,Accessary,Accessary.Unit,Service,Service.Unit,Employee"; var sort = new FieldSortCriteria <QuotationItem>(sortName, (SortDirection)Enum.Parse(typeof(SortDirection), sortDirection)); searchQuery.AddSortCriteria(sort); searchQuery.AddFilter(x => x.QuotationId == quotationId); if (!string.IsNullOrEmpty(searchTerm)) { searchQuery.AddFilter(x => x.Service.Name.Contains(searchTerm) || x.Accessary.Name.Contains(searchTerm)); } var pagedQuotationItems = _unitOfWork.GetRepository <QuotationItem>().Search(searchQuery); return new DataResult <IPagedListResult <DTOQuotationItem> > { Errors = new List <ErrorDescriber>(), Target = GetDefaultPagingDtoResult <DTOQuotationItem, QuotationItem>(_mapper, pagedQuotationItems) }; }, cancellationToken)); }
public Task <DataResult <IPagedListResult <DTOPaySlipBill> > > GetPayslipsWithPagingAsync(string searchTerm, string sortName, string sortDirection, int pageIndex, int pageSize, CancellationToken cancellationToken = default(CancellationToken)) { return(Task.Run(() => { var searchQuery = new SearchQuery <PaySlipBill>(); searchQuery.CurrentPage = pageIndex; searchQuery.Skip = pageSize * (pageIndex - 1); searchQuery.Take = pageSize; searchQuery.IncludeProperties = "Quotation"; var sort = new FieldSortCriteria <PaySlipBill>(sortName, (SortDirection)Enum.Parse(typeof(SortDirection), sortDirection)); searchQuery.AddSortCriteria(sort); if (!string.IsNullOrEmpty(searchTerm)) { searchQuery.AddFilter(x => x.Id == int.Parse(searchTerm) || x.QuotationId == searchTerm); } var pagedPayslips = paySlipBillRepository.Search(searchQuery); return new DataResult <IPagedListResult <DTOPaySlipBill> > { Errors = new List <ErrorDescriber>(), Target = GetDefaultPagingDtoResult <DTOPaySlipBill, PaySlipBill>(_mapper, pagedPayslips) }; }, cancellationToken)); }