public PagedResultDto <VendorTypeDto> GetVendorTypes(VendorTypeFilter input)
        {
            var query = vendortypeRepository.GetAll().Where(x => !x.IsDelete);

            // filter by typeID
            if (input.Code != null)
            {
                query = query.Where(x => x.Code.ToLower().Contains(input.Code));
            }

            // filter by name
            if (input.Name != null)
            {
                query = query.Where(x => x.Name.ToLower().Contains(input.Name));
            }

            // filter by isActive
            if (input.IsActive != null)
            {
                if (input.IsActive.Equals(("True").ToLower()))
                {
                    query = query.Where(x => x.IsActive == true);
                }
                else if (input.IsActive.Equals(("False").ToLower()))
                {
                    query = query.Where(x => x.IsActive == false);
                }
            }

            var totalCount = query.Count();

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

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

            // result
            return(new PagedResultDto <VendorTypeDto>(
                       totalCount,
                       items.Select(item => ObjectMapper.Map <VendorTypeDto>(item)).ToList()));
        }
Beispiel #2
0
 public PagedResultDto <VendorTypeDto> GetVendorTypesByFilter(VendorTypeFilter vendortypeFilter)
 {
     return(vendortypeAppService.GetVendorTypes(vendortypeFilter));
 }