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