public async Task <ActionResult <List <DirectSalesOrder_StoreStatusDTO> > > FilterListStoreStatus([FromBody] DirectSalesOrder_StoreStatusFilterDTO DirectSalesOrder_StoreStatusFilterDTO) { if (UnAuthorization) { return(Forbid()); } if (!ModelState.IsValid) { throw new BindException(ModelState); } StoreStatusFilter StoreStatusFilter = new StoreStatusFilter(); StoreStatusFilter.Skip = 0; StoreStatusFilter.Take = 20; StoreStatusFilter.OrderBy = StoreStatusOrder.Id; StoreStatusFilter.OrderType = OrderType.ASC; StoreStatusFilter.Selects = StoreStatusSelect.ALL; StoreStatusFilter.Id = DirectSalesOrder_StoreStatusFilterDTO.Id; StoreStatusFilter.Code = DirectSalesOrder_StoreStatusFilterDTO.Code; StoreStatusFilter.Name = DirectSalesOrder_StoreStatusFilterDTO.Name; List <StoreStatus> StoreStatuses = await StoreStatusService.List(StoreStatusFilter); List <DirectSalesOrder_StoreStatusDTO> DirectSalesOrder_StoreStatusDTOs = StoreStatuses .Select(x => new DirectSalesOrder_StoreStatusDTO(x)).ToList(); return(DirectSalesOrder_StoreStatusDTOs); }
public async Task <int> Count(StoreStatusFilter filter) { IQueryable <StoreStatusDAO> StoreStatuses = DataContext.StoreStatus.AsNoTracking(); StoreStatuses = DynamicFilter(StoreStatuses, filter); return(await StoreStatuses.CountAsync()); }
public async Task <List <StoreStatus> > List(StoreStatusFilter filter) { if (filter == null) { return(new List <StoreStatus>()); } IQueryable <StoreStatusDAO> StoreStatusDAOs = DataContext.StoreStatus.AsNoTracking(); StoreStatusDAOs = DynamicFilter(StoreStatusDAOs, filter); StoreStatusDAOs = DynamicOrder(StoreStatusDAOs, filter); List <StoreStatus> StoreStatuses = await DynamicSelect(StoreStatusDAOs, filter); return(StoreStatuses); }
public async Task <List <StoreStatus> > List(StoreStatusFilter StoreStatusFilter) { try { List <StoreStatus> StoreStatuss = await UOW.StoreStatusRepository.List(StoreStatusFilter); return(StoreStatuss); } catch (Exception ex) { await Logging.CreateSystemLog(ex, nameof(StoreStatusService)); } return(null); }
public async Task <int> Count(StoreStatusFilter StoreStatusFilter) { try { int result = await UOW.StoreStatusRepository.Count(StoreStatusFilter); return(result); } catch (Exception ex) { await Logging.CreateSystemLog(ex, nameof(StoreStatusService)); } return(0); }
public async Task <bool> ValidateId(StoreStatus StoreStatus) { StoreStatusFilter StoreStatusFilter = new StoreStatusFilter { Skip = 0, Take = 10, Id = new IdFilter { Equal = StoreStatus.Id }, Selects = StoreStatusSelect.Id }; int count = await UOW.StoreStatusRepository.Count(StoreStatusFilter); if (count == 0) { StoreStatus.AddError(nameof(StoreStatusValidator), nameof(StoreStatus.Id), ErrorCode.IdNotExisted); } return(count == 1); }
public async Task <List <Store_StoreStatusDTO> > SingleListStoreStatus([FromBody] Store_StoreStatusFilterDTO Store_StoreStatusFilterDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } StoreStatusFilter StoreStatusFilter = new StoreStatusFilter(); StoreStatusFilter.Skip = 0; StoreStatusFilter.Take = int.MaxValue; StoreStatusFilter.Take = 20; StoreStatusFilter.OrderBy = StoreStatusOrder.Id; StoreStatusFilter.OrderType = OrderType.ASC; StoreStatusFilter.Selects = StoreStatusSelect.ALL; List <StoreStatus> StoreStatuses = await StoreStatusService.List(StoreStatusFilter); List <Store_StoreStatusDTO> Store_StoreStatusDTOs = StoreStatuses .Select(x => new Store_StoreStatusDTO(x)).ToList(); return(Store_StoreStatusDTOs); }
private IQueryable <StoreStatusDAO> DynamicOrder(IQueryable <StoreStatusDAO> query, StoreStatusFilter filter) { switch (filter.OrderType) { case OrderType.ASC: switch (filter.OrderBy) { case StoreStatusOrder.Id: query = query.OrderBy(q => q.Id); break; case StoreStatusOrder.Code: query = query.OrderBy(q => q.Code); break; case StoreStatusOrder.Name: query = query.OrderBy(q => q.Name); break; } break; case OrderType.DESC: switch (filter.OrderBy) { case StoreStatusOrder.Id: query = query.OrderByDescending(q => q.Id); break; case StoreStatusOrder.Code: query = query.OrderByDescending(q => q.Code); break; case StoreStatusOrder.Name: query = query.OrderByDescending(q => q.Name); break; } break; } query = query.Skip(filter.Skip).Take(filter.Take); return(query); }
private IQueryable <StoreStatusDAO> OrFilter(IQueryable <StoreStatusDAO> query, StoreStatusFilter filter) { if (filter.OrFilter == null || filter.OrFilter.Count == 0) { return(query); } IQueryable <StoreStatusDAO> initQuery = query.Where(q => false); foreach (StoreStatusFilter StoreStatusFilter in filter.OrFilter) { IQueryable <StoreStatusDAO> queryable = query; if (StoreStatusFilter.Id != null && StoreStatusFilter.Id.HasValue) { queryable = queryable.Where(q => q.Id, StoreStatusFilter.Id); } if (StoreStatusFilter.Code != null && StoreStatusFilter.Code.HasValue) { queryable = queryable.Where(q => q.Code, StoreStatusFilter.Code); } if (StoreStatusFilter.Name != null && StoreStatusFilter.Name.HasValue) { queryable = queryable.Where(q => q.Name, StoreStatusFilter.Name); } initQuery = initQuery.Union(queryable); } return(initQuery); }
private IQueryable <StoreStatusDAO> DynamicFilter(IQueryable <StoreStatusDAO> query, StoreStatusFilter filter) { if (filter == null) { return(query.Where(q => false)); } 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); } query = OrFilter(query, filter); return(query); }
private async Task <List <StoreStatus> > DynamicSelect(IQueryable <StoreStatusDAO> query, StoreStatusFilter filter) { List <StoreStatus> StoreStatuses = await query.Select(q => new StoreStatus() { Id = filter.Selects.Contains(StoreStatusSelect.Id) ? q.Id : default(long), Code = filter.Selects.Contains(StoreStatusSelect.Code) ? q.Code : default(string), Name = filter.Selects.Contains(StoreStatusSelect.Name) ? q.Name : default(string), }).ToListAsync(); return(StoreStatuses); }