public List <MerchantListItemModel> SearchWithFilter([FromUri] MerchantSearchCriteria searchCriteria)
        {
            var queryResult  = _merchantLogic.SearchMerchant(searchCriteria);
            var mappedResult = Mapper.Map <List <MerchantListItemModel> >(queryResult);

            return(mappedResult);
        }
        public IPagedList <Merchant> SearchMerchant(MerchantSearchCriteria searchCriteria, PagingFilter pagingFilter)
        {
            var query  = this.SearchMerchant(searchCriteria);
            var result = new PagedList <Merchant>(query, pagingFilter.PageIndex, pagingFilter.PageSize);

            return(result);
        }
        public static async Task <List <MerchantDetailModel> > SearchMerchant(MerchantSearchCriteria searchCriteria)
        {
            var merchants =
                await WebServiceUtils.Get <List <MerchantDetailModel> >("/api/merchant/search/with-filter", prams : searchCriteria);

            return(merchants);
        }
        public IList <MerchantListItemModel> SearchWithFilter([FromUri] MerchantSearchCriteria searchCriteria,
                                                              [FromUri] PagingFilter pagingFilter)
        {
            if (searchCriteria == null || pagingFilter == null)
            {
                return(new PagedList <MerchantListItemModel>(new List <MerchantListItemModel>(), 0, 0));
            }

            var queryResult = _merchantLogic.SearchMerchant(searchCriteria, pagingFilter);

            var mappedResult = queryResult.ToModelList <Merchant, MerchantListItemModel>();

            return(mappedResult);
        }
        private async void btnSearch_Click(object sender, EventArgs e)
        {
            var searchCriteria = new MerchantSearchCriteria()
            {
                Id       = txtId.Text,
                Name     = txtName.Text,
                Province = txtProvince.Text,
                District = txtDistrict.Text,
                IsActive = checkBox1.Checked
            };

            var merchants = await MerchantLogic.SearchMerchant(searchCriteria);

            var tableSource = merchants.ToDataTable();

            gridMerchant.DataSource = tableSource;
        }
        public IList <Merchant> SearchMerchant(MerchantSearchCriteria searchCriteria)
        {
            var query = _merchantRepository.TableNoTracking.IncludeTable(c => c.District).IncludeTable(c => c.Province);

            if (!string.IsNullOrEmpty(searchCriteria.Id))
            {
                query = query.Where(c => c.MerchantId.ToString() == searchCriteria.Id);
            }

            if (!string.IsNullOrEmpty(searchCriteria.Name))
            {
                query = query.Where(c => c.MerchantName == searchCriteria.Name);
            }

            if (!string.IsNullOrEmpty(searchCriteria.District))
            {
                query =
                    query.Where(
                        c =>
                        c.District.DistrictName.Contains(searchCriteria.District) ||
                        c.District.DistrictId.ToString() == searchCriteria.District);
            }

            if (!string.IsNullOrEmpty(searchCriteria.Province))
            {
                query =
                    query.Where(
                        c =>
                        c.Province.ProvinceName.Contains(searchCriteria.Province) ||
                        c.Province.ProvinceId.ToString() == searchCriteria.Province);
            }

            if (searchCriteria.IsActive.HasValue)
            {
                query = query.Where(c => c.IsActive == searchCriteria.IsActive.Value);
            }

            return(query.ToList());
        }