示例#1
0
        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()));
        }