示例#1
0
        public ResponseModel Search([FromBody] Dictionary <string, object> formData)
        {
            var response = new ResponseModel();

            try
            {
                var    page          = int.Parse(formData["page"].ToString());
                var    pageSize      = int.Parse(formData["pageSize"].ToString());
                string customer_name = "";
                if (formData.Keys.Contains("customer_name") && !string.IsNullOrEmpty(Convert.ToString(formData["customer_name"])))
                {
                    customer_name = Convert.ToString(formData["customer_name"]);
                }
                string customer_email = "";
                if (formData.Keys.Contains("customer_email") && !string.IsNullOrEmpty(Convert.ToString(formData["customer_email"])))
                {
                    customer_email = Convert.ToString(formData["customer_email"]);
                }
                long total = 0;
                var  data  = _customerBusiness.Search(page, pageSize, out total, customer_name, customer_email);
                response.TotalItems = total;
                response.Data       = data;
                response.Page       = page;
                response.PageSize   = pageSize;
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(response);
        }
示例#2
0
        private ApiResponse <PagedListResponse <CustomerViewModel> > Search(SearchCustomerViewModel model)
        {
            var apiResp = new ApiResponse <PagedListResponse <CustomerViewModel> >
            {
                Type = ResponseType.Fail,
                Data = new PagedListResponse <CustomerViewModel>()
            };

            var request = new FilteredPagedListRequest <SearchCustomerCriteria>
            {
                FilterCriteria = new SearchCustomerCriteria
                {
                    AuthorizedPersonName = model.AuthorizedPersonName,
                    Title    = model.Title,
                    UserId   = GetUserId().Value,
                    SortType = model.GetSortType()
                },
                IncludeRecordsTotal = model.IncludeRecordsTotal,
                Limit  = model.Limit,
                Offset = model.Offset
            };

            var resp = _customerBusiness.Search(request);

            apiResp.Data.Items = resp.Items.Select(p => new CustomerViewModel
            {
                Id    = p.Id,
                Title = p.Title,
                AuthorizedPersonName = p.AuthorizedPersonName,
                CreatedAt            = p.CreatedAt,
                PhoneNumber          = p.PhoneNumber,
                DebtBalance          = p.DebtBalance,
                ReceivableBalance    = p.ReceivableBalance
            });

            apiResp.Data.RecordsTotal = resp.RecordsTotal;
            apiResp.Type = ResponseType.Success;

            return(apiResp);
        }