public static void Update(bx_quotereq_carinfo quotereq, int lastnewcar, IQuoteReqCarinfoRepository repository)
 {
     quotereq.is_lastnewcar = lastnewcar;
     //quotereq.is_public = request.IsPublic;
     quotereq.update_time = DateTime.Now;
     repository.Update(quotereq);
 }
        public static void Save(long buid, int lastnewcar, IQuoteReqCarinfoRepository repository)
        {
            var newquotereq = new bx_quotereq_carinfo
            {
                b_uid         = buid,
                is_lastnewcar = lastnewcar,
                //is_public=request.IsPublic,
                create_time = DateTime.Now,
                update_time = DateTime.Now
            };

            repository.Add(newquotereq);
        }
コード例 #3
0
        public int Update(bx_quotereq_carinfo item)
        {
            int count = 0;

            try
            {
                DataContextFactory.GetDataContext().bx_quotereq_carinfo.AddOrUpdate(item);
                count = DataContextFactory.GetDataContext().SaveChanges();
            }
            catch (Exception ex)
            {
                ILog logError = LogManager.GetLogger("ERROR");
                logError.Info("发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException);
            }
            return(count);
        }
コード例 #4
0
        public bx_quotereq_carinfo Add(bx_quotereq_carinfo item)
        {
            bx_quotereq_carinfo model = new bx_quotereq_carinfo();

            try
            {
                model = DataContextFactory.GetDataContext().bx_quotereq_carinfo.Add(item);
                DataContextFactory.GetDataContext().SaveChanges();
            }
            catch (Exception ex)
            {
                ILog logError = LogManager.GetLogger("ERROR");
                logError.Info("发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException);
            }

            return(model);
        }
コード例 #5
0
        public bj_baodanxinxi MapBaodanxinxi(CreateOrUpdateBjdInfoRequest request, bx_submit_info submitInfo,
                                             bx_quoteresult quoteresult, bx_savequote savequote, bx_userinfo userinfo, bx_quotereq_carinfo reqCarInfo, bx_preferential_activity activity)
        {
            var quotecarinfo = _quoteResultCarinfoRepository.Find(request.Buid, SourceGroupAlgorithm.GetOldSource(request.Source));
            var lastinfo     = _lastInfoRepository.GetByBuid(request.Buid);

            var    listClaim       = _userClaimRepository.FindList(request.Buid);
            int    lossBizCount    = listClaim.Where(n => n.pay_type == 0).ToList().Count;                  //商业出险次数
            double?lossBizAmount   = listClaim.Where(n => n.pay_type == 0).ToList().Sum(n => n.pay_amount); //商业出险金额
            int    lossForceCount  = listClaim.Where(n => n.pay_type == 1).ToList().Count;                  //交强出险次数
            double?lossForceAmount = listClaim.Where(n => n.pay_type == 1).ToList().Sum(n => n.pay_amount); //交强出险金额

            var baodanxinxi = new bj_baodanxinxi
            {
                //BEGIN 2017-09-06新增字段   20170909L 当前后期修改中去掉了代理人信息(电话等)
                AgentId = request.ChildAgent == 0 ? int.Parse(userinfo.Agent) : request.ChildAgent,
                //END

                //BEGIN 2017-09-09新增字段
                //activity_content = request.ActivityContent,
                activity_ids = activity.id.ToString(),
                //END

                // AgentId = int.Parse(userinfo.Agent),
                BizEndDate      = lastinfo == null ? DateTime.MinValue : Convert.ToDateTime(lastinfo.last_business_end_date), //submitinfo.biz_end_time,
                BizNum          = submitInfo.biz_tno,
                BizPrice        = quoteresult.BizTotal.HasValue ? quoteresult.BizTotal.Value : 0,
                BizRate         = double.Parse(submitInfo.biz_rate.HasValue ? submitInfo.biz_rate.Value.ToString() : "0"),
                BizStartDate    = quoteresult.BizStartDate.HasValue ? quoteresult.BizStartDate.Value : (reqCarInfo.biz_start_date.HasValue?reqCarInfo.biz_start_date.Value:DateTime.MinValue),//submitInfo.biz_start_time,
                CarBrandModel   = userinfo.MoldName,
                CarEngineNo     = userinfo.EngineNo,
                CarLicense      = userinfo.LicenseNo,
                CarOwner        = userinfo.LicenseOwner,
                CarRegisterDate = string.IsNullOrEmpty(userinfo.RegisterDate) ? DateTime.MinValue : DateTime.Parse(userinfo.RegisterDate),
                CarVIN          = userinfo.CarVIN,
                ChannelId       = submitInfo.channel_id,
                CompanyId       = submitInfo.source,
                CreateTime      = DateTime.Now,
                ForceEndDate    = lastinfo == null ? DateTime.MinValue : Convert.ToDateTime(lastinfo.last_end_date),                                                                                       //submitinfo.force_end_time,
                ForceStartDate  = quoteresult.ForceStartDate.HasValue ? quoteresult.ForceStartDate.Value : (reqCarInfo.force_start_date.HasValue ? reqCarInfo.force_start_date.Value : DateTime.MinValue), //submitInfo.force_start_time,
                ForceNum        = submitInfo.force_tno,
                ForcePrice      = (quoteresult.ForceTotal.HasValue ? quoteresult.ForceTotal.Value : 0),
                ForceRate       =
                    double.Parse(submitInfo.force_rate.HasValue ? submitInfo.force_rate.Value.ToString() : "0"),
                InsuredName     = userinfo.InsuredName,
                InsureIdNum     = userinfo.InsuredIdCard,
                ManualBizRate   = request.BizRate,
                ManualTaxRate   = request.TaxRate,
                ManualForceRate = request.ForceRate,
                ObjectId        = int.Parse(userinfo.Agent),
                ObjectType      = 1,
                SubmitStatus    = submitInfo.submit_status,
                TaxPrice        = quoteresult.TaxTotal.HasValue ? quoteresult.TaxTotal.Value : 0,

                //新增的4个费率
                NonClaimRate      = (double)(quoteresult.RateFactor1.HasValue ? quoteresult.RateFactor1 : 0),
                MultiDiscountRate = (double)(quoteresult.RateFactor2.HasValue ? quoteresult.RateFactor2 : 0),
                AvgMileRate       = (double)(quoteresult.RateFactor3.HasValue ? quoteresult.RateFactor3 : 0),
                RiskRate          = (double)(quoteresult.RateFactor4.HasValue ? quoteresult.RateFactor4 : 0),
                //总费率系数
                TotalRate = (quoteresult.NewRate.HasValue && quoteresult.NewRate != 0) ? quoteresult.NewRate.Value.ToString() : (quoteresult.TotalRate.HasValue ? quoteresult.TotalRate.Value.ToString() : "0"),
                //20170221新增增值税
                AddValueTaxRate = request.AddValueTaxRate,
                //载客//+载质量
                CarSeated = quotecarinfo != null ? (quotecarinfo.seat_count.HasValue ? quotecarinfo.seat_count.Value.ToString() : "0") : "0",
                //+ "/" + (quotecarinfo.car_equ_quality.HasValue ? quotecarinfo.car_equ_quality.Value.ToString() : "0")
                VehicleInfo        = VehicleInfoMapper.VehicleInfoMethod(quotecarinfo),
                JqVehicleClaimType = quotecarinfo != null ? quotecarinfo.JqVehicleClaimType : "",
                SyVehicleClaimType = quotecarinfo != null ? quotecarinfo.SyVehicleClaimType : "",
                loss_biz_count     = lossBizCount,
                loss_biz_amount    = lossBizAmount.HasValue ? lossBizAmount.Value : 0,
                loss_force_count   = lossForceCount,
                loss_force_amount  = lossForceAmount.HasValue ? lossForceAmount.Value : 0
            };

            return(baodanxinxi);
        }
コード例 #6
0
        public Tuple <bx_savequote, bx_quotereq_carinfo, List <bx_quoteresult>, List <bx_submit_info>, string, List <int> > GetModels(long buid, long groupspan)
        {
            List <bx_quote_history> listhistory = _quoteHistoryRepository.GetByBuid(buid, groupspan);
            List <int> listquote = new List <int>();

            //未取到历史记录默认赋值为空
            if (!listhistory.Any())
            {
                return(new Tuple <bx_savequote, bx_quotereq_carinfo, List <bx_quoteresult>, List <bx_submit_info>, string, List <int> >(null, null, null, null, "", listquote));
            }
            try
            {
                listquote = listhistory.Select(l => l.source.Value).ToList();//老的source值
                //取到历史记录开始循环
                bx_savequote          savequote       = new bx_savequote();
                bx_quotereq_carinfo   quotereq        = new bx_quotereq_carinfo();
                List <bx_quoteresult> listquoteresult = new List <bx_quoteresult>();
                bx_quoteresult        quoteresult     = new bx_quoteresult();
                List <bx_submit_info> listsubmitinfo  = new List <bx_submit_info>();
                bx_submit_info        submitinfo      = new bx_submit_info();
                //险种信息
                string strsavequote = listhistory.FirstOrDefault().savequote;
                savequote = !string.IsNullOrEmpty(strsavequote) && !strsavequote.Equals("null") ? strsavequote.FromJson <bx_savequote>() : null;
                //请求车辆信息
                string strquotereq = listhistory.FirstOrDefault().quotereq;
                quotereq = !string.IsNullOrEmpty(strquotereq) && !strquotereq.Equals("null") ? strquotereq.FromJson <bx_quotereq_carinfo>() : null;
                //保费结果
                string strquoteresult = string.Empty;
                //报价结果
                string strsubmitinfo = string.Empty;
                foreach (var history in listhistory)
                {
                    //保费结果
                    strquoteresult = history.quoteresult;
                    if (!string.IsNullOrEmpty(strquoteresult) && !strquoteresult.Equals("null"))
                    {
                        quoteresult = new bx_quoteresult();
                        quoteresult = strquoteresult.FromJson <bx_quoteresult>();
                        if (quoteresult != null)
                        {
                            listquoteresult.Add(quoteresult);
                        }
                    }
                    //报价结果
                    strsubmitinfo = history.submitinfo;
                    if (!string.IsNullOrEmpty(strsubmitinfo) && !strsubmitinfo.Equals("null"))
                    {
                        submitinfo = new bx_submit_info();
                        submitinfo = strsubmitinfo.FromJson <bx_submit_info>();
                        if (submitinfo != null)
                        {
                            listsubmitinfo.Add(submitinfo);
                        }
                    }
                }
                string createtime = listhistory.FirstOrDefault().updatetime.HasValue ? listhistory.FirstOrDefault().updatetime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "";
                return(new Tuple <bx_savequote, bx_quotereq_carinfo, List <bx_quoteresult>, List <bx_submit_info>, string, List <int> >(savequote, quotereq, listquoteresult, listsubmitinfo, createtime, listquote));
            }
            catch (Exception ex)
            {
                logErr.Info(string.Format("报价历史解析出错,buid:{0};groupspan:{1};\n异常信息:{2}\n{3}", buid, groupspan, ex.StackTrace, ex.Message));
            }
            return(new Tuple <bx_savequote, bx_quotereq_carinfo, List <bx_quoteresult>, List <bx_submit_info>, string, List <int> >(null, null, null, null, null, listquote));
        }
コード例 #7
0
        /// <summary>
        /// 普通查询车型接口,第二版
        /// </summary>
        /// <param name="request"></param>
        /// <param name="pairs"></param>
        /// <returns></returns>
        public async Task <GetNewCarVehicleInfoResponse> GetCarVehicle(GetVehicleRequest request, IEnumerable <KeyValuePair <string, string> > pairs)
        {
            GetNewCarVehicleInfoResponse response = new GetNewCarVehicleInfoResponse();
            //校验:1基础校验
            BaseResponse baseResponse = _validateService.Validate(request, pairs);

            if (baseResponse.Status == HttpStatusCode.Forbidden)
            {
                response.Status = HttpStatusCode.Forbidden;
                return(response);
            }

            var topagent = request.Agent;

            //微信端逻辑 次级代理
            if (request.ChildAgent > 0)
            {
                request.Agent = request.ChildAgent;
            }
            //针对车架号+发动机号的逻辑
            bx_userinfo userinfo = null;
            string      xuBaoCacheKey;

            if (!string.IsNullOrWhiteSpace(request.EngineNo) && !string.IsNullOrWhiteSpace(request.CarVin))
            {
                userinfo = _userInfoRepository.FindByCarvin(request.CarVin, request.EngineNo, request.CustKey,
                                                            request.Agent.ToString(), request.CarType);
                xuBaoCacheKey = CommonCacheKeyFactory.CreateKeyWithLicense(string.Format("{0}-{1}-{2}-{3}", topagent, request.CarVin, request.EngineNo, "moldname" + request.CarType));
            }
            else
            {
                userinfo = _userInfoRepository.FindByOpenIdAndLicense(request.CustKey, request.LicenseNo,
                                                                      request.Agent.ToString(), request.CarType);
                xuBaoCacheKey = CommonCacheKeyFactory.CreateKeyWithLicense(string.Format("{0}-{1}-{2}", topagent, request.LicenseNo, "moldname" + request.CarType));
            }
            #region 新增逻辑 平安报价需要区分类型
            if (userinfo != null)
            {
                var reqItem = _quoteReqCarinfoRepository.Find(userinfo.Id);
                if (reqItem != null)
                {
                    reqItem.pingan_quote_type = request.IsNeedCarVin;
                    _quoteReqCarinfoRepository.Update(reqItem);
                }
                else
                {
                    reqItem = new bx_quotereq_carinfo
                    {
                        pingan_quote_type = request.IsNeedCarVin
                    };
                    _quoteReqCarinfoRepository.Add(reqItem);
                }
            }
            #endregion
            if (request.IsNeedCarVin == 0 && request.MoldName.Trim().Length == 0)
            {
                response.Status = HttpStatusCode.Forbidden;
                return(response);
            }
            var xuBaoKey = string.Format("{0}-{1}-carmodelListV2-key", xuBaoCacheKey, request.IsNeedCarVin);
            CacheProvider.Remove(xuBaoKey);
            //获取品牌型号
            var moldNameViewModle = await _getMoldNameFromCenter.GetMoldNameService(request.CarVin, request.MoldName, topagent, request.CityCode);

            if (moldNameViewModle != null && !string.IsNullOrEmpty(moldNameViewModle.MoldName))
            {
                request.MoldName = moldNameViewModle.MoldName;
            }
            var msgBody = new
            {
                Agent          = topagent,
                B_Uid          = 0,
                VehicleName    = request.MoldName,
                cityId         = request.CityCode.ToString(),
                NotifyCacheKey = xuBaoCacheKey,
                IsNeedVin      = request.IsNeedCarVin,
                CarVin         = request.CarVin,
                //安心保险需要的2个参数
                LicenseNo    = request.LicenseNo,
                RegisterDate = request.RegisterDate
            };
            //发送信息
            //var msgbody = _messageCenter.SendToMessageCenter(msgBody.ToJson(),
            //    ConfigurationManager.AppSettings["MessageCenter"],
            //    ConfigurationManager.AppSettings["BxVechileQueue2"]);
            try
            {
                string strurl             = string.Format("{0}/service/carModelsv2queue", ConfigurationManager.AppSettings["CenterNewUrl"]);
                string returnServerIpPort = string.Empty;
                string result             = ProxyCenterHttpClient.Post(strurl, msgBody.ToJson(), 60, ref returnServerIpPort);

                var cacheKey = CacheProvider.Get <string>(xuBaoKey);
                if (cacheKey == null)
                {
                    for (int i = 0; i < 60; i++)
                    {
                        cacheKey = CacheProvider.Get <string>(xuBaoKey);
                        if (!string.IsNullOrWhiteSpace(cacheKey))
                        {
                            break;
                        }
                        else
                        {
                            await Task.Delay(TimeSpan.FromSeconds(1));
                        }
                    }
                }
                response.Vehicles = new List <NewBxCarVehicleInfo>();
                if (cacheKey == null)
                {
                    response.BusinessStatus  = -1;//超时
                    response.BusinessMessage = "请求超时";
                }
                else
                {
                    string itemsCache = string.Format("{0}-{1}-carmodelListV2", xuBaoCacheKey, request.IsNeedCarVin);
                    response.BusinessStatus = 1;
                    if (cacheKey == "1")
                    {
                        var temp = CacheProvider.Get <string>(itemsCache);
                        response.Vehicles = temp.FromJson <List <NewBxCarVehicleInfo> >();
                        if (response.Vehicles != null && response.Vehicles.Count > 1)
                        {
                            response.Vehicles = response.Vehicles.OrderBy(x => x.PriceT).ToList();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                response        = new GetNewCarVehicleInfoResponse();
                response.Status = HttpStatusCode.ExpectationFailed;
                logError.Info("获取车型请求发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException);
            }
            return(response);
        }
コード例 #8
0
        public MyBaoJiaViewModel SetQuoteReq(MyBaoJiaViewModel my, List <long> listquote1, bx_quotereq_carinfo quotereqcarinfo, ref string postBizStartDate, ref string postForceStartDate)
        {
            var quotereqCarInfo = quotereqcarinfo;

            my.IsNewCar = 2;//默认赋值旧车2
            //公车私车
            if (quotereqCarInfo != null)
            {
                //报价失败,取req表起保时间
                if (listquote1.Any())
                {
                    postForceStartDate = quotereqCarInfo.force_start_date.HasValue
                        ? quotereqCarInfo.force_start_date.Value.ToString("yyyy-MM-dd HH:mm") : "";
                    postBizStartDate = quotereqCarInfo.biz_start_date.HasValue
                        ? quotereqCarInfo.biz_start_date.Value.ToString("yyyy-MM-dd HH:mm") : "";
                }
                my.IsPublic = quotereqCarInfo.is_public.HasValue ? quotereqCarInfo.is_public.Value : 0;
                if (quotereqCarInfo.is_newcar.HasValue)
                {
                    if (quotereqCarInfo.is_newcar.Value != 0)
                    {
                        my.IsNewCar = quotereqCarInfo.is_newcar.Value;
                    }
                }
                my.AutoMoldCode = quotereqCarInfo.auto_model_code;
                my.CoRealValue  = quotereqCarInfo.co_real_value.HasValue ? quotereqCarInfo.co_real_value.Value : 0;
                my.CarUsedType  = quotereqCarInfo.car_used_type;
                my.SeatCount    = quotereqCarInfo.seat_count;

                //报价返回请求值
                my.ReqInfo = new QuoteReqCarInfoViewModel()
                {
                    AutoMoldCode           = quotereqCarInfo.auto_model_code ?? "",
                    IsNewCar               = quotereqCarInfo.is_newcar ?? 2,
                    NegotiatePrice         = quotereqCarInfo.co_real_value ?? 0,
                    IsPublic               = quotereqCarInfo.is_public ?? 0,
                    CarUsedType            = quotereqCarInfo.car_used_type ?? 0,
                    AutoMoldCodeSource     = quotereqCarInfo.auto_model_code_source ?? -1,
                    DriveLicenseTypeName   = quotereqCarInfo.drivlicense_cartype_name ?? "",
                    DriveLicenseTypeValue  = quotereqCarInfo.drivlicense_cartype_value ?? "",
                    SeatUpdated            = (quotereqCarInfo.seatflag ?? -1).ToString(),
                    RequestActualDiscounts = (quotereqCarInfo.ActualDiscounts ?? 0).ToString(),
                    RequestIsPaFloorPrice  = (quotereqCarInfo.IsPaFloorPrice ?? 0).ToString(),
                    DriverCard             = quotereqCarInfo.DriverCard ?? "",
                    DriverCardType         = quotereqCarInfo.DriverCardType ?? "",
                };
                //addby20180915继续拼装viewModel.ReqInfo对象,这是新增的折扣率的对象
                if (quotereqCarInfo != null)
                {
                    List <DiscountViewModel>  dclist = new List <DiscountViewModel>();
                    DiscountViewModel         dc;
                    Dictionary <int, decimal> dictionary = new Dictionary <int, decimal>();
                    dictionary = quotereqCarInfo.actualdiscounts_ratio.FromJson <Dictionary <int, decimal> >();
                    if (dictionary != null)
                    {
                        foreach (var item in dictionary)
                        {
                            dc = new DiscountViewModel()
                            {
                                Source = SourceGroupAlgorithm.GetNewSource(item.Key),
                                AD     = item.Value,
                                CR     = 0,
                                SR     = 0,
                                TRCR   = ""
                            };
                            //平安的特殊处理,取单独的字段
                            if (item.Key == 0)
                            {
                                dc.CR   = quotereqCarInfo.ChannelRate ?? 0;
                                dc.SR   = quotereqCarInfo.SubmitRate ?? 0;
                                dc.TRCR = quotereqCarInfo.TrCausesWhy ?? "";
                            }
                            dclist.Add(dc);
                        }
                    }
                    my.ReqInfo.RequestDiscount = dclist;
                }
            }
            else
            {
                my.IsPublic    = 0;
                my.CoRealValue = 0;
                my.ReqInfo     = new QuoteReqCarInfoViewModel()
                {
                    AutoMoldCode           = "",
                    IsNewCar               = 2,
                    NegotiatePrice         = 0,
                    IsPublic               = 0,
                    CarUsedType            = 0,
                    AutoMoldCodeSource     = -1,
                    DriveLicenseTypeName   = "",
                    DriveLicenseTypeValue  = "",
                    SeatUpdated            = "-1",
                    RequestActualDiscounts = "0",
                    RequestIsPaFloorPrice  = "0",
                    DriverCard             = "",
                    DriverCardType         = "",
                    RequestDiscount        = new List <DiscountViewModel>()
                };
            }
            return(my);
        }
        public static void QuoteAdd(PostPrecisePriceRequest request, long buid, int publictype, IQuoteReqCarinfoRepository repository)
        {
            bx_quotereq_carinfo newquotereq = new bx_quotereq_carinfo
            {
                is_loans      = request.IsLoans,
                b_uid         = buid,
                car_type      = request.CarType,
                car_used_type = request.CarUsedType,
                seat_count    = request.SeatCount,
                is_newcar     = request.IsNewCar,
                car_ton_count = request.TonCount,
                create_time   = DateTime.Now,
                update_time   = DateTime.Now
            };

            //经办人、送修码、归属人等设置,重写source值
            //if (!string.IsNullOrWhiteSpace(request.ConfigCode))
            //{
            //    //将用户传的configcode的source改为旧值。
            //    var configcodemodel = request.ConfigCode.FromJson<Dictionary<string, Dictionary<string, string>>>();
            //    var newconfigcodemodel = new Dictionary<string, Dictionary<string, string>>();
            //    foreach (var item in configcodemodel)
            //    {
            //        newconfigcodemodel.Add(SourceGroupAlgorithm.GetOldSource(long.Parse(item.Key)).ToString(), item.Value);
            //    }
            //    request.ConfigCode = newconfigcodemodel.ToJson();
            //}
            newquotereq.account_relation = request.ConfigCode;

            //浮动价格
            if (request.NegotiatePrice >= 0)
            {
                newquotereq.co_real_value = request.NegotiatePrice;
            }
            else
            {
                newquotereq.co_real_value = 0;
            }
            //车型选择source
            if (request.VehicleSource > 0)
            {
                newquotereq.moldcode_company = request.VehicleSource;
            }
            //过户车日期逻辑
            if (!string.IsNullOrWhiteSpace(request.TransferDate))
            {
                newquotereq.transfer_date = DateTime.Parse(request.TransferDate);
            }
            else
            {
                newquotereq.transfer_date = null;
            }
            if (!string.IsNullOrWhiteSpace(request.BizStartDate))
            {
                newquotereq.biz_start_date = DateTime.Parse(request.BizStartDate);
            }
            else
            {
                newquotereq.biz_start_date = null;
            }
            if (!string.IsNullOrWhiteSpace(request.ForceStartDate))
            {
                newquotereq.force_start_date = DateTime.Parse(request.ForceStartDate);
            }
            else
            {
                newquotereq.force_start_date = null;
            }
            //精友编码
            if (!string.IsNullOrWhiteSpace(request.AutoMoldCode))
            {
                newquotereq.auto_model_code        = request.AutoMoldCode.Trim();
                newquotereq.auto_model_code_source = 2;
            }
            else
            {
                //20181119,解决续保车补充到其他保司的精友码,中心查到carmold的车型信息跟平安保司不匹配
                //如果是平安,则把数据库的精友码删掉
                if (request.QuoteGroup == 2)
                {
                    newquotereq.auto_model_code        = null;
                    newquotereq.auto_model_code_source = null;
                }
            }
            if (request.AutoMoldCodeSource > 0)
            {
                newquotereq.auto_model_code_source = request.AutoMoldCodeSource;
            }
            //平安备注
            if (!string.IsNullOrWhiteSpace(request.Remark))
            {
                newquotereq.pa_remark = request.Remark;
            }
            else
            {
                newquotereq.pa_remark = string.Empty;
            }
            //时间戳支持
            if (!string.IsNullOrWhiteSpace(request.BizTimeStamp))
            {
                newquotereq.biz_start_date =
                    DateTime.Parse(request.BizTimeStamp.UnixTimeToDateTime().ToString("yyyy-MM-dd HH") +
                                   ":00:00");
            }
            //else
            //{
            //    newquotereq.biz_start_date = null;
            //}
            if (!string.IsNullOrWhiteSpace(request.ForceTimeStamp))
            {
                newquotereq.force_start_date =
                    DateTime.Parse(request.ForceTimeStamp.UnixTimeToDateTime().ToString("yyyy-MM-dd HH") +
                                   ":00:00");
            }
            //else
            //{
            //    newquotereq.force_start_date = null;
            //}
            //商业险短时起保
            if (!string.IsNullOrWhiteSpace(request.BizShortEndDate))
            {
                newquotereq.biz_end_date =
                    DateTime.Parse(request.BizShortEndDate.UnixTimeToDateTime().ToString("yyyy-MM-dd HH") +
                                   ":00:00");
                newquotereq.IsShortQuote = 1;
            }
            else
            {
                newquotereq.biz_end_date = null;
                newquotereq.IsShortQuote = 0;
            }
            //if (request.IsPublic > 0)
            //{
            //    newquotereq.is_public = request.IsPublic;
            //}
            if (request.CarUsedType == 6 || request.CarUsedType == 7 || request.CarUsedType == 20)
            {
            }
            else
            {
                if (publictype > 0)
                {
                    newquotereq.is_public = publictype;
                }
            }
            if (request.ClauseType > 0)
            {
                newquotereq.clause_type = request.ClauseType;
            }
            if (request.FuelType > 0)
            {
                newquotereq.fuel_type = request.FuelType;
            }
            if (request.ProofType > 0)
            {
                newquotereq.proof_type = request.ProofType;
            }
            if (request.RunMiles > 0)
            {
                newquotereq.run_miles = request.RunMiles;
            }
            if (request.RateFactor4 > 0)
            {
                newquotereq.special_rate = request.RateFactor4;
            }
            if (request.LicenseColor > 0)
            {
                newquotereq.license_color = request.LicenseColor;
            }
            if (request.SeatCount > 0)
            {
                newquotereq.seat_count = request.SeatCount;
            }
            if (request.ExhaustScale > 0)
            {
                newquotereq.exhaust_scale = request.ExhaustScale;
            }
            if (request.PurchasePrice > 0)
            {
                newquotereq.PriceT = request.PurchasePrice;
            }
            newquotereq.drivlicense_cartype_name  = request.DriveLicenseTypeName;
            newquotereq.drivlicense_cartype_value = request.DriveLicenseTypeValue;
            if (!string.IsNullOrWhiteSpace(request.OwnerOrg))
            {
                newquotereq.ownerOrg = request.OwnerOrg;
            }
            if (!string.IsNullOrWhiteSpace(request.PolicyOrg))
            {
                newquotereq.policyOrg = request.PolicyOrg;
            }
            if (!string.IsNullOrWhiteSpace(request.RenBaoRateSplit))
            {
                newquotereq.renBaoRateSplit = request.RenBaoRateSplit; //.ToJson();
            }
            //特殊折扣申请
            if (request.SpecialDiscount > 0)
            {
                newquotereq.special_discount_application = request.SpecialDiscount;
            }
            //是否修改座位数
            if (request.SeatUpdated != -1)
            {
                newquotereq.seatflag = request.SeatUpdated;
            }
            //太平洋实际折扣系数 20180725by gpj
            newquotereq.ActualDiscounts = request.ActualDiscounts;
            newquotereq.VehicleAlias    = request.VehicleAlias;
            newquotereq.VehicleYear     = request.VehicleYear;

            if (string.IsNullOrWhiteSpace(request.DiscountJson))
            {
                newquotereq.TrCausesWhy           = "";
                newquotereq.SubmitRate            = 0;
                newquotereq.ChannelRate           = 0;
                newquotereq.actualdiscounts_ratio = "";
            }
            else
            {
                //前端传折扣json进来
                List <DiscountViewModel> dclist = new List <DiscountViewModel>();
                try
                {
                    //将折扣json转成对象
                    dclist = request.DiscountJson.FromJson <List <DiscountViewModel> >();
                }
                catch (Exception ex)
                {
                }
                if (dclist.Any())
                {
                    //拼接actualdiscounts_ratio的数组
                    Dictionary <int, decimal> dictionary = new Dictionary <int, decimal>();
                    foreach (var dc in dclist)
                    {
                        if (dc.Source == 1)
                        {//兼容之前逻辑,把太平洋单独字段存ActualDiscounts中
                            newquotereq.ActualDiscounts = dc.AD;
                        }
                        if (dc.Source == 2)
                        {//平安单独保存3个字段
                            newquotereq.TrCausesWhy = dc.TRCR;
                            newquotereq.SubmitRate  = dc.SR;
                            newquotereq.ChannelRate = dc.CR;
                        }
                        //其他折扣率直接存json
                        dictionary.Add(SourceGroupAlgorithm.GetOldSource(dc.Source), dc.AD);
                    }
                    //只有当折扣率有值的时候才保存进来//不过此处肯定有值,除非参数有问题
                    if (dictionary.Any())
                    {
                        newquotereq.actualdiscounts_ratio = dictionary.ToJson();
                    }
                }
            }


            newquotereq.ActualSalesForceRatio = request.ActualSalesForceRatio;
            newquotereq.ActualSalesBizRatio   = request.ActualSalesBizRatio;
            newquotereq.ActualDtaryForceRatio = request.ActualDtaryForceRatio;
            newquotereq.ActualDtaryBizRatio   = request.ActualDtaryBizRatio;
            //是否暂存
            newquotereq.IsTempStorage = request.IsTempStorage;

            //平安底价报价
            newquotereq.IsPaFloorPrice = request.IsPaFloorPrice;
            newquotereq.DriverCard     = request.DriverCard;
            newquotereq.DriverCardType = request.DriverCardType;
            repository.Add(newquotereq);
        }