public PagedResultDto <PODto> GetPOs(POFilter input)
        {
            var query = poRepository.GetAll().Where(x => !x.IsDelete);

            if (input.POID != 0)
            {
                query = query.Where(x => x.POID == input.POID);
            }

            if (input.CreateDay != null)
            {
                query = query.Where(x => x.CreateDay.DayOfYear >= input.CreateDay.DayOfYear);
            }

            if (input.OrderName != null)
            {
                query = query.Where(x => x.OrderName.ToLower().Contains(input.OrderName.ToLower()));
            }

            if (input.ContractID != 0)
            {
                query = query.Where(x => x.ContractID == input.ContractID);
            }

            var totalCount = query.Count();

            // sort
            if (!string.IsNullOrWhiteSpace(input.Sorting))
            {
                query = query.OrderBy(input.Sorting);
            }

            // paging
            var items = query.PageBy(input).ToList();

            // result
            return(new PagedResultDto <PODto>(
                       totalCount,
                       items.Select(item => ObjectMapper.Map <PODto>(item)).ToList()));
        }
Exemple #2
0
 public PagedResultDto <PODto> GetPOByFilter(POFilter filter)
 {
     return(poAppService.GetPOs(filter));
 }