public List <CollectionSheetSearchItemDTO> GetAllSearchCollectionInPage(SearchCollectionSheetDTO input) { var query = QueryAndApplyFilterSearchCollectionSheet(input); var resultExport = query.ToList(); return(TakeIndexForListExport(resultExport)); }
private void ValidateRequest_Search(SearchCollectionSheetDTO input) { if (input == null) { throw new UserException(ErrorStatusReturn.REQUEST_NULL); } input.TransactionCode = string.IsNullOrEmpty(input.TransactionCode) ? input.TransactionCode : input.TransactionCode.Trim(); }
public ApiJsonResult ExportReportCollectionSheet([FromBody] SearchCollectionSheetDTO sheet) { try { return(new ApiJsonResult(true, _collectionSheetService.FilterAndCreateReportSearchCollectionSheet(sheet))); } catch (Exception ex) { return(ProcessException(ex)); } }
public FileToDownloadDTO FilterAndCreateReportSearchCollectionSheet(SearchCollectionSheetDTO input) { List <CollectionSheetSearchItemDTO> listDataSearchRespone = GetAllSearchCollectionInPage(input); string fileName = "BÁO CÁO THỐNG KÊ DANH SÁCH TTTT.xlsx"; string filePath = CreateCollectionCarInfoReport(listDataSearchRespone, fileName); byte[] fileData = System.IO.File.ReadAllBytes(filePath); System.IO.File.Delete(filePath); return(new FileToDownloadDTO { FileName = fileName, FileData = fileData }); }
public ApiJsonResult Search([FromBody] SearchCollectionSheetDTO sheet) { try { ValidateRequest_Search(sheet); return(new ApiJsonResult(true, _collectionSheetService.GetAllWithFillter(sheet))); } catch (Exception ex) { return(ProcessException(ex)); } }
public PaginationResultModel <CollectionSheetSearchItemDTO> GetAllWithFillter(SearchCollectionSheetDTO input) { var query = QueryAndApplyFilterSearchCollectionSheet(input); PaginationResultModel <CollectionSheetSearchItemDTO> resultSearch = new PaginationResultModel <CollectionSheetSearchItemDTO>(); var resultPaging = PaginationHelper.GetItemsWithPagination(query, input.PageIndex, input.PageSize); return(TakeIndexForPaging(input, resultPaging)); }
private IQueryable <CollectionSheetSearchItemDTO> QueryAndApplyFilterSearchCollectionSheet(SearchCollectionSheetDTO filter) { IQueryable <InfoCustomer> customerQuery = _infoCustomerRepository.FindAllAsNoTracking(); IQueryable <CollectionSheet> collectionSheetQuery = _collectionSheetRepository.FindAllAsNoTracking(); var query = from collectionSheet in collectionSheetQuery.Where(x => x.Status == Data.Enums.Status.Active) join customer in customerQuery on collectionSheet.InfoCustomerId equals customer.Id into CollectionWithCustomer from item in CollectionWithCustomer.DefaultIfEmpty() select new CollectionSheetSearchItemDTO() { CollectionSheetId = collectionSheet.Id, TransactionCode = collectionSheet.TransactionCode, TransactionDate = collectionSheet.TransactionDate, OrgId = collectionSheet.OrgId, OrgCode = collectionSheet.OrgCode, OrgName = collectionSheet.OrgName, CustomerName = item.CustomerName, CustomerPhone = item.CustomerPhone, BriefType = collectionSheet.BriefType, BriefStatus = collectionSheet.BriefStatus, UserCreateCode = collectionSheet.UserCreateCode, UserCreateName = collectionSheet.UserCreateName, CollectorCode = collectionSheet.CollectorCode, CollectorName = collectionSheet.CollectorName, CreatedDate = collectionSheet.CreatedDate, CreatedById = collectionSheet.CreatedBy, CollectorId = collectionSheet.CollectorId }; query = FilterConditionSearchInfoCustomer(query, filter); query = query.OrderByDescending(x => x.CreatedDate); return(query); }
private PaginationResultModel <CollectionSheetSearchItemDTO> TakeIndexForPaging(SearchCollectionSheetDTO input, PaginationResultModel <CollectionSheetSearchItemDTO> paging) { if (paging != null && paging.Items.Any()) { if (input.PageIndex >= paging.NumberOfPage) { input.PageIndex = 0; } int no = input.PageSize * (input.PageIndex); foreach (CollectionSheetSearchItemDTO item in paging.Items) { no++; item.No = no; } } return(paging); }
private IQueryable <CollectionSheetSearchItemDTO> FilterByTransactionCode(IQueryable <CollectionSheetSearchItemDTO> query, SearchCollectionSheetDTO filter) { if (!string.IsNullOrEmpty(filter.TransactionCode)) { query = query.Where(n => n.TransactionCode.Contains(filter.TransactionCode)); } return(query); }
private IQueryable <CollectionSheetSearchItemDTO> FilterByVnpostOrgContainWhenNotOrgManger(IQueryable <CollectionSheetSearchItemDTO> query, SearchCollectionSheetDTO filter) { return(query.Where(x => x.CollectorId == filter.CurrentUserId || x.CreatedById == filter.CurrentUserId)); }
private IQueryable <CollectionSheetSearchItemDTO> FilterByVnpostOrgContainWhenIsOrgManger(IQueryable <CollectionSheetSearchItemDTO> query, SearchCollectionSheetDTO filter) { var listIdOrg = filter.OrgItems.Select(x => x.Id).ToList(); if (filter.OrgId != 0) { query = query.Where(n => n.OrgId == filter.OrgId); } else { query = query.Where(n => listIdOrg.Contains(n.OrgId)); } return(query); }
private IQueryable <CollectionSheetSearchItemDTO> FilterByVnpostOrgContain(IQueryable <CollectionSheetSearchItemDTO> query, SearchCollectionSheetDTO filter) { if (filter.IsOrgManager) { return(FilterByVnpostOrgContainWhenIsOrgManger(query, filter)); } else { return(FilterByVnpostOrgContainWhenNotOrgManger(query, filter)); } }
private IQueryable <CollectionSheetSearchItemDTO> FilterByDateTransaction(IQueryable <CollectionSheetSearchItemDTO> query, SearchCollectionSheetDTO filter) { if (filter.FromDate.HasValue) { query = query.Where(s => s.TransactionDate.Value >= filter.FromDate.Value); } if (filter.ToDate.HasValue) { query = query.Where(s => s.TransactionDate.Value < filter.ToDate.Value.AddDays(1)); } return(query); }
private IQueryable <CollectionSheetSearchItemDTO> FilterConditionSearchInfoCustomer(IQueryable <CollectionSheetSearchItemDTO> query, SearchCollectionSheetDTO filter) { query = FilterByVnpostOrgContain(query, filter); query = FilterByDateTransaction(query, filter); query = FilterByTransactionCode(query, filter); return(query); }