public PolicyListModel PreparePolicyListModel(PolicySearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } var direction = searchModel.Sort.Equals("asc") ? false : true; var policies = _customerService.GetPoicies(searchQuery: searchModel.Query, sortField: searchModel.Field, pageIndex: searchModel.Page - 1, pageSize: searchModel.Perpage, orderByDec: direction); var model = new PolicyListModel() { Data = policies.Select(p => { var policyModel = new PolicyModel() { PolicyNumber = p.PolicyNumber, PolicyFromDate = p.PolicyFromDate, PolicyToDate = p.PolicyToDate, PolicyType = p.PolicyType, ClientType = p.ClientType, ClassCode = p.ClassCode, ClassName = p.ClassName, NetworkCode = p.NetworkCode, NetworkName = p.NetworkName, TPAID = p.TPAID, TPAName = p.TPAName, ClientName = p.ClientName, PolicySponsorName = p.PolicySponsorName, BrokerName = p.BrokerName, SponsorID = p.SponsorID, Iqama_NationalID = p.Iqama_NationalID, MemberName = p.MemberName, MobileNumber = p.MobileNumber, Gender = p.Gender, MaritalStatus = p.MaritalStatus, DOBGreg = p.DOBGreg, DOBHijri = p.DOBHijri, IDExpiryDate = p.IDExpiryDate, OccupationCode = p.OccupationCode, OccupationDesc = p.OccupationDesc, NationalityCode = p.NationalityCode, NationalityDesc = p.NationalityDesc, MemberTypeCode = p.MemberTypeCode, MemberTypeDesc = p.MemberTypeDesc, RelationCode = p.RelationCode, RelationDesc = p.RelationDesc, EmployeeNo = p.EmployeeNo, MemberStatus = p.MemberStatus, TushfaMemberNo = p.TushfaMemberNo, CardNo = p.CardNo, EnrollmentDate = p.EnrollmentDate, MigrationDate = p.MigrationDate, DeletionDate = p.DeletionDate, AdditionPremium = p.AdditionPremium, MigrationPremium = p.MigrationPremium, DeletionPremium = p.DeletionPremium, CCHIStatus = p.CCHIStatus, CCHIUploadDate = p.CCHIUploadDate, CCHIErrorMessage = p.CCHIErrorMessage, DeletionReason = p.DeletionReason, CityCode = p.CityCode, CityDesc = p.CityDesc, RegionCode = p.RegionCode, RegionDesc = p.RegionDesc, TransDate = p.TransDate }; return(policyModel); }), }; model.Meta = new PageListMetadata { Page = policies.PageIndex + 1, Perpage = policies.PageSize, Pages = policies.TotalPages, Sort = searchModel.Sort, Field = searchModel.Field, Total = policies.TotalCount }; return(model); }
public IActionResult PolicyList() { try { var formCollection = Request.Form; var searchModel = new PolicySearchModel(); if (!string.IsNullOrWhiteSpace(formCollection["pagination[page]"])) { searchModel.Page = int.Parse(formCollection["pagination[page]"]); } if (!string.IsNullOrWhiteSpace(formCollection["pagination[pages]"])) { searchModel.Pages = int.Parse(formCollection["pagination[pages]"]); } if (!string.IsNullOrWhiteSpace(formCollection["pagination[perpage]"])) { var pageSize = int.Parse(formCollection["pagination[perpage]"]); searchModel.Perpage = pageSize > 0 ? pageSize : 10; } if (!string.IsNullOrWhiteSpace(formCollection["pagination[total]"])) { searchModel.Total = int.Parse(formCollection["pagination[total]"]); } if (!string.IsNullOrWhiteSpace(formCollection["sort[field]"])) { searchModel.Field = formCollection["sort[field]"]; } if (!string.IsNullOrWhiteSpace(formCollection["sort[sort]"])) { searchModel.Sort = formCollection["sort[sort]"]; } if (!string.IsNullOrWhiteSpace(formCollection["query[policySearch]"])) { searchModel.Query = formCollection["query[policySearch]"]; } var model = _listFactory.PreparePolicyListModel(searchModel); return(Json(model)); } catch (Exception ex) { } return(Json(new PolicyListModel())); }