public void UpdateBjdInfo_BaoDanXinXiIsNull_Return0()
        {
            #region 配置  Substitute
            IBaodanXianZhongRepository _baodanXianZhongRepository = Substitute.For <IBaodanXianZhongRepository>();
            IBaodanxinxiRepository     _baodanxinxiRepository     = Substitute.For <IBaodanxinxiRepository>();
            IBxBjUnionRepository       _bjxUnionRepository        = Substitute.For <IBxBjUnionRepository>();
            ICreateActivity            _createActivity            = Substitute.For <ICreateActivity>();
            IMapBaoDanXinXiRecord      _mapBaoDanXinXiRecord      = Substitute.For <IMapBaoDanXinXiRecord>();
            IMapBaoDanXianZhongRecord  _mapBaoDanXianZhongRecord  = Substitute.For <IMapBaoDanXianZhongRecord>();
            IUpdateBjdCheck            _bjdCheck = Substitute.For <IUpdateBjdCheck>();

            var request = new CreateOrUpdateBjdInfoRequest();
            int type    = Arg.Any <int>();

            _bjdCheck.Valid(request).Returns(x => new UpdateBjdCheckMessage()
            {
                State = 0
            });
            _createActivity.AddActivity(Arg.Any <CreateOrUpdateBjdInfoRequest>(), type)
            .Returns(x => new bx_preferential_activity());
            _baodanxinxiRepository.Add(Arg.Any <bj_baodanxinxi>()).Returns(x => null);

            CreateBjdInfoService service = new CreateBjdInfoService(_createActivity, _mapBaoDanXinXiRecord, _mapBaoDanXianZhongRecord, _bjxUnionRepository, _baodanXianZhongRepository, _baodanxinxiRepository, _bjdCheck);
            #endregion

            #region 操作  Arg
            var result = service.UpdateBjdInfo(request, null);
            #endregion

            #region 断言  Assert
            Assert.AreEqual(0, result);
            #endregion
        }
        public long UpdateBjdInfo([FromUri] CreateOrUpdateBjdInfoRequest request)
        {
            logInfo.Info(string.Format("分享报价单信息接口请求串:{0}", Request.RequestUri));
            var count = _createBjdInfoService.UpdateBjdInfo(request, Request.GetQueryNameValuePairs());//老代码在这里=>//var count = _bjdService.UpdateBjdInfo(request, Request.GetQueryNameValuePairs());//logInfo.Info(string.Format("分享报价单信息接口返回值:{0}", count.ToJson()));

            return(count);
        }
        public void UpdateBjdInfo_CheckReturn0_Return0()
        {
            #region 配置  Substitute
            IBaodanXianZhongRepository _baodanXianZhongRepository = Substitute.For <IBaodanXianZhongRepository>();
            IBaodanxinxiRepository     _baodanxinxiRepository     = Substitute.For <IBaodanxinxiRepository>();
            IBxBjUnionRepository       _bjxUnionRepository        = Substitute.For <IBxBjUnionRepository>();
            ICreateActivity            _createActivity            = Substitute.For <ICreateActivity>();
            IMapBaoDanXinXiRecord      _mapBaoDanXinXiRecord      = Substitute.For <IMapBaoDanXinXiRecord>();
            IMapBaoDanXianZhongRecord  _mapBaoDanXianZhongRecord  = Substitute.For <IMapBaoDanXianZhongRecord>();
            IUpdateBjdCheck            _bjdCheck = Substitute.For <IUpdateBjdCheck>();

            var request = new CreateOrUpdateBjdInfoRequest();

            _bjdCheck.Valid(request).Returns(x => new UpdateBjdCheckMessage()
            {
                State = 0
            });

            CreateBjdInfoService service = new CreateBjdInfoService(_createActivity, _mapBaoDanXinXiRecord, _mapBaoDanXianZhongRecord, _bjxUnionRepository, _baodanXianZhongRepository, _baodanxinxiRepository, _bjdCheck);
            #endregion

            #region 操作  Arg
            var result = service.UpdateBjdInfo(request, null);
            #endregion

            #region 断言  Assert
            Assert.AreEqual(0, result);
            #endregion
        }
Esempio n. 4
0
        public void AddActivity_ThorwException_Return0()
        {
            #region 配置  Substitute
            _agentRepository.When(x => x.GetAgent(Arg.Any <int>())).Do(info =>
            {
                throw new Exception();
            });

            CreateActivity createActivity = new CreateActivity(_agentRepository, _preferentialActivityRepository);
            #endregion

            #region 操作 Arg

            CreateOrUpdateBjdInfoRequest createOrUpdate = new CreateOrUpdateBjdInfoRequest();
            createOrUpdate.ActivityContent = "123";
            var result = createActivity.AddActivity(createOrUpdate, Arg.Any <int>());

            #endregion

            #region 断言

            Assert.AreEqual(0, result.id);

            #endregion
        }
        public void AddActivity_SelectRowNull_Return0()
        {
            #region 配置  Substitute
            IPreferentialActivityRepository _preferentialActivityRepository = Substitute.For <IPreferentialActivityRepository>();
            IAgentRepository _agentRepository = Substitute.For <IAgentRepository>();

            _preferentialActivityRepository.GetListByType(Arg.Any <int>(), Arg.Any <string>()).Returns(x => null);

            CreateActivity createActivity = new CreateActivity(_agentRepository, _preferentialActivityRepository);

            #endregion

            #region 操作  Arg

            CreateOrUpdateBjdInfoRequest createOrUpdate = new CreateOrUpdateBjdInfoRequest();
            createOrUpdate.ActivityContent = "123";
            var result = createActivity.AddActivity(createOrUpdate, Arg.Any <int>());

            #endregion

            #region 断言

            Assert.AreNotEqual(0, result.activity_status);

            #endregion
        }
Esempio n. 6
0
        public UpdateBjdCheckMessage Valid(CreateOrUpdateBjdInfoRequest request)
        {
            UpdateBjdCheckMessage message = new UpdateBjdCheckMessage();

            message.State = 1;

            try
            {
                message.SubmitInfo = _submitInfoRepository.GetSubmitInfo(request.Buid, SourceGroupAlgorithm.GetOldSource(request.Source));
                if (message.SubmitInfo == null)
                {
                    message.Message = string.Format("Buid为{0}Source为{1}的记录submitinfo为空", request.Buid, request.Source);
                    message.State   = 0;
                    return(message);
                }

                message.Quoteresult = _quoteResultRepository.GetQuoteResultByBuid(request.Buid, SourceGroupAlgorithm.GetOldSource(request.Source));
                if (message.Quoteresult == null)
                {
                    message.Message = string.Format("Buid为{0}Source为{1}的记录quoteinfo为空", request.Buid, request.Source);
                    message.State   = 0;
                    return(message);
                }

                message.ReqCarInfo = _quoteReqCarinfoRepository.Find(request.Buid);
                if (message.ReqCarInfo == null)
                {
                    message.Message = string.Format("Buid为{0}Source为{1}的记录quotereqcarinfo为空", request.Buid, request.Source);
                    message.State   = 0;
                    return(message);
                }

                message.Savequote = _saveQuoteRepository.GetSavequoteByBuid(request.Buid);
                if (message.Savequote == null)
                {
                    message.Message = string.Format("Buid为{0}Source为{1}的记录saveinfo为空", request.Buid, request.Source);
                    message.State   = 0;
                    return(message);
                }

                message.Userinfo = _userInfoRepository.FindByBuid(request.Buid);
                if (message.Userinfo == null)
                {
                    message.Message = string.Format("Buid为{0}Source为{1}的记录userinfo为空", request.Buid, request.Source);
                    message.State   = 0;
                    return(message);
                }
            }
            catch (Exception ex)
            {
                message.Message = string.Format("程序出险异常,错误信息为:{0}", ex.Message);
                message.State   = -1;
                return(message);
            }


            return(message);
        }
Esempio n. 7
0
        public long UpdateBjdInfo(CreateOrUpdateBjdInfoRequest request, IEnumerable <KeyValuePair <string, string> > pairs)
        {
            //校验
            #region
            //bx_claim_detail
            long baodanxinxiid = 0;

            //20160905修改source1248=>0123,传入的新数据转换
            var checkResult = _bjdCheck.Valid(request);
            if (checkResult.State == 0)
            {
                logErr.Info(checkResult.Message);
                return(checkResult.State);
            }

            #endregion
            try
            {
                //新增
                if (request.BxId == 0)
                {
                    //单独写一个接口  实现
                    bx_preferential_activity model = _createActivity.AddActivity(request, 5);
                    //单独写一个接口  实现

                    var baodanxinxi = _mapBaoDanXinXiRecord.MapBaodanxinxi(request, checkResult.SubmitInfo, checkResult.Quoteresult,
                                                                           checkResult.Savequote, checkResult.Userinfo, checkResult.ReqCarInfo, model);
                    var item = _baodanxinxiRepository.Add(baodanxinxi);

                    var agentinfo = _agentRepository.GetAgent(checkResult.Userinfo.Agent);

                    Task.Factory.StartNew(() =>
                    {
                        _addCrmStepsService.AddCrmSteps(request.ChildAgent, agentinfo == null ? "" : agentinfo.AgentName, "",
                                                        checkResult.Userinfo.LicenseNo, request.Source, request.BizRate, request.ForceRate,
                                                        model.id, request.Buid, item.Id, request.CityCode);
                    });

                    List <bx_ywxdetail> ywxList = _ywxdetailRepository.GetList(request.Buid);

                    var baodanxianzhong = _mapBaoDanXianZhongRecord.MapBaodanxianzhong(baodanxinxi, checkResult.Quoteresult, checkResult.Savequote,
                                                                                       checkResult.SubmitInfo, ywxList);
                    _baodanXianZhongRepository.Add(baodanxianzhong);

                    _bjxUnionRepository.Add(request.Buid, item.Id);
                    baodanxinxiid = item.Id;
                }
            }
            catch (Exception ex)
            {
                baodanxinxiid = -1;
                logErr.Info("创建报价单发生异常,请求串为:" + request.ToJson() + "/n错误信息:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException);
            }
            return(baodanxinxiid);
        }
Esempio n. 8
0
        public HttpResponseMessage SharePrecisePrice([FromUri] CreateOrUpdateBjdInfoRequest request)
        {
            _logAppInfo.Info(string.Format("分享报价单接口请求串:{0}", Request.RequestUri));
            var viewModel = new BaseViewModel();

            if (!ModelState.IsValid)
            {
                viewModel.BusinessStatus = -10000;
                string msg = ModelState.Values.Where(a => a.Errors.Count == 1).Aggregate(string.Empty, (current, a) => current + (a.Errors[0].ErrorMessage + ";   "));
                viewModel.StatusMessage = "输入参数错误," + msg;
                return(viewModel.ResponseToJson());
            }
            viewModel = _appAchieveService.SharePrecisePrice(request, Request.GetQueryNameValuePairs(), Request.RequestUri);
            //_logAppInfo.Info(string.Format("分享报价单接口返回值:{0}", viewModel.ToJson()));
            return(viewModel.ResponseToJson());
        }
        public BaseViewModel SharePrecisePrice(CreateOrUpdateBjdInfoRequest request, IEnumerable <KeyValuePair <string, string> > pairs, Uri uri)
        {
            var viewModel = new BaseViewModel();

            #region 参数校验
            //校验请求串
            var baseRequest = new AppBaseRequest()
            {
                Agent      = request.Agent,
                SecCode    = request.SecCode,
                CustKey    = request.CustKey,
                BhToken    = request.BhToken,
                ChildAgent = request.ChildAgent
            };
            //校验返回值
            var baseResponse = _appVerifyService.Verify(baseRequest, pairs);
            if (baseResponse.ErrCode != 1)
            {
                viewModel.BusinessStatus = baseResponse.ErrCode;
                viewModel.StatusMessage  = baseResponse.ErrMsg;
                return(viewModel);
            }
            #endregion
            #region 业务逻辑
            //拼接请求串
            string strUrl = string.Format("http://{0}:{1}/api/Bjd/UpdateBjdInfo", uri.Host, uri.Port);
            //3,续保请求
            BaseResponse rep = SimulateSyncGet(strUrl, pairs);
            if (rep.ErrCode == 1)
            {
                viewModel = rep.ErrMsg.FromJson <BaseViewModel>();
            }
            else
            {
                viewModel.BusinessStatus = rep.ErrCode;
                viewModel.StatusMessage  = rep.ErrMsg;
            }
            //bx_userinfo userinfo = _userInfoRepository.FindByOpenIdAndLicense(request.CustKey, request.LicenseNo, request.ChildAgent.ToString());
            //viewModel.Buid = userinfo != null ? userinfo.Id : 0;
            //viewModel.Agent = baseResponse.Agent;
            //viewModel.AgentName = baseResponse.AgentName;
            #endregion
            return(viewModel);
        }
Esempio n. 10
0
        public void UpdateBjdInfo_ThrowExecption_ReturnNegavite()
        {
            #region 配置  Substitute
            IBaodanXianZhongRepository _baodanXianZhongRepository = Substitute.For <IBaodanXianZhongRepository>();
            IBaodanxinxiRepository     _baodanxinxiRepository     = Substitute.For <IBaodanxinxiRepository>();
            IBxBjUnionRepository       _bjxUnionRepository        = Substitute.For <IBxBjUnionRepository>();
            ICreateActivity            _createActivity            = Substitute.For <ICreateActivity>();
            IMapBaoDanXinXiRecord      _mapBaoDanXinXiRecord      = Substitute.For <IMapBaoDanXinXiRecord>();
            IMapBaoDanXianZhongRecord  _mapBaoDanXianZhongRecord  = Substitute.For <IMapBaoDanXianZhongRecord>();
            IUpdateBjdCheck            _bjdCheck           = Substitute.For <IUpdateBjdCheck>();
            IAgentRepository           _agentRepository    = Substitute.For <IAgentRepository>();
            IAddCrmStepsService        _addCrmStepsService = Substitute.For <IAddCrmStepsService>();

            var request = new CreateOrUpdateBjdInfoRequest();
            int type    = Arg.Any <int>();

            _bjdCheck.Valid(request)
            .Returns(
                x =>
                new UpdateBjdCheckMessage()
            {
                State       = 1,
                SubmitInfo  = new bx_submit_info(),
                Quoteresult = new bx_quoteresult(),
                Savequote   = new bx_savequote(),
                Userinfo    = new bx_userinfo()
            });

            _createActivity.When(x => x.AddActivity(request, type))
            .Do(info => { throw new Exception(); });

            CreateBjdInfoService service = new CreateBjdInfoService(_createActivity, _mapBaoDanXinXiRecord, _mapBaoDanXianZhongRecord, _bjxUnionRepository, _baodanXianZhongRepository, _baodanxinxiRepository, _bjdCheck, _agentRepository, _addCrmStepsService);
            #endregion

            #region 操作  Arg
            var result = service.UpdateBjdInfo(request, null);
            #endregion

            #region 断言  Assert
            Assert.AreEqual(-1, result);
            #endregion
        }
Esempio n. 11
0
        public bx_preferential_activity AddActivity(CreateOrUpdateBjdInfoRequest request, int aciivityType)
        {
            var model = new bx_preferential_activity();

            try
            {
                if (!string.IsNullOrWhiteSpace(request.ActivityContent))
                {
                    bx_preferential_activity modelactivity = _preferentialActivityRepository.GetListByType(5,
                                                                                                           request.ActivityContent);
                    if (modelactivity != null)
                    {
                        model = modelactivity;
                    }
                    else
                    {
                        var agentinfo = _agentRepository.GetAgent(request.ChildAgent);
                        model.top_agent_id     = request.Agent;
                        model.agent_id         = request.ChildAgent;
                        model.activity_type    = 5;
                        model.activity_name    = "";
                        model.activity_content = request.ActivityContent;
                        model.activity_status  = 1;
                        model.create_time      = DateTime.Now;
                        model.create_name      = agentinfo == null ? "" : agentinfo.AgentName;
                        model.modify_time      = DateTime.Now;
                        model.modify_name      = agentinfo == null ? "" : agentinfo.AgentName;
                        _preferentialActivityRepository.AddActivity(model);
                    }
                }
            }
            catch (Exception ex)
            {
                logErr.Info("发生异常:" + ex.Source + "\n" + ex.StackTrace + "\n" + ex.Message + "\n" + ex.InnerException);
                return(new bx_preferential_activity());
            }

            return(model);
        }
Esempio n. 12
0
        public void UpdateBjdInfo_CheckReturn0_Return0()
        {
            #region 配置  Substitute
            IBaodanXianZhongRepository _baodanXianZhongRepository = Substitute.For <IBaodanXianZhongRepository>();
            IBaodanxinxiRepository     _baodanxinxiRepository     = Substitute.For <IBaodanxinxiRepository>();
            IBxBjUnionRepository       _bjxUnionRepository        = Substitute.For <IBxBjUnionRepository>();
            ICreateActivity            _createActivity            = Substitute.For <ICreateActivity>();
            IMapBaoDanXinXiRecord      _mapBaoDanXinXiRecord      = Substitute.For <IMapBaoDanXinXiRecord>();
            IMapBaoDanXianZhongRecord  _mapBaoDanXianZhongRecord  = Substitute.For <IMapBaoDanXianZhongRecord>();
            IUpdateBjdCheck            _bjdCheck           = Substitute.For <IUpdateBjdCheck>();
            IAgentRepository           _agentRepository    = Substitute.For <IAgentRepository>();
            IAddCrmStepsService        _addCrmStepsService = Substitute.For <IAddCrmStepsService>();

            var request = new CreateOrUpdateBjdInfoRequest();

            _bjdCheck.Valid(request)
            .Returns(
                x =>
                new UpdateBjdCheckMessage()
            {
                State       = 0,
                SubmitInfo  = new bx_submit_info(),
                Quoteresult = new bx_quoteresult(),
                Savequote   = new bx_savequote(),
                Userinfo    = new bx_userinfo()
            });

            CreateBjdInfoService service = new CreateBjdInfoService(_createActivity, _mapBaoDanXinXiRecord, _mapBaoDanXianZhongRecord, _bjxUnionRepository, _baodanXianZhongRepository, _baodanxinxiRepository, _bjdCheck, _agentRepository, _addCrmStepsService);
            #endregion

            #region 操作  Arg
            var result = service.UpdateBjdInfo(request, null);
            #endregion

            #region 断言  Assert
            Assert.AreEqual(0, result);
            #endregion
        }
        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);
        }