public async Task <List <MerchantAddressDetail_MerchantDTO> > SingleListMerchant([FromBody] MerchantAddressDetail_MerchantFilterDTO MerchantAddressDetail_MerchantFilterDTO)
        {
            MerchantFilter MerchantFilter = new MerchantFilter();

            MerchantFilter.Skip      = 0;
            MerchantFilter.Take      = 20;
            MerchantFilter.OrderBy   = MerchantOrder.Id;
            MerchantFilter.OrderType = OrderType.ASC;
            MerchantFilter.Selects   = MerchantSelect.ALL;

            MerchantFilter.Id = new LongFilter {
                Equal = MerchantAddressDetail_MerchantFilterDTO.Id
            };
            MerchantFilter.Name = new StringFilter {
                StartsWith = MerchantAddressDetail_MerchantFilterDTO.Name
            };
            MerchantFilter.Phone = new StringFilter {
                StartsWith = MerchantAddressDetail_MerchantFilterDTO.Phone
            };
            MerchantFilter.ContactPerson = new StringFilter {
                StartsWith = MerchantAddressDetail_MerchantFilterDTO.ContactPerson
            };
            MerchantFilter.Address = new StringFilter {
                StartsWith = MerchantAddressDetail_MerchantFilterDTO.Address
            };

            List <Merchant> Merchants = await MerchantService.List(MerchantFilter);

            List <MerchantAddressDetail_MerchantDTO> MerchantAddressDetail_MerchantDTOs = Merchants
                                                                                          .Select(x => new MerchantAddressDetail_MerchantDTO(x)).ToList();

            return(MerchantAddressDetail_MerchantDTOs);
        }
Beispiel #2
0
        public async Task <int> Count(MerchantFilter filter)
        {
            IQueryable <MerchantDAO> MerchantDAOs = DataContext.Merchant;

            MerchantDAOs = DynamicFilter(MerchantDAOs, filter);
            return(await MerchantDAOs.CountAsync());
        }
 public PagedActionResult <Merchant> Search([FromUri] MerchantFilter filter)
 {
     return(SafeGetPagedData <Merchant>((result) =>
     {
         var totalCount = 0;
         var data = MerchantService.Search(filter, out totalCount);
         result.Data = data;
         result.TotalCount = totalCount;
     }));
 }
        public async Task <int> Count([FromBody] MerchantMaster_MerchantFilterDTO MerchantMaster_MerchantFilterDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new MessageException(ModelState);
            }

            MerchantFilter MerchantFilter = ConvertFilterDTOToFilterEntity(MerchantMaster_MerchantFilterDTO);

            return(await MerchantService.Count(MerchantFilter));
        }
        public async Task <List <MerchantMaster_MerchantDTO> > List([FromBody] MerchantMaster_MerchantFilterDTO MerchantMaster_MerchantFilterDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new MessageException(ModelState);
            }

            MerchantFilter MerchantFilter = ConvertFilterDTOToFilterEntity(MerchantMaster_MerchantFilterDTO);

            List <Merchant> Merchants = await MerchantService.List(MerchantFilter);

            return(Merchants.Select(c => new MerchantMaster_MerchantDTO(c)).ToList());
        }
Beispiel #6
0
        public async Task <List <Merchant> > List(MerchantFilter filter)
        {
            if (filter == null)
            {
                return(new List <Merchant>());
            }
            IQueryable <MerchantDAO> MerchantDAOs = DataContext.Merchant;

            MerchantDAOs = DynamicFilter(MerchantDAOs, filter);
            MerchantDAOs = DynamicOrder(MerchantDAOs, filter);
            var Merchants = await DynamicSelect(MerchantDAOs, filter);

            return(Merchants);
        }
Beispiel #7
0
        public async Task <bool> ValidateId(Merchant Merchant)
        {
            MerchantFilter MerchantFilter = new MerchantFilter
            {
                Skip = 0,
                Take = 10,
                Id   = new LongFilter {
                    Equal = Merchant.Id
                },
                Selects = MerchantSelect.Id
            };

            int count = await UOW.MerchantRepository.Count(MerchantFilter);

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

            return(count == 1);
        }
        public MerchantFilter ConvertFilterDTOToFilterEntity(MerchantMaster_MerchantFilterDTO MerchantMaster_MerchantFilterDTO)
        {
            MerchantFilter MerchantFilter = new MerchantFilter();

            MerchantFilter.Selects = MerchantSelect.ALL;

            MerchantFilter.Id = new LongFilter {
                Equal = MerchantMaster_MerchantFilterDTO.Id
            };
            MerchantFilter.Name = new StringFilter {
                StartsWith = MerchantMaster_MerchantFilterDTO.Name
            };
            MerchantFilter.Phone = new StringFilter {
                StartsWith = MerchantMaster_MerchantFilterDTO.Phone
            };
            MerchantFilter.ContactPerson = new StringFilter {
                StartsWith = MerchantMaster_MerchantFilterDTO.ContactPerson
            };
            MerchantFilter.Address = new StringFilter {
                StartsWith = MerchantMaster_MerchantFilterDTO.Address
            };
            return(MerchantFilter);
        }
Beispiel #9
0
        public IEnumerable <Merchant> Search(MerchantFilter filter, out int totalCount)
        {
            var queryable = Repository.GetQueryable(false);

            if (filter.ID.HasValue)
            {
                queryable = queryable.Where(t => t.ID == filter.ID.Value);
            }
            if (!string.IsNullOrEmpty(filter.Code))
            {
                queryable = queryable.Where(t => t.Code.Contains(filter.Code));
            }
            if (!string.IsNullOrEmpty(filter.Name))
            {
                queryable = queryable.Where(t => t.Name.Contains(filter.Name));
            }
            totalCount = queryable.Count();
            if (filter.Start.HasValue && filter.Limit.HasValue)
            {
                queryable = queryable.OrderBy(t => t.CreatedDate).Skip(filter.Start.Value).Take(filter.Limit.Value);
            }
            return(queryable.ToArray());
        }
Beispiel #10
0
        private IQueryable <MerchantDAO> DynamicOrder(IQueryable <MerchantDAO> query, MerchantFilter filter)
        {
            switch (filter.OrderType)
            {
            case OrderType.ASC:
                switch (filter.OrderBy)
                {
                case MerchantOrder.Id:
                    query = query.OrderBy(q => q.Id);
                    break;

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

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

                case MerchantOrder.ContactPerson:
                    query = query.OrderBy(q => q.ContactPerson);
                    break;

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

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

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

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

                case MerchantOrder.ContactPerson:
                    query = query.OrderByDescending(q => q.ContactPerson);
                    break;

                case MerchantOrder.Address:
                    query = query.OrderByDescending(q => q.Address);
                    break;
                }
                break;
            }
            query = query.Skip(filter.Skip).Take(filter.Take);
            return(query);
        }
Beispiel #11
0
        private IQueryable <MerchantDAO> DynamicFilter(IQueryable <MerchantDAO> query, MerchantFilter 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.ContactPerson != null)
            {
                query = query.Where(q => q.ContactPerson, filter.ContactPerson);
            }
            if (filter.Address != null)
            {
                query = query.Where(q => q.Address, filter.Address);
            }
            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);
        }
Beispiel #12
0
        private async Task <List <Merchant> > DynamicSelect(IQueryable <MerchantDAO> query, MerchantFilter filter)
        {
            List <Merchant> Merchants = await query.Select(q => new Merchant()
            {
                Id            = filter.Selects.Contains(MerchantSelect.Id) ? q.Id : default(long),
                Name          = filter.Selects.Contains(MerchantSelect.Name) ? q.Name : default(string),
                Phone         = filter.Selects.Contains(MerchantSelect.Phone) ? q.Phone : default(string),
                ContactPerson = filter.Selects.Contains(MerchantSelect.ContactPerson) ? q.ContactPerson : default(string),
                Address       = filter.Selects.Contains(MerchantSelect.Address) ? q.Address : default(string),
            }).ToListAsync();

            return(Merchants);
        }
        public async Task <List <Merchant> > List(MerchantFilter MerchantFilter)
        {
            List <Merchant> Merchants = await UOW.MerchantRepository.List(MerchantFilter);

            return(Merchants);
        }
        public async Task <int> Count(MerchantFilter MerchantFilter)
        {
            int result = await UOW.MerchantRepository.Count(MerchantFilter);

            return(result);
        }