public async Task <int> Count(EVoucherContentFilter filter) { IQueryable <EVoucherContentDAO> EVoucherContentDAOs = DataContext.EVoucherContent; EVoucherContentDAOs = DynamicFilter(EVoucherContentDAOs, filter); return(await EVoucherContentDAOs.CountAsync()); }
public async Task <int> Count([FromBody] EVoucherContentMaster_EVoucherContentFilterDTO EVoucherContentMaster_EVoucherContentFilterDTO) { if (!ModelState.IsValid) { throw new MessageException(ModelState); } EVoucherContentFilter EVoucherContentFilter = ConvertFilterDTOToFilterEntity(EVoucherContentMaster_EVoucherContentFilterDTO); return(await EVoucherContentService.Count(EVoucherContentFilter)); }
public async Task <List <EVoucherContentMaster_EVoucherContentDTO> > List([FromBody] EVoucherContentMaster_EVoucherContentFilterDTO EVoucherContentMaster_EVoucherContentFilterDTO) { if (!ModelState.IsValid) { throw new MessageException(ModelState); } EVoucherContentFilter EVoucherContentFilter = ConvertFilterDTOToFilterEntity(EVoucherContentMaster_EVoucherContentFilterDTO); List <EVoucherContent> EVoucherContents = await EVoucherContentService.List(EVoucherContentFilter); return(EVoucherContents.Select(c => new EVoucherContentMaster_EVoucherContentDTO(c)).ToList()); }
public async Task <List <EVoucherContent> > List(EVoucherContentFilter filter) { if (filter == null) { return(new List <EVoucherContent>()); } IQueryable <EVoucherContentDAO> EVoucherContentDAOs = DataContext.EVoucherContent; EVoucherContentDAOs = DynamicFilter(EVoucherContentDAOs, filter); EVoucherContentDAOs = DynamicOrder(EVoucherContentDAOs, filter); var EVoucherContents = await DynamicSelect(EVoucherContentDAOs, filter); return(EVoucherContents); }
public async Task <bool> ValidateId(EVoucherContent EVoucherContent) { EVoucherContentFilter EVoucherContentFilter = new EVoucherContentFilter { Skip = 0, Take = 10, Id = new LongFilter { Equal = EVoucherContent.Id }, Selects = EVoucherContentSelect.Id }; int count = await UOW.EVoucherContentRepository.Count(EVoucherContentFilter); if (count == 0) { EVoucherContent.AddError(nameof(EVoucherContentValidator), nameof(EVoucherContent.Id), ErrorCode.IdNotExisted); } return(count == 1); }
public EVoucherContentFilter ConvertFilterDTOToFilterEntity(EVoucherContentMaster_EVoucherContentFilterDTO EVoucherContentMaster_EVoucherContentFilterDTO) { EVoucherContentFilter EVoucherContentFilter = new EVoucherContentFilter(); EVoucherContentFilter.Selects = EVoucherContentSelect.ALL; EVoucherContentFilter.Id = new LongFilter { Equal = EVoucherContentMaster_EVoucherContentFilterDTO.Id }; EVoucherContentFilter.EVourcherId = new LongFilter { Equal = EVoucherContentMaster_EVoucherContentFilterDTO.EVourcherId }; EVoucherContentFilter.UsedCode = new StringFilter { StartsWith = EVoucherContentMaster_EVoucherContentFilterDTO.UsedCode }; EVoucherContentFilter.MerchantCode = new StringFilter { StartsWith = EVoucherContentMaster_EVoucherContentFilterDTO.MerchantCode }; EVoucherContentFilter.UsedDate = new DateTimeFilter { Equal = EVoucherContentMaster_EVoucherContentFilterDTO.UsedDate }; return(EVoucherContentFilter); }
private IQueryable <EVoucherContentDAO> DynamicOrder(IQueryable <EVoucherContentDAO> query, EVoucherContentFilter filter) { switch (filter.OrderType) { case OrderType.ASC: switch (filter.OrderBy) { case EVoucherContentOrder.Id: query = query.OrderBy(q => q.Id); break; case EVoucherContentOrder.EVourcher: query = query.OrderBy(q => q.EVourcher.Id); break; case EVoucherContentOrder.UsedCode: query = query.OrderBy(q => q.UsedCode); break; case EVoucherContentOrder.MerchantCode: query = query.OrderBy(q => q.MerchantCode); break; case EVoucherContentOrder.UsedDate: query = query.OrderBy(q => q.UsedDate); break; } break; case OrderType.DESC: switch (filter.OrderBy) { case EVoucherContentOrder.Id: query = query.OrderByDescending(q => q.Id); break; case EVoucherContentOrder.EVourcher: query = query.OrderByDescending(q => q.EVourcher.Id); break; case EVoucherContentOrder.UsedCode: query = query.OrderByDescending(q => q.UsedCode); break; case EVoucherContentOrder.MerchantCode: query = query.OrderByDescending(q => q.MerchantCode); break; case EVoucherContentOrder.UsedDate: query = query.OrderByDescending(q => q.UsedDate); break; } break; } query = query.Skip(filter.Skip).Take(filter.Take); return(query); }
private IQueryable <EVoucherContentDAO> DynamicFilter(IQueryable <EVoucherContentDAO> query, EVoucherContentFilter filter) { if (filter == null) { return(query.Where(q => false)); } if (filter.Id != null) { query = query.Where(q => q.Id, filter.Id); } if (filter.EVourcherId != null) { query = query.Where(q => q.EVourcherId, filter.EVourcherId); } if (filter.UsedCode != null) { query = query.Where(q => q.UsedCode, filter.UsedCode); } if (filter.MerchantCode != null) { query = query.Where(q => q.MerchantCode, filter.MerchantCode); } if (filter.UsedDate != null) { query = query.Where(q => q.UsedDate, filter.UsedDate); } 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 <EVoucherContent> > DynamicSelect(IQueryable <EVoucherContentDAO> query, EVoucherContentFilter filter) { List <EVoucherContent> EVoucherContents = await query.Select(q => new EVoucherContent() { Id = filter.Selects.Contains(EVoucherContentSelect.Id) ? q.Id : default(long), EVourcherId = filter.Selects.Contains(EVoucherContentSelect.EVourcher) ? q.EVourcherId : default(long), UsedCode = filter.Selects.Contains(EVoucherContentSelect.UsedCode) ? q.UsedCode : default(string), MerchantCode = filter.Selects.Contains(EVoucherContentSelect.MerchantCode) ? q.MerchantCode : default(string), UsedDate = filter.Selects.Contains(EVoucherContentSelect.UsedDate) ? q.UsedDate : default(DateTime?), EVourcher = filter.Selects.Contains(EVoucherContentSelect.EVourcher) && q.EVourcher != null ? new EVoucher { Id = q.EVourcher.Id, CustomerId = q.EVourcher.CustomerId, ProductId = q.EVourcher.ProductId, Name = q.EVourcher.Name, Start = q.EVourcher.Start, End = q.EVourcher.End, Quantity = q.EVourcher.Quantity, } : null, }).ToListAsync(); return(EVoucherContents); }
public async Task <List <EVoucherContent> > List(EVoucherContentFilter EVoucherContentFilter) { List <EVoucherContent> EVoucherContents = await UOW.EVoucherContentRepository.List(EVoucherContentFilter); return(EVoucherContents); }
public async Task <int> Count(EVoucherContentFilter EVoucherContentFilter) { int result = await UOW.EVoucherContentRepository.Count(EVoucherContentFilter); return(result); }