public WarehouseFilter ConvertFilterDTOToFilterEntity(WarehouseMaster_WarehouseFilterDTO WarehouseMaster_WarehouseFilterDTO)
        {
            WarehouseFilter WarehouseFilter = new WarehouseFilter();

            WarehouseFilter.Selects = WarehouseSelect.ALL;

            WarehouseFilter.Id = new LongFilter {
                Equal = WarehouseMaster_WarehouseFilterDTO.Id
            };
            WarehouseFilter.Name = new StringFilter {
                StartsWith = WarehouseMaster_WarehouseFilterDTO.Name
            };
            WarehouseFilter.Phone = new StringFilter {
                StartsWith = WarehouseMaster_WarehouseFilterDTO.Phone
            };
            WarehouseFilter.Email = new StringFilter {
                StartsWith = WarehouseMaster_WarehouseFilterDTO.Email
            };
            WarehouseFilter.Address = new StringFilter {
                StartsWith = WarehouseMaster_WarehouseFilterDTO.Address
            };
            WarehouseFilter.PartnerId = new LongFilter {
                Equal = WarehouseMaster_WarehouseFilterDTO.PartnerId
            };
            return(WarehouseFilter);
        }
Example #2
0
        public async Task <int> Count(WarehouseFilter filter)
        {
            IQueryable <WarehouseDAO> Warehouses = DataContext.Warehouse.AsNoTracking();

            Warehouses = DynamicFilter(Warehouses, filter);
            return(await Warehouses.CountAsync());
        }
        /// <summary>
        /// 8.2.2. Метод для поиска информации о местах ответственного хранения по фильтру
        /// </summary>
        /// <param name="filter">Фильтр для поиска мест осуществления деятельности</param>
        /// <param name="startFrom">Индекс первой записи в списке возвращаемых мест</param>
        /// <param name="count">Количество записей в списке возвращаемых мест</param>
        /// <returns>Список мест ответственного хранения</returns>
        public EntriesResponse <WarehouseEntry> GetWarehouses(WarehouseFilter filter, int startFrom, int count)
        {
            RequestRate(0.5); // 61

            return(Post <EntriesResponse <WarehouseEntry> >("reestr/warehouses/filter", new
            {
                filter = filter ?? new WarehouseFilter(),
                start_from = startFrom,
                count = count,
            }));
        }
        public async Task <int> Count([FromBody] WarehouseMaster_WarehouseFilterDTO WarehouseMaster_WarehouseFilterDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new MessageException(ModelState);
            }

            WarehouseFilter WarehouseFilter = ConvertFilterDTOToFilterEntity(WarehouseMaster_WarehouseFilterDTO);

            return(await WarehouseService.Count(WarehouseFilter));
        }
Example #5
0
        public ActionResult GetListGridJsonPagination(string filterStr, Pagination pagination, string sidx = " F_EnCode ", string sord = "desc")
        {
            if (string.IsNullOrEmpty(sidx))
            {
                sidx = " F_EnCode ";
            }
            PagerInfo pager = GetPageInfo(pagination);
            List <AdvSearchEntity>   advSearchList = new List <AdvSearchEntity>();
            List <Mst_WarehouseInfo> lista;

            if (string.IsNullOrEmpty(filterStr))
            {
                lista = baseBLL.FindWithPager(GetKeywordCondition("", filterStr), pager, sidx, sord.ToLower() == "desc");
            }
            else
            {
                WarehouseFilter filter = JsonAppHelper.ToObject <WarehouseFilter>(filterStr);

                if (!string.IsNullOrEmpty(filter.F_EnCode))
                {
                    advSearchList.Add(new AdvSearchEntity
                    {
                        F_condition   = "And",
                        F_fvalue      = filter.F_EnCode,
                        F_searchFiled = "F_EnCode",
                        F_type        = "2"
                    });
                }
                if (!string.IsNullOrEmpty(filter.F_FullName))
                {
                    advSearchList.Add(new AdvSearchEntity
                    {
                        F_condition   = "And",
                        F_fvalue      = filter.F_FullName,
                        F_searchFiled = "F_FullName",
                        F_type        = "2"
                    });
                }
                if (!string.IsNullOrEmpty(filter.F_EnabledMark))
                {
                    advSearchList.Add(new AdvSearchEntity
                    {
                        F_condition   = "And",
                        F_fvalue      = filter.F_EnabledMark,
                        F_searchFiled = "F_EnabledMark",
                        F_type        = "0"
                    });
                }
                lista = BLLFactory <Mst_Warehouse> .Instance.FindWithPager(GetAdvCondition(advSearchList), pager, sidx, sord.ToLower().Equals("desc"));
            }

            return(GetPagerContent <Mst_WarehouseInfo>(lista, pager));
        }
        public async Task <List <WarehouseMaster_WarehouseDTO> > List([FromBody] WarehouseMaster_WarehouseFilterDTO WarehouseMaster_WarehouseFilterDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new MessageException(ModelState);
            }

            WarehouseFilter WarehouseFilter = ConvertFilterDTOToFilterEntity(WarehouseMaster_WarehouseFilterDTO);

            List <Warehouse> Warehouses = await WarehouseService.List(WarehouseFilter);

            return(Warehouses.Select(c => new WarehouseMaster_WarehouseDTO(c)).ToList());
        }
Example #7
0
        private IQueryable <WarehouseDAO> OrFilter(IQueryable <WarehouseDAO> query, WarehouseFilter filter)
        {
            if (filter.OrFilter == null || filter.OrFilter.Count == 0)
            {
                return(query);
            }
            IQueryable <WarehouseDAO> initQuery = query.Where(q => false);

            foreach (WarehouseFilter WarehouseFilter in filter.OrFilter)
            {
                IQueryable <WarehouseDAO> queryable = query;
                if (WarehouseFilter.Id != null && WarehouseFilter.Id.HasValue)
                {
                    queryable = queryable.Where(q => q.Id, WarehouseFilter.Id);
                }
                if (WarehouseFilter.Code != null && WarehouseFilter.Code.HasValue)
                {
                    queryable = queryable.Where(q => q.Code, WarehouseFilter.Code);
                }
                if (WarehouseFilter.Name != null && WarehouseFilter.Name.HasValue)
                {
                    queryable = queryable.Where(q => q.Name, WarehouseFilter.Name);
                }
                if (WarehouseFilter.Address != null && WarehouseFilter.Address.HasValue)
                {
                    queryable = queryable.Where(q => q.Address, WarehouseFilter.Address);
                }
                if (WarehouseFilter.OrganizationId != null && WarehouseFilter.OrganizationId.HasValue)
                {
                    queryable = queryable.Where(q => q.OrganizationId, WarehouseFilter.OrganizationId);
                }
                if (WarehouseFilter.ProvinceId != null && WarehouseFilter.ProvinceId.HasValue)
                {
                    queryable = queryable.Where(q => q.ProvinceId.HasValue).Where(q => q.ProvinceId, WarehouseFilter.ProvinceId);
                }
                if (WarehouseFilter.DistrictId != null && WarehouseFilter.DistrictId.HasValue)
                {
                    queryable = queryable.Where(q => q.DistrictId.HasValue).Where(q => q.DistrictId, WarehouseFilter.DistrictId);
                }
                if (WarehouseFilter.WardId != null && WarehouseFilter.WardId.HasValue)
                {
                    queryable = queryable.Where(q => q.WardId.HasValue).Where(q => q.WardId, WarehouseFilter.WardId);
                }
                if (WarehouseFilter.StatusId != null && WarehouseFilter.StatusId.HasValue)
                {
                    queryable = queryable.Where(q => q.StatusId, WarehouseFilter.StatusId);
                }
                initQuery = initQuery.Union(queryable);
            }
            return(initQuery);
        }
Example #8
0
        public async Task <List <Warehouse> > List(WarehouseFilter filter)
        {
            if (filter == null)
            {
                return(new List <Warehouse>());
            }
            IQueryable <WarehouseDAO> WarehouseDAOs = DataContext.Warehouse.AsNoTracking();

            WarehouseDAOs = DynamicFilter(WarehouseDAOs, filter);
            WarehouseDAOs = DynamicOrder(WarehouseDAOs, filter);
            List <Warehouse> Warehouses = await DynamicSelect(WarehouseDAOs, filter);

            return(Warehouses);
        }
Example #9
0
        public WarehouseModel GetWareHouses(WarehouseFilter filter)
        {
            string searchTextQuery = "";
            string subquery        = "";
            string filterQuery     = "";
            string CountTextQuery  = "";

            if (!string.IsNullOrWhiteSpace(filter.SearchText))
            {
                searchTextQuery = " c.WarehouseName like '%" + filter.SearchText + "%' or c.Address like '%" + filter.SearchText + "%' and ";
                CountTextQuery  = " where c.WarehouseName like '%" + filter.SearchText + "%' or c.Address like '%" + filter.SearchText + "%' and ";
            }

            string rawQuery = @"  
                                declare @pagesize int
                                declare @pageno int 
                                set @pagesize = " + filter.UnitPerPage + @"
                                set @pageno = " + filter.PageNumber + @"
                                declare @pagestart int
                                set @pagestart=(@pageno-1)* @pagesize  
                                select  TOP (@pagesize) c.* FROM WareHouses c
                           
                                where {1}{2}  c.Id NOT IN(Select TOP (@pagestart) Id from WareHouses {0})
                                {0}
                               ";

            string CountQuery = string.Format("Select * from WareHouses c {0}", CountTextQuery);

            rawQuery = string.Format(rawQuery, subquery, searchTextQuery, filterQuery);
            int TotalCount            = 0;
            List <WareHouse> dsResult = new List <WareHouse>();

            try
            {
                var ctx = DataContext.getInstance();
                dsResult   = ctx.WareHouse.SqlQuery(rawQuery).ToList();
                TotalCount = ctx.WareHouse.SqlQuery(CountQuery).ToList().Count;
            }
            catch (Exception ex)
            {
            }

            WarehouseModel warehouseModel = new WarehouseModel();

            warehouseModel.WareHouseList = dsResult;

            //context.Dispose();
            warehouseModel.TotalCount = TotalCount;
            return(warehouseModel);
        }
        public async Task <bool> ValidateId(Warehouse Warehouse)
        {
            WarehouseFilter WarehouseFilter = new WarehouseFilter
            {
                Skip = 0,
                Take = 10,
                Id   = new LongFilter {
                    Equal = Warehouse.Id
                },
                Selects = WarehouseSelect.Id
            };

            int count = await UOW.WarehouseRepository.Count(WarehouseFilter);

            if (count == 0)
            {
                Warehouse.AddError(nameof(WarehouseValidator), nameof(Warehouse.Id), ErrorCode.IdNotExisted);
            }

            return(count == 1);
        }
Example #11
0
        public ActionResult LoadWarehouseList(WarehouseFilter filter)
        {
            if (filter.PageNumber == 0)
            {
                filter.PageNumber = 1;
            }
            filter.UnitPerPage = 12;

            if (filter.PageNumber == null || filter.PageNumber == 0)
            {
                filter.PageNumber = 1;
            }
            WarehouseModel warehouseList = wareHouseFacade.GetWareHouses(filter);

            ViewBag.OutOfNumber = warehouseList.TotalCount;
            if ((int)ViewBag.OutOfNumber == 0)
            {
                ViewBag.Message = "No Content Available !";
            }
            if (@ViewBag.OutOfNumber == 0)
            {
                filter.PageNumber = 1;
            }
            ViewBag.PageNumber = filter.PageNumber;

            if ((int)ViewBag.PageNumber * filter.UnitPerPage > (int)ViewBag.OutOfNumber)
            {
                ViewBag.CurrentNumber = (int)ViewBag.OutOfNumber;
            }
            else
            {
                ViewBag.CurrentNumber = (int)ViewBag.PageNumber * filter.UnitPerPage;
            }

            ViewBag.PageCount = Math.Ceiling((double)ViewBag.OutOfNumber / filter.UnitPerPage.Value);
            return(View(warehouseList.WareHouseList));
        }
        public async Task <List <StockDetail_WarehouseDTO> > SingleListWarehouse([FromBody] StockDetail_WarehouseFilterDTO StockDetail_WarehouseFilterDTO)
        {
            WarehouseFilter WarehouseFilter = new WarehouseFilter();

            WarehouseFilter.Skip      = 0;
            WarehouseFilter.Take      = 20;
            WarehouseFilter.OrderBy   = WarehouseOrder.Id;
            WarehouseFilter.OrderType = OrderType.ASC;
            WarehouseFilter.Selects   = WarehouseSelect.ALL;

            WarehouseFilter.Id = new LongFilter {
                Equal = StockDetail_WarehouseFilterDTO.Id
            };
            WarehouseFilter.Name = new StringFilter {
                StartsWith = StockDetail_WarehouseFilterDTO.Name
            };
            WarehouseFilter.Phone = new StringFilter {
                StartsWith = StockDetail_WarehouseFilterDTO.Phone
            };
            WarehouseFilter.Email = new StringFilter {
                StartsWith = StockDetail_WarehouseFilterDTO.Email
            };
            WarehouseFilter.Address = new StringFilter {
                StartsWith = StockDetail_WarehouseFilterDTO.Address
            };
            WarehouseFilter.PartnerId = new LongFilter {
                Equal = StockDetail_WarehouseFilterDTO.PartnerId
            };

            List <Warehouse> Warehouses = await WarehouseService.List(WarehouseFilter);

            List <StockDetail_WarehouseDTO> StockDetail_WarehouseDTOs = Warehouses
                                                                        .Select(x => new StockDetail_WarehouseDTO(x)).ToList();

            return(StockDetail_WarehouseDTOs);
        }
Example #13
0
        public async Task <List <Warehouse> > List(WarehouseFilter WarehouseFilter)
        {
            List <Warehouse> Warehouses = await UOW.WarehouseRepository.List(WarehouseFilter);

            return(Warehouses);
        }
Example #14
0
        public async Task <int> Count(WarehouseFilter WarehouseFilter)
        {
            int result = await UOW.WarehouseRepository.Count(WarehouseFilter);

            return(result);
        }
Example #15
0
        private async Task <List <Warehouse> > DynamicSelect(IQueryable <WarehouseDAO> query, WarehouseFilter filter)
        {
            List <Warehouse> Warehouses = await query.Select(q => new Warehouse()
            {
                Id        = filter.Selects.Contains(WarehouseSelect.Id) ? q.Id : default(long),
                Name      = filter.Selects.Contains(WarehouseSelect.Name) ? q.Name : default(string),
                Phone     = filter.Selects.Contains(WarehouseSelect.Phone) ? q.Phone : default(string),
                Email     = filter.Selects.Contains(WarehouseSelect.Email) ? q.Email : default(string),
                Address   = filter.Selects.Contains(WarehouseSelect.Address) ? q.Address : default(string),
                PartnerId = filter.Selects.Contains(WarehouseSelect.Partner) ? q.PartnerId : default(long),
                Partner   = filter.Selects.Contains(WarehouseSelect.Partner) && q.Partner != null ? new Merchant
                {
                    Id            = q.Partner.Id,
                    Name          = q.Partner.Name,
                    Phone         = q.Partner.Phone,
                    ContactPerson = q.Partner.ContactPerson,
                    Address       = q.Partner.Address,
                } : null,
            }).ToListAsync();

            return(Warehouses);
        }
 public WarehouseModel GetWareHouses(WarehouseFilter filter)
 {
     return(wareHouseRepository.GetWareHouses(filter));
 }
Example #17
0
        private IQueryable <WarehouseDAO> DynamicFilter(IQueryable <WarehouseDAO> query, WarehouseFilter filter)
        {
            if (filter == null)
            {
                return(query.Where(q => false));
            }

            if (filter.Id != null)
            {
                query = query.Where(q => q.Id, filter.Id);
            }
            if (filter.Name != null)
            {
                query = query.Where(q => q.Name, filter.Name);
            }
            if (filter.Phone != null)
            {
                query = query.Where(q => q.Phone, filter.Phone);
            }
            if (filter.Email != null)
            {
                query = query.Where(q => q.Email, filter.Email);
            }
            if (filter.Address != null)
            {
                query = query.Where(q => q.Address, filter.Address);
            }
            if (filter.PartnerId != null)
            {
                query = query.Where(q => q.PartnerId, filter.PartnerId);
            }
            if (filter.Ids != null)
            {
                query = query.Where(q => filter.Ids.Contains(q.Id));
            }
            if (filter.ExceptIds != null)
            {
                query = query.Where(q => !filter.ExceptIds.Contains(q.Id));
            }
            return(query);
        }
Example #18
0
        private IQueryable <WarehouseDAO> DynamicOrder(IQueryable <WarehouseDAO> query, WarehouseFilter filter)
        {
            switch (filter.OrderType)
            {
            case OrderType.ASC:
                switch (filter.OrderBy)
                {
                case WarehouseOrder.Id:
                    query = query.OrderBy(q => q.Id);
                    break;

                case WarehouseOrder.Name:
                    query = query.OrderBy(q => q.Name);
                    break;

                case WarehouseOrder.Phone:
                    query = query.OrderBy(q => q.Phone);
                    break;

                case WarehouseOrder.Email:
                    query = query.OrderBy(q => q.Email);
                    break;

                case WarehouseOrder.Address:
                    query = query.OrderBy(q => q.Address);
                    break;

                case WarehouseOrder.Partner:
                    query = query.OrderBy(q => q.Partner.Id);
                    break;
                }
                break;

            case OrderType.DESC:
                switch (filter.OrderBy)
                {
                case WarehouseOrder.Id:
                    query = query.OrderByDescending(q => q.Id);
                    break;

                case WarehouseOrder.Name:
                    query = query.OrderByDescending(q => q.Name);
                    break;

                case WarehouseOrder.Phone:
                    query = query.OrderByDescending(q => q.Phone);
                    break;

                case WarehouseOrder.Email:
                    query = query.OrderByDescending(q => q.Email);
                    break;

                case WarehouseOrder.Address:
                    query = query.OrderByDescending(q => q.Address);
                    break;

                case WarehouseOrder.Partner:
                    query = query.OrderByDescending(q => q.Partner.Id);
                    break;
                }
                break;
            }
            query = query.Skip(filter.Skip).Take(filter.Take);
            return(query);
        }
Example #19
0
 private IQueryable <WarehouseDAO> DynamicFilter(IQueryable <WarehouseDAO> query, WarehouseFilter filter)
 {
     if (filter == null)
     {
         return(query.Where(q => false));
     }
     query = query.Where(q => !q.DeletedAt.HasValue);
     if (filter.Id != null && filter.Id.HasValue)
     {
         query = query.Where(q => q.Id, filter.Id);
     }
     if (filter.Code != null && filter.Code.HasValue)
     {
         query = query.Where(q => q.Code, filter.Code);
     }
     if (filter.Name != null && filter.Name.HasValue)
     {
         query = query.Where(q => q.Name, filter.Name);
     }
     if (filter.Address != null && filter.Address.HasValue)
     {
         query = query.Where(q => q.Address, filter.Address);
     }
     if (filter.OrganizationId != null && filter.OrganizationId.HasValue)
     {
         query = query.Where(q => q.OrganizationId, filter.OrganizationId);
     }
     if (filter.ProvinceId != null && filter.ProvinceId.HasValue)
     {
         query = query.Where(q => q.ProvinceId.HasValue).Where(q => q.ProvinceId, filter.ProvinceId);
     }
     if (filter.DistrictId != null && filter.DistrictId.HasValue)
     {
         query = query.Where(q => q.DistrictId.HasValue).Where(q => q.DistrictId, filter.DistrictId);
     }
     if (filter.WardId != null && filter.WardId.HasValue)
     {
         query = query.Where(q => q.WardId.HasValue).Where(q => q.WardId, filter.WardId);
     }
     if (filter.StatusId != null && filter.StatusId.HasValue)
     {
         query = query.Where(q => q.StatusId, filter.StatusId);
     }
     query = OrFilter(query, filter);
     return(query);
 }
Example #20
0
        private IQueryable <WarehouseDAO> DynamicOrder(IQueryable <WarehouseDAO> query, WarehouseFilter filter)
        {
            switch (filter.OrderType)
            {
            case OrderType.ASC:
                switch (filter.OrderBy)
                {
                case WarehouseOrder.Id:
                    query = query.OrderBy(q => q.Id);
                    break;

                case WarehouseOrder.Code:
                    query = query.OrderBy(q => q.Code);
                    break;

                case WarehouseOrder.Name:
                    query = query.OrderBy(q => q.Name);
                    break;

                case WarehouseOrder.Address:
                    query = query.OrderBy(q => q.Address);
                    break;

                case WarehouseOrder.Organization:
                    query = query.OrderBy(q => q.OrganizationId);
                    break;

                case WarehouseOrder.Province:
                    query = query.OrderBy(q => q.ProvinceId);
                    break;

                case WarehouseOrder.District:
                    query = query.OrderBy(q => q.DistrictId);
                    break;

                case WarehouseOrder.Ward:
                    query = query.OrderBy(q => q.WardId);
                    break;

                case WarehouseOrder.Status:
                    query = query.OrderBy(q => q.StatusId);
                    break;
                }
                break;

            case OrderType.DESC:
                switch (filter.OrderBy)
                {
                case WarehouseOrder.Id:
                    query = query.OrderByDescending(q => q.Id);
                    break;

                case WarehouseOrder.Code:
                    query = query.OrderByDescending(q => q.Code);
                    break;

                case WarehouseOrder.Name:
                    query = query.OrderByDescending(q => q.Name);
                    break;

                case WarehouseOrder.Address:
                    query = query.OrderByDescending(q => q.Address);
                    break;

                case WarehouseOrder.Organization:
                    query = query.OrderByDescending(q => q.OrganizationId);
                    break;

                case WarehouseOrder.Province:
                    query = query.OrderByDescending(q => q.ProvinceId);
                    break;

                case WarehouseOrder.District:
                    query = query.OrderByDescending(q => q.DistrictId);
                    break;

                case WarehouseOrder.Ward:
                    query = query.OrderByDescending(q => q.WardId);
                    break;

                case WarehouseOrder.Status:
                    query = query.OrderByDescending(q => q.StatusId);
                    break;
                }
                break;
            }
            query = query.Skip(filter.Skip).Take(filter.Take);
            return(query);
        }
Example #21
0
        private async Task <List <Warehouse> > DynamicSelect(IQueryable <WarehouseDAO> query, WarehouseFilter filter)
        {
            List <Warehouse> Warehouses = await query.Select(q => new Warehouse()
            {
                Id             = filter.Selects.Contains(WarehouseSelect.Id) ? q.Id : default(long),
                Code           = filter.Selects.Contains(WarehouseSelect.Code) ? q.Code : default(string),
                Name           = filter.Selects.Contains(WarehouseSelect.Name) ? q.Name : default(string),
                Address        = filter.Selects.Contains(WarehouseSelect.Address) ? q.Address : default(string),
                OrganizationId = filter.Selects.Contains(WarehouseSelect.Organization) ? q.OrganizationId : default(long),
                ProvinceId     = filter.Selects.Contains(WarehouseSelect.Province) ? q.ProvinceId : default(long?),
                DistrictId     = filter.Selects.Contains(WarehouseSelect.District) ? q.DistrictId : default(long?),
                WardId         = filter.Selects.Contains(WarehouseSelect.Ward) ? q.WardId : default(long?),
                StatusId       = filter.Selects.Contains(WarehouseSelect.Status) ? q.StatusId : default(long),
                District       = filter.Selects.Contains(WarehouseSelect.District) && q.District != null ? new District
                {
                    Id         = q.District.Id,
                    Code       = q.District.Code,
                    Name       = q.District.Name,
                    Priority   = q.District.Priority,
                    ProvinceId = q.District.ProvinceId,
                    StatusId   = q.District.StatusId,
                    RowId      = q.District.RowId,
                    Used       = q.District.Used,
                } : null,
                Organization = filter.Selects.Contains(WarehouseSelect.Organization) && q.Organization != null ? new Organization
                {
                    Id       = q.Organization.Id,
                    Code     = q.Organization.Code,
                    Name     = q.Organization.Name,
                    ParentId = q.Organization.ParentId,
                    Path     = q.Organization.Path,
                    Level    = q.Organization.Level,
                    StatusId = q.Organization.StatusId,
                    Phone    = q.Organization.Phone,
                    Email    = q.Organization.Email,
                    Address  = q.Organization.Address,
                    RowId    = q.Organization.RowId,
                    Used     = q.Organization.Used,
                } : null,
                Province = filter.Selects.Contains(WarehouseSelect.Province) && q.Province != null ? new Province
                {
                    Id       = q.Province.Id,
                    Code     = q.Province.Code,
                    Name     = q.Province.Name,
                    Priority = q.Province.Priority,
                    StatusId = q.Province.StatusId,
                    RowId    = q.Province.RowId,
                    Used     = q.Province.Used,
                } : null,
                Status = filter.Selects.Contains(WarehouseSelect.Status) && q.Status != null ? new Status
                {
                    Id   = q.Status.Id,
                    Code = q.Status.Code,
                    Name = q.Status.Name,
                } : null,
                Ward = filter.Selects.Contains(WarehouseSelect.Ward) && q.Ward != null ? new Ward
                {
                    Id         = q.Ward.Id,
                    Code       = q.Ward.Code,
                    Name       = q.Ward.Name,
                    Priority   = q.Ward.Priority,
                    DistrictId = q.Ward.DistrictId,
                    StatusId   = q.Ward.StatusId,
                    RowId      = q.Ward.RowId,
                    Used       = q.Ward.Used,
                } : null,
            }).ToListAsync();

            return(Warehouses);
        }