public EVoucherFilter ConvertFilterDTOToFilterEntity(EVoucherMaster_EVoucherFilterDTO EVoucherMaster_EVoucherFilterDTO) { EVoucherFilter EVoucherFilter = new EVoucherFilter(); EVoucherFilter.Selects = EVoucherSelect.ALL; EVoucherFilter.Id = new LongFilter { Equal = EVoucherMaster_EVoucherFilterDTO.Id }; EVoucherFilter.CustomerId = new LongFilter { Equal = EVoucherMaster_EVoucherFilterDTO.CustomerId }; EVoucherFilter.ProductId = new LongFilter { Equal = EVoucherMaster_EVoucherFilterDTO.ProductId }; EVoucherFilter.Name = new StringFilter { StartsWith = EVoucherMaster_EVoucherFilterDTO.Name }; EVoucherFilter.Start = new DateTimeFilter { Equal = EVoucherMaster_EVoucherFilterDTO.Start }; EVoucherFilter.End = new DateTimeFilter { Equal = EVoucherMaster_EVoucherFilterDTO.End }; EVoucherFilter.Quantity = new LongFilter { Equal = EVoucherMaster_EVoucherFilterDTO.Quantity }; return(EVoucherFilter); }
public async Task <int> Count(EVoucherFilter filter) { IQueryable <EVoucherDAO> EVoucherDAOs = DataContext.EVoucher; EVoucherDAOs = DynamicFilter(EVoucherDAOs, filter); return(await EVoucherDAOs.CountAsync()); }
public async Task <int> Count([FromBody] EVoucherMaster_EVoucherFilterDTO EVoucherMaster_EVoucherFilterDTO) { if (!ModelState.IsValid) { throw new MessageException(ModelState); } EVoucherFilter EVoucherFilter = ConvertFilterDTOToFilterEntity(EVoucherMaster_EVoucherFilterDTO); return(await EVoucherService.Count(EVoucherFilter)); }
public async Task <List <EVoucherMaster_EVoucherDTO> > List([FromBody] EVoucherMaster_EVoucherFilterDTO EVoucherMaster_EVoucherFilterDTO) { if (!ModelState.IsValid) { throw new MessageException(ModelState); } EVoucherFilter EVoucherFilter = ConvertFilterDTOToFilterEntity(EVoucherMaster_EVoucherFilterDTO); List <EVoucher> EVouchers = await EVoucherService.List(EVoucherFilter); return(EVouchers.Select(c => new EVoucherMaster_EVoucherDTO(c)).ToList()); }
public async Task <List <EVoucher> > List(EVoucherFilter filter) { if (filter == null) { return(new List <EVoucher>()); } IQueryable <EVoucherDAO> EVoucherDAOs = DataContext.EVoucher; EVoucherDAOs = DynamicFilter(EVoucherDAOs, filter); EVoucherDAOs = DynamicOrder(EVoucherDAOs, filter); var EVouchers = await DynamicSelect(EVoucherDAOs, filter); return(EVouchers); }
public async Task <bool> ValidateId(EVoucher EVoucher) { EVoucherFilter EVoucherFilter = new EVoucherFilter { Skip = 0, Take = 10, Id = new LongFilter { Equal = EVoucher.Id }, Selects = EVoucherSelect.Id }; int count = await UOW.EVoucherRepository.Count(EVoucherFilter); if (count == 0) { EVoucher.AddError(nameof(EVoucherValidator), nameof(EVoucher.Id), ErrorCode.IdNotExisted); } return(count == 1); }
public async Task <List <EVoucherContentMaster_EVoucherDTO> > SingleListEVoucher([FromBody] EVoucherContentMaster_EVoucherFilterDTO EVoucherContentMaster_EVoucherFilterDTO) { EVoucherFilter EVoucherFilter = new EVoucherFilter(); EVoucherFilter.Skip = 0; EVoucherFilter.Take = 20; EVoucherFilter.OrderBy = EVoucherOrder.Id; EVoucherFilter.OrderType = OrderType.ASC; EVoucherFilter.Selects = EVoucherSelect.ALL; EVoucherFilter.Id = new LongFilter { Equal = EVoucherContentMaster_EVoucherFilterDTO.Id }; EVoucherFilter.CustomerId = new LongFilter { Equal = EVoucherContentMaster_EVoucherFilterDTO.CustomerId }; EVoucherFilter.ProductId = new LongFilter { Equal = EVoucherContentMaster_EVoucherFilterDTO.ProductId }; EVoucherFilter.Name = new StringFilter { StartsWith = EVoucherContentMaster_EVoucherFilterDTO.Name }; EVoucherFilter.Start = new DateTimeFilter { Equal = EVoucherContentMaster_EVoucherFilterDTO.Start }; EVoucherFilter.End = new DateTimeFilter { Equal = EVoucherContentMaster_EVoucherFilterDTO.End }; EVoucherFilter.Quantity = new LongFilter { Equal = EVoucherContentMaster_EVoucherFilterDTO.Quantity }; List <EVoucher> EVouchers = await EVoucherService.List(EVoucherFilter); List <EVoucherContentMaster_EVoucherDTO> EVoucherContentMaster_EVoucherDTOs = EVouchers .Select(x => new EVoucherContentMaster_EVoucherDTO(x)).ToList(); return(EVoucherContentMaster_EVoucherDTOs); }
public async Task <List <EVoucher> > List(EVoucherFilter EVoucherFilter) { List <EVoucher> EVouchers = await UOW.EVoucherRepository.List(EVoucherFilter); return(EVouchers); }
public async Task <int> Count(EVoucherFilter EVoucherFilter) { int result = await UOW.EVoucherRepository.Count(EVoucherFilter); return(result); }
private IQueryable <EVoucherDAO> DynamicOrder(IQueryable <EVoucherDAO> query, EVoucherFilter filter) { switch (filter.OrderType) { case OrderType.ASC: switch (filter.OrderBy) { case EVoucherOrder.Id: query = query.OrderBy(q => q.Id); break; case EVoucherOrder.Customer: query = query.OrderBy(q => q.Customer.Id); break; case EVoucherOrder.Product: query = query.OrderBy(q => q.Product.Id); break; case EVoucherOrder.Name: query = query.OrderBy(q => q.Name); break; case EVoucherOrder.Start: query = query.OrderBy(q => q.Start); break; case EVoucherOrder.End: query = query.OrderBy(q => q.End); break; case EVoucherOrder.Quantity: query = query.OrderBy(q => q.Quantity); break; } break; case OrderType.DESC: switch (filter.OrderBy) { case EVoucherOrder.Id: query = query.OrderByDescending(q => q.Id); break; case EVoucherOrder.Customer: query = query.OrderByDescending(q => q.Customer.Id); break; case EVoucherOrder.Product: query = query.OrderByDescending(q => q.Product.Id); break; case EVoucherOrder.Name: query = query.OrderByDescending(q => q.Name); break; case EVoucherOrder.Start: query = query.OrderByDescending(q => q.Start); break; case EVoucherOrder.End: query = query.OrderByDescending(q => q.End); break; case EVoucherOrder.Quantity: query = query.OrderByDescending(q => q.Quantity); break; } break; } query = query.Skip(filter.Skip).Take(filter.Take); return(query); }
private IQueryable <EVoucherDAO> DynamicFilter(IQueryable <EVoucherDAO> query, EVoucherFilter filter) { if (filter == null) { return(query.Where(q => false)); } if (filter.Id != null) { query = query.Where(q => q.Id, filter.Id); } if (filter.CustomerId != null) { query = query.Where(q => q.CustomerId, filter.CustomerId); } if (filter.ProductId != null) { query = query.Where(q => q.ProductId, filter.ProductId); } if (filter.Name != null) { query = query.Where(q => q.Name, filter.Name); } if (filter.Start != null) { query = query.Where(q => q.Start, filter.Start); } if (filter.End != null) { query = query.Where(q => q.End, filter.End); } if (filter.Quantity != null) { query = query.Where(q => q.Quantity, filter.Quantity); } 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); }
private async Task <List <EVoucher> > DynamicSelect(IQueryable <EVoucherDAO> query, EVoucherFilter filter) { List <EVoucher> EVouchers = await query.Select(q => new EVoucher() { Id = filter.Selects.Contains(EVoucherSelect.Id) ? q.Id : default(long), CustomerId = filter.Selects.Contains(EVoucherSelect.Customer) ? q.CustomerId : default(long), ProductId = filter.Selects.Contains(EVoucherSelect.Product) ? q.ProductId : default(long?), Name = filter.Selects.Contains(EVoucherSelect.Name) ? q.Name : default(string), Start = filter.Selects.Contains(EVoucherSelect.Start) ? q.Start : default(DateTime), End = filter.Selects.Contains(EVoucherSelect.End) ? q.End : default(DateTime), Quantity = filter.Selects.Contains(EVoucherSelect.Quantity) ? q.Quantity : default(long), Customer = filter.Selects.Contains(EVoucherSelect.Customer) && q.Customer != null ? new Customer { Id = q.Customer.Id, Username = q.Customer.Username, DisplayName = q.Customer.DisplayName, PhoneNumber = q.Customer.PhoneNumber, Email = q.Customer.Email, } : null, Product = filter.Selects.Contains(EVoucherSelect.Product) && q.Product != null ? new Product { Id = q.Product.Id, Code = q.Product.Code, Name = q.Product.Name, Description = q.Product.Description, TypeId = q.Product.TypeId, StatusId = q.Product.StatusId, MerchantId = q.Product.MerchantId, CategoryId = q.Product.CategoryId, BrandId = q.Product.BrandId, WarrantyPolicy = q.Product.WarrantyPolicy, ReturnPolicy = q.Product.ReturnPolicy, ExpiredDate = q.Product.ExpiredDate, ConditionOfUse = q.Product.ConditionOfUse, MaximumPurchaseQuantity = q.Product.MaximumPurchaseQuantity, } : null, }).ToListAsync(); return(EVouchers); }