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());
        }
        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);
        }