Exemplo n.º 1
0
        public APIResponse SubmitInsure(SubmitInsureModel model)
        {
            if (IsSaleman(model.UserId))
            {
                return(ResponseResult(ResultType.Failure, ResultCode.Failure, "该用户为业务员,不能提交订单"));
            }

            OrderToCarInsure orderToCarInsure = new OrderToCarInsure();

            orderToCarInsure.UserId       = model.UserId;
            orderToCarInsure.MerchantId   = model.MerchantId;
            orderToCarInsure.PosMachineId = model.PosMachineId;
            orderToCarInsure.InsurePlanId = model.InsurePlanId;
            orderToCarInsure.Type         = Enumeration.OrderType.InsureForCarForInsure;
            orderToCarInsure.TypeName     = Enumeration.OrderType.InsureForCarForInsure.GetCnName();

            if (model.ImgData != null)
            {
                var key_CZ_CL_XSZ_Img = "CZ_CL_XSZ_Img";
                if (model.ImgData.ContainsKey(key_CZ_CL_XSZ_Img))
                {
                    orderToCarInsure.CZ_CL_XSZ_ImgUrl = GetUploadImageUrl(model.ImgData[key_CZ_CL_XSZ_Img], "CarInsure");

                    //DrivingLicenceVO drivingLicence = AnXin.GetDrivingLicenceByImageBase64(model.ImgData[key_CZ_CL_XSZ_Img].Data);

                    //if (drivingLicence != null)
                    //{
                    //    orderToCarInsure.CarOwner = drivingLicence.owner;
                    //    orderToCarInsure.CarOwnerAddress = drivingLicence.address;
                    //    orderToCarInsure.CarModel = drivingLicence.model;
                    //    orderToCarInsure.CarPlateNo = drivingLicence.plateNum;
                    //    orderToCarInsure.CarEngineNo = drivingLicence.engineNo;
                    //    orderToCarInsure.CarVin = drivingLicence.vin;
                    //    //orderToCarInsure.CarVechicheType = drivingLicence.vehicleType;
                    //    orderToCarInsure.CarIssueDate = drivingLicence.issueDate;
                    //    //orderToCarInsure.CarUserCharacter = drivingLicence.userCharacter;
                    //    orderToCarInsure.CarRegisterDate = drivingLicence.registerDate;
                    //}
                }

                var key_CZ_SFZ_Img = "CZ_SFZ_Img";
                if (model.ImgData.ContainsKey(key_CZ_SFZ_Img))
                {
                    orderToCarInsure.CZ_SFZ_ImgUrl = GetUploadImageUrl(model.ImgData[key_CZ_SFZ_Img], "CarInsure");

                    //IdentityCardVO identityCardVO = AnXin.GetIdentityCardByImageBase64(model.ImgData[key_CZ_SFZ_Img].Data);

                    //if (identityCardVO != null)
                    //{
                    //    orderToCarInsure.CarOwnerIdNumber = identityCardVO.idNumber;
                    //}
                }

                var key_CCSJM_WSZM_Img = "CCSJM_WSZM_Img";
                if (model.ImgData.ContainsKey(key_CCSJM_WSZM_Img))
                {
                    orderToCarInsure.CCSJM_WSZM_ImgUrl = GetUploadImageUrl(model.ImgData[key_CCSJM_WSZM_Img], "CarInsure");
                }

                var key_YCZ_CLDJZ_Img = "YCZ_CLDJZ_Img";
                if (model.ImgData.ContainsKey(key_YCZ_CLDJZ_Img))
                {
                    orderToCarInsure.YCZ_CLDJZ_ImgUrl = GetUploadImageUrl(model.ImgData[key_YCZ_CLDJZ_Img], "CarInsure");
                }
            }

            List <OrderToCarInsureOfferCompany> orderToCarInsureOfferCompanys = new List <OrderToCarInsureOfferCompany>();

            var insureOfferCompanys = CurrentDb.Company.ToList();

            foreach (var m in model.InsuranceCompanyId)
            {
                var insureOfferCompany = insureOfferCompanys.Where(q => q.Id == m).FirstOrDefault();
                OrderToCarInsureOfferCompany orderToCarInsureOfferCompany = new OrderToCarInsureOfferCompany();
                orderToCarInsureOfferCompany.InsuranceCompanyId     = insureOfferCompany.Id;
                orderToCarInsureOfferCompany.InsuranceCompanyName   = insureOfferCompany.Name;
                orderToCarInsureOfferCompany.InsuranceCompanyImgUrl = insureOfferCompany.ImgUrl;
                orderToCarInsureOfferCompanys.Add(orderToCarInsureOfferCompany);
            }

            List <OrderToCarInsureOfferKind> orderToCarInsureOfferKinds = new List <OrderToCarInsureOfferKind>();

            foreach (var m in model.InsureKind)
            {
                OrderToCarInsureOfferKind orderToCarInsureOfferKind = new OrderToCarInsureOfferKind();
                orderToCarInsureOfferKind.KindId             = m.Id;
                orderToCarInsureOfferKind.KindValue          = m.Value;
                orderToCarInsureOfferKind.KindDetails        = m.Details;
                orderToCarInsureOfferKind.IsWaiverDeductible = m.IsWaiverDeductible;
                orderToCarInsureOfferKinds.Add(orderToCarInsureOfferKind);
            }

            IResult result = BizFactory.Order.SubmitCarInsure(model.UserId, orderToCarInsure, orderToCarInsureOfferCompanys, orderToCarInsureOfferKinds);

            return(new APIResponse(result));
        }
Exemplo n.º 2
0
        public CustomJsonResult ReCarInsureOffer(int operater, int userId, int merchantId, int orderId)
        {
            CustomJsonResult result = new CustomJsonResult();

            using (TransactionScope ts = new TransactionScope())
            {
                var oldOrder = CurrentDb.OrderToCarInsure.Where(m => m.Id == orderId).FirstOrDefault();

                var newOrder = new OrderToCarInsure();
                newOrder.MerchantId = oldOrder.MerchantId;
                newOrder.PosMachineId = oldOrder.PosMachineId;
                newOrder.UserId = oldOrder.UserId;
         
                //newOrder.ProductName = oldOrder.ProductName;
                //newOrder.ProductType = oldOrder.ProductType;
                newOrder.ClientRequire = oldOrder.ClientRequire;
                newOrder.InsuranceCompanyId = oldOrder.InsuranceCompanyId;
                newOrder.InsuranceCompanyName = oldOrder.InsuranceCompanyName;
                newOrder.CarOwner = oldOrder.CarOwner;
                newOrder.CarOwnerIdNumber = oldOrder.CarOwnerIdNumber;
                newOrder.CarOwnerAddress = oldOrder.CarOwnerAddress;
                newOrder.CarModel = oldOrder.CarModel;
                newOrder.CarModelName = oldOrder.CarModelName;
                newOrder.CarOwner = oldOrder.CarOwner;
                newOrder.CarPlateNo = oldOrder.CarPlateNo;
                newOrder.CarEngineNo = oldOrder.CarEngineNo;
                newOrder.CarVin = oldOrder.CarVin;
                newOrder.CarVechicheType = oldOrder.CarVechicheType;
                newOrder.CarRegisterDate = oldOrder.CarRegisterDate;
                newOrder.CarIssueDate = oldOrder.CarIssueDate;
                newOrder.CarPurchasePrice = oldOrder.CarPurchasePrice;
                newOrder.InsurePlanId = oldOrder.InsurePlanId;
                newOrder.CZ_CL_XSZ_ImgUrl = oldOrder.CZ_CL_XSZ_ImgUrl;
                newOrder.CZ_SFZ_ImgUrl = oldOrder.CZ_SFZ_ImgUrl;
                newOrder.YCZ_CLDJZ_ImgUrl = oldOrder.YCZ_CLDJZ_ImgUrl;
                newOrder.CCSJM_WSZM_ImgUrl = oldOrder.CCSJM_WSZM_ImgUrl;
                newOrder.ZJ1_ImgUrl = oldOrder.ZJ1_ImgUrl;
                newOrder.ZJ2_ImgUrl = oldOrder.ZJ2_ImgUrl;
                newOrder.ZJ3_ImgUrl = oldOrder.ZJ3_ImgUrl;
                newOrder.ZJ4_ImgUrl = oldOrder.ZJ4_ImgUrl;

                newOrder.Status = Enumeration.OrderStatus.Submitted;

                newOrder.SubmitTime = this.DateTime;
                newOrder.CreateTime = this.DateTime;
                newOrder.Creator = operater;
                newOrder.IsLastYearNewCar = oldOrder.IsLastYearNewCar;
                newOrder.IsSameLastYear = oldOrder.IsSameLastYear;
                newOrder.AutoCancelByHour = 24;
                CurrentDb.OrderToCarInsure.Add(newOrder);
                CurrentDb.SaveChanges();

                SnModel snModel = Sn.Build(SnType.OrderToCarInsure, newOrder.Id);

                newOrder.Sn = snModel.Sn;
                newOrder.TradeSnByWechat = snModel.TradeSnByWechat;
                newOrder.TradeSnByAlipay = snModel.TradeSnByAlipay;




                var oldOrderToCarInsureOfferCompany = CurrentDb.OrderToCarInsureOfferCompany.Where(m => m.OrderId == oldOrder.Id).ToList();
                if (oldOrderToCarInsureOfferCompany != null)
                {
                    foreach (var m in oldOrderToCarInsureOfferCompany)
                    {
                        var newOrderToCarInsureOfferCompany = new OrderToCarInsureOfferCompany();

                        newOrderToCarInsureOfferCompany.OrderId = newOrder.Id;
                        newOrderToCarInsureOfferCompany.InsuranceCompanyId = m.InsuranceCompanyId;
                        newOrderToCarInsureOfferCompany.InsuranceCompanyName = m.InsuranceCompanyName;
                        newOrderToCarInsureOfferCompany.CreateTime = this.DateTime;
                        newOrderToCarInsureOfferCompany.Creator = operater;
                        CurrentDb.OrderToCarInsureOfferCompany.Add(newOrderToCarInsureOfferCompany);
                    }
                }


                var oldKinds = CurrentDb.OrderToCarInsureOfferKind.Where(m => m.OrderId == oldOrder.Id).ToList();

                if (oldKinds != null)
                {
                    foreach (var m in oldKinds)
                    {
                        var newKinds = new OrderToCarInsureOfferKind();
                        newKinds.OrderId = newOrder.Id;
                        newKinds.KindId = m.KindId;
                        newKinds.KindValue = m.KindValue;
                        newKinds.KindDetails = m.KindDetails;
                        newKinds.IsWaiverDeductible = m.IsWaiverDeductible;
                        newKinds.CreateTime = this.DateTime;
                        newKinds.Creator = operater;
                        CurrentDb.OrderToCarInsureOfferKind.Add(newKinds);
                    }
                }

                BizProcessesAudit bizProcessesAudit = BizFactory.BizProcessesAudit.Add(operater, Enumeration.BizProcessesAuditType.OrderToCarInsure, newOrder.Id, Enumeration.CarInsureOfferDealtStatus.WaitOffer);

                BizFactory.BizProcessesAudit.ChangeAuditDetails(Enumeration.OperateType.Submit, Enumeration.CarInsureOfferDealtStep.Submit, bizProcessesAudit.Id, operater, newOrder.ClientRequire, "商户重新报价,等待报价", this.DateTime);

                CurrentDb.SaveChanges();
                ts.Complete();


                result = new CustomJsonResult(ResultType.Success, "重新报价");

            }

            return result;
        }
        public APIResponse SubmitInsure(SubmitInsureModel model)
        {
            //暂时不启用这段代码
            //var disabledInsuranceCompany = CurrentDb.CarInsuranceCompany.Where(m => model.InsuranceCompanyId.Contains(m.InsuranceCompanyId) && m.Status != Enumeration.CarInsuranceCompanyStatus.Normal).ToList();
            //if (disabledInsuranceCompany.Count > 0)
            //{
            //    string disabledInsuranceCompanyNames = string.Join(",", disabledInsuranceCompany.Select(m => m.InsuranceCompanyName).ToArray());
            //    return ResponseResult(ResultType.Failure, ResultCode.Failure, string.Format("{0}已经被停用", disabledInsuranceCompanyNames));
            //}


            OrderToCarInsure orderToCarInsure = new OrderToCarInsure();

            orderToCarInsure.MerchantId   = model.MerchantId;
            orderToCarInsure.PosMachineId = model.PosMachineId;
            orderToCarInsure.InsurePlanId = model.InsurePlanId;
            orderToCarInsure.ProductType  = model.Type;


            if (model.ImgData != null)
            {
                var key_CZ_CL_XSZ_Img = "CZ_CL_XSZ_Img";
                if (model.ImgData.ContainsKey(key_CZ_CL_XSZ_Img))
                {
                    orderToCarInsure.CZ_CL_XSZ_ImgUrl = GetUploadImageUrl(model.ImgData[key_CZ_CL_XSZ_Img], "CarInsure");

                    DrivingLicenceVO drivingLicence = AnXin.GetDrivingLicenceByImageBase64(model.ImgData[key_CZ_CL_XSZ_Img].Data);

                    if (drivingLicence != null)
                    {
                        orderToCarInsure.CarOwner         = drivingLicence.owner;
                        orderToCarInsure.CarOwnerAddress  = drivingLicence.address;
                        orderToCarInsure.CarModel         = drivingLicence.model;
                        orderToCarInsure.CarPlateNo       = drivingLicence.plateNum;
                        orderToCarInsure.CarEngineNo      = drivingLicence.engineNo;
                        orderToCarInsure.CarVin           = drivingLicence.vin;
                        orderToCarInsure.CarVechicheType  = drivingLicence.vehicleType;
                        orderToCarInsure.CarIssueDate     = drivingLicence.issueDate;
                        orderToCarInsure.CarUserCharacter = drivingLicence.userCharacter;
                        orderToCarInsure.CarRegisterDate  = drivingLicence.registerDate;
                    }
                }

                var key_CZ_SFZ_Img = "CZ_SFZ_Img";
                if (model.ImgData.ContainsKey(key_CZ_SFZ_Img))
                {
                    orderToCarInsure.CZ_SFZ_ImgUrl = GetUploadImageUrl(model.ImgData[key_CZ_SFZ_Img], "CarInsure");

                    IdentityCardVO identityCardVO = AnXin.GetIdentityCardByImageBase64(model.ImgData[key_CZ_SFZ_Img].Data);

                    if (identityCardVO != null)
                    {
                        orderToCarInsure.CarOwnerIdNumber = identityCardVO.idNumber;
                    }
                }

                var key_CCSJM_WSZM_Img = "CCSJM_WSZM_Img";
                if (model.ImgData.ContainsKey(key_CCSJM_WSZM_Img))
                {
                    orderToCarInsure.CCSJM_WSZM_ImgUrl = GetUploadImageUrl(model.ImgData[key_CCSJM_WSZM_Img], "CarInsure");
                }

                var key_YCZ_CLDJZ_Img = "YCZ_CLDJZ_Img";
                if (model.ImgData.ContainsKey(key_YCZ_CLDJZ_Img))
                {
                    orderToCarInsure.YCZ_CLDJZ_ImgUrl = GetUploadImageUrl(model.ImgData[key_YCZ_CLDJZ_Img], "CarInsure");
                }
            }

            orderToCarInsure.ClientRequire = model.ClientRequire;


            if (model.RenewalId != 0)
            {
                var renewal = CurrentDb.OrderToCarInsure.Where(m => m.Id == model.RenewalId).FirstOrDefault();
                if (renewal != null)
                {
                    orderToCarInsure.CarOwner         = renewal.CarOwner;
                    orderToCarInsure.CarOwnerIdNumber = renewal.CarOwnerIdNumber;
                    orderToCarInsure.CarOwnerAddress  = renewal.CarOwnerAddress;
                    orderToCarInsure.CarModel         = renewal.CarModel;
                    orderToCarInsure.CarPlateNo       = renewal.CarPlateNo;
                    orderToCarInsure.CarEngineNo      = renewal.CarEngineNo;
                    orderToCarInsure.CarVin           = renewal.CarVin;
                    orderToCarInsure.CarVechicheType  = renewal.CarVechicheType;
                    orderToCarInsure.CarIssueDate     = renewal.CarIssueDate;
                    orderToCarInsure.CarUserCharacter = renewal.CarUserCharacter;
                    orderToCarInsure.CarRegisterDate  = renewal.CarRegisterDate;
                    orderToCarInsure.CarIssueDate     = renewal.CarIssueDate;
                    orderToCarInsure.CarSeat          = renewal.CarSeat;
                }
            }



            List <OrderToCarInsureOfferCompany> orderToCarInsureOfferCompanys = new List <OrderToCarInsureOfferCompany>();

            var insureOfferCompanys = CurrentDb.InsuranceCompany.ToList();

            foreach (var m in model.InsuranceCompanyId)
            {
                var insureOfferCompany = insureOfferCompanys.Where(q => q.Id == m).FirstOrDefault();
                OrderToCarInsureOfferCompany orderToCarInsureOfferCompany = new OrderToCarInsureOfferCompany();
                orderToCarInsureOfferCompany.InsuranceCompanyId   = insureOfferCompany.Id;
                orderToCarInsureOfferCompany.InsuranceCompanyName = insureOfferCompany.Name;
                orderToCarInsureOfferCompanys.Add(orderToCarInsureOfferCompany);
            }

            if (orderToCarInsure.ProductType == Enumeration.ProductType.InsureForCarForRenewal)
            {
                var insureOfferCompany = insureOfferCompanys.Where(q => q.Id == model.InsuranceCompanyId[0]).FirstOrDefault();
                orderToCarInsure.InsuranceCompanyId   = insureOfferCompany.Id;
                orderToCarInsure.InsuranceCompanyName = insureOfferCompany.Name;
            }


            List <OrderToCarInsureOfferKind> orderToCarInsureOfferKinds = new List <OrderToCarInsureOfferKind>();

            foreach (var m in model.InsureKind)
            {
                OrderToCarInsureOfferKind orderToCarInsureOfferKind = new OrderToCarInsureOfferKind();
                orderToCarInsureOfferKind.KindId             = m.Id;
                orderToCarInsureOfferKind.KindValue          = m.Value;
                orderToCarInsureOfferKind.KindDetails        = m.Details;
                orderToCarInsureOfferKind.IsWaiverDeductible = m.IsWaiverDeductible;
                orderToCarInsureOfferKinds.Add(orderToCarInsureOfferKind);
            }

            IResult result = BizFactory.Order.SubmitCarInsure(model.UserId, model.UserId, orderToCarInsure, orderToCarInsureOfferCompanys, orderToCarInsureOfferKinds);



            return(new APIResponse(result));
        }