public async Task <HttpResponseMessage> GetFloatingInfo([FromUri] GetFloatingInfoRequest request)
        {
            _logInfo.Info(string.Format("获取浮动告知单请求串:{0}", Request.RequestUri));
            var viewModel = new GetFloatingInfoViewModel();

            try
            {
                if (!ModelState.IsValid)
                {
                    viewModel.BusinessStatus = -10000;
                    string msg = ModelState.Values.Where(item => item.Errors.Count == 1).Aggregate(string.Empty, (current, item) => current + (item.Errors[0].ErrorMessage + ";   "));
                    viewModel.StatusMessage = "输入参数错误," + msg;
                    return(viewModel.ResponseToJson());
                }
                if (!request.LicenseNo.IsValidLicenseno())
                {
                    viewModel.BusinessStatus = -10000;
                    viewModel.StatusMessage  = "参数校验错误,请检查车牌号";
                    return(viewModel.ResponseToJson());
                }
                GetFloatingInfoResponse response = await _getFloatingInfoService.GetFloatingInfo(request, Request.GetQueryNameValuePairs());

                if (response.Status == HttpStatusCode.BadRequest || response.Status == HttpStatusCode.Forbidden)
                {
                    viewModel.BusinessStatus = -10001;
                    viewModel.StatusMessage  = "参数校验错误,请检查您的校验码";
                    return(viewModel.ResponseToJson());
                }
                if (response.Status == HttpStatusCode.ExpectationFailed)
                {
                    viewModel.BusinessStatus = -10003;
                    viewModel.StatusMessage  = "服务器发生异常";
                    return(viewModel.ResponseToJson());
                }
                //模型转换
                viewModel = response.JSFloatingNotificationPrintList.ConverToViewModel();
                if (response.JSFloatingNotificationPrintList == null)
                {
                    viewModel.BusinessStatus = 0;
                    viewModel.StatusMessage  = "无数据";
                }
                else
                {
                    viewModel.BusinessStatus = 1;
                    viewModel.StatusMessage  = "获取成功";
                }
            }
            catch (Exception ex)
            {
                viewModel.BusinessStatus = -100003;
                viewModel.StatusMessage  = "服务发生异常";
                _logError.Info("发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException + " 请求对象:" + Request.RequestUri);
            }
            return(viewModel.ResponseToJson());
        }
Esempio n. 2
0
        public static GetFloatingInfoViewModel ConverToViewModel(this JSFloatingNotificationPrintListResponseMain model)
        {
            GetFloatingInfoViewModel viewModel = new GetFloatingInfoViewModel();

            if (model == null)
            {
                return(new GetFloatingInfoViewModel()
                {
                    CarInfo = new CarInfo(),
                    BizFloatingInfo = new BizFloatingInfo(),
                    ForceFloatingInfo = new ForceFloatingInfo()
                });
            }
            CarInfo carInfo = new CarInfo()
            {
                CModelNmeJY = "",
                CarType     = "",
                CPlateNo    = "",
                CPlateTyp   = "",
                CEngNo      = "",
                CFrmNo      = "",
                CRegOwner   = ""
            };
            VhlVOBase baseCar = null;

            #region 交强险模型
            var forceModel = model.JQFloatingNotificationList;
            if (forceModel != null)
            {
                //初始化
                var forcebase   = forceModel.JQBaseVO;
                var forceclaim  = forceModel.JQClaimList;
                var forcerate   = forceModel.JQprmCoef;
                var forcecvrgvo = forceModel.JQCvrgList != null?forceModel.JQCvrgList.FirstOrDefault() : new CvrgVO();

                var tax = forceModel.VsTax;
                if (forceModel.JQVhlVO != null)
                {
                    baseCar = forceModel.JQVhlVO;
                }
                //交换信息
                ForceBaseInfo forceBaseInfo = new ForceBaseInfo()
                {
                    CPlyNo          = "",
                    CAppName        = "",
                    TSrcInsrncBgnTm = "",
                    TSrcInsrncEndTm = "",
                    TLastStartDate  = "",
                    TLaseEndDate    = "",
                    NPrm            = "",
                    DNPrm           = "",
                    FloatRatio      = "",
                    NBefPrm         = ""
                };
                if (forcebase != null)
                {
                    forceBaseInfo.CPlyNo          = forcebase.CPlyNo ?? "";
                    forceBaseInfo.CAppName        = forcebase.CAppName ?? "";
                    forceBaseInfo.TSrcInsrncBgnTm = forcebase.TSrcInsrncBgnTm ?? "";
                    forceBaseInfo.TSrcInsrncEndTm = forcebase.TSrcInsrncEndTm ?? "";
                    forceBaseInfo.TLastStartDate  = forcebase.TLastStartDate ?? "";
                    forceBaseInfo.TLaseEndDate    = forcebase.TLaseEndDate ?? "";
                    forceBaseInfo.NPrm            = forcebase.NPrm ?? "";
                    forceBaseInfo.DNPrm           = forcebase.DNPrm ?? "";
                }
                if (forcerate != null)
                {
                    forceBaseInfo.FloatRatio = forcerate.FloatRatio ?? "";
                }
                if (forcecvrgvo != null)
                {
                    forceBaseInfo.NBefPrm = forcecvrgvo.nBefPrm ?? "";
                }
                TaxInfo taxInfo = new TaxInfo()
                {
                    TTaxEffBgnTm   = "",
                    TTaxEffEndTm   = "",
                    NTaxableAmt    = "",
                    NOverdueAmt    = "",
                    TaxSumAmount   = "",
                    TaxSumAmountUp = ""
                };
                if (tax != null)
                {
                    taxInfo = new TaxInfo()
                    {
                        TTaxEffBgnTm   = tax.TTaxEffBgnTm ?? "",
                        TTaxEffEndTm   = tax.TTaxEffEndTm ?? "",
                        NTaxableAmt    = tax.NTaxableAmt ?? "",
                        NOverdueAmt    = tax.NOverdueAmt ?? "",
                        TaxSumAmount   = tax.TaxSumAmount ?? "",
                        TaxSumAmountUp = tax.TaxSumAmountUp ?? ""
                    };
                }
                //赋值
                ForceFloatingInfo forceFloatingInfo = new ForceFloatingInfo();
                forceFloatingInfo.ForceBaseInfo = forceBaseInfo;
                forceFloatingInfo.ForceClaim    = forceclaim ?? new List <ClaimVo>();
                forceFloatingInfo.TaxInfo       = taxInfo;
                viewModel.ForceFloatingInfo     = forceFloatingInfo;
            }
            #endregion
            #region 商业险模型
            var bizModel = model.SYFloatingNotificationList;
            if (bizModel != null)
            {
                //初始化
                var bizbase  = bizModel.SYBaseVO;
                var bizquote = bizModel.SYCvrgList;
                var bizrate  = bizModel.SYprmCoef;
                if (baseCar == null && bizModel.SYVhlVO != null)
                {
                    baseCar = bizModel.SYVhlVO;
                }
                //交换信息
                BizBaseInfo bizBaseInfo = new BizBaseInfo()
                {
                    CPlyNo          = "",
                    CAppName        = "",
                    TSrcInsrncBgnTm = "",
                    TSrcInsrncEndTm = "",
                    TLastStartDate  = "",
                    TLaseEndDate    = "",
                    NPrm            = "",
                    DNPrm           = "",
                    FloatRatio      = "",
                    CAgoClmRecQuick = "",
                    NAutoCheCoef    = "",
                    NAutoChaCoef    = "",
                    NResvNum        = "",
                    NIrrRatio       = ""
                };
                if (bizbase != null)
                {
                    bizBaseInfo.CPlyNo          = bizbase.CPlyNo ?? "";
                    bizBaseInfo.CAppName        = bizbase.CAppName ?? "";
                    bizBaseInfo.TSrcInsrncBgnTm = bizbase.TSrcInsrncBgnTm ?? "";
                    bizBaseInfo.TSrcInsrncEndTm = bizbase.TSrcInsrncEndTm ?? "";
                    bizBaseInfo.TLastStartDate  = bizbase.TLastStartDate ?? "";
                    bizBaseInfo.TLaseEndDate    = bizbase.TLaseEndDate ?? "";
                    bizBaseInfo.NPrm            = bizbase.NPrm ?? "";
                    bizBaseInfo.DNPrm           = bizbase.DNPrm ?? "";
                }
                if (bizrate != null)
                {
                    bizBaseInfo.FloatRatio      = bizrate.FloatRatio ?? "";
                    bizBaseInfo.CAgoClmRecQuick = bizrate.cAgoClmRecQuick ?? "";
                    bizBaseInfo.NAutoCheCoef    = bizrate.nAutoCheCoef ?? "";
                    bizBaseInfo.NAutoChaCoef    = bizrate.nAutoChaCoef ?? "";
                    bizBaseInfo.NResvNum        = bizrate.nResvNum ?? "";
                    bizBaseInfo.NIrrRatio       = bizrate.nIrrRatio ?? "";
                }
                //赋值
                BizFloatingInfo bizFloatingInfo = new BizFloatingInfo();
                bizFloatingInfo.BizBaseInfo    = bizBaseInfo;
                bizFloatingInfo.BizQuoteResult = bizquote ?? new List <CvrgVO>();
                viewModel.BizFloatingInfo      = bizFloatingInfo;
            }
            #endregion
            if (baseCar != null)
            {
                carInfo = new CarInfo()
                {
                    CModelNmeJY = baseCar.CModelNmeJY ?? "",
                    CarType     = baseCar.CarType ?? "",
                    CPlateNo    = baseCar.CPlateNo ?? "",
                    CPlateTyp   = baseCar.CPlateTyp ?? "",
                    CEngNo      = baseCar.CEngNo ?? "",
                    CFrmNo      = baseCar.CFrmNo ?? "",
                    CRegOwner   = baseCar.CRegOwner ?? "",
                };
            }
            viewModel.CarInfo = carInfo;
            return(viewModel);
        }