public async Task <int> Count(EVoucherContentFilter filter)
        {
            IQueryable <EVoucherContentDAO> EVoucherContentDAOs = DataContext.EVoucherContent;

            EVoucherContentDAOs = DynamicFilter(EVoucherContentDAOs, filter);
            return(await EVoucherContentDAOs.CountAsync());
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }
Ejemplo n.º 10
0
        public async Task <List <EVoucherContent> > List(EVoucherContentFilter EVoucherContentFilter)
        {
            List <EVoucherContent> EVoucherContents = await UOW.EVoucherContentRepository.List(EVoucherContentFilter);

            return(EVoucherContents);
        }
Ejemplo n.º 11
0
        public async Task <int> Count(EVoucherContentFilter EVoucherContentFilter)
        {
            int result = await UOW.EVoucherContentRepository.Count(EVoucherContentFilter);

            return(result);
        }