コード例 #1
0
        public CustomJsonResult Apply(int operater, CarInsureCommissionRate afterCommissionRate, string reason)
        {
            CustomJsonResult result = new CustomJsonResult();

            using (TransactionScope ts = new TransactionScope())
            {
                var beforeCommissionRate = CurrentDb.CarInsureCommissionRate.Where(m => m.Id == afterCommissionRate.Id).FirstOrDefault();

                if (beforeCommissionRate == null)
                {
                    return(new CustomJsonResult(ResultType.Failure, "不存在该对象"));
                }

                if (beforeCommissionRate.Commercial >= 10)
                {
                    return(new CustomJsonResult(ResultType.Failure, "交强险比例过大,不能超过10%"));
                }

                if (beforeCommissionRate.Compulsory >= 10)
                {
                    return(new CustomJsonResult(ResultType.Failure, "商业险比例过大,不能超过10%"));
                }

                var bizProcessesAuditing = CurrentDb.BizProcessesAudit.Where(m => m.AduitReferenceId == beforeCommissionRate.Id && m.AduitType == Enumeration.BizProcessesAuditType.CommissionRateAudit && m.Status < 5).FirstOrDefault();
                if (bizProcessesAuditing != null)
                {
                    return(new CustomJsonResult(ResultType.Failure, "已经在有1个在申请中,请等候"));
                }

                CommissionRateAdjustModel adjustModel = new CommissionRateAdjustModel();
                adjustModel.Before = beforeCommissionRate;
                adjustModel.After  = afterCommissionRate;



                var bizProcessesAudit = BizFactory.BizProcessesAudit.Add(operater, Enumeration.BizProcessesAuditType.CommissionRateAudit, beforeCommissionRate.Id, Enumeration.CommissionRateAuditStatus.WaitPrimaryAudit, "佣金修改申请", reason, adjustModel);


                BizFactory.BizProcessesAudit.ChangeAuditDetails(Enumeration.OperateType.Submit, Enumeration.CommissionRateAuditStep.Apply, bizProcessesAudit.Id, operater, reason, "提交申请调整费率,正等待初审", this.DateTime);

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


                result = new CustomJsonResult(ResultType.Success, "申请成功");
            }

            return(result);
        }
コード例 #2
0
        public CustomJsonResult Add(int operater, int insuranceCompanyId, string insuranceCompanyName, string insuranceCompanyImgUrl, decimal commercialRate, decimal compulsoryRate)
        {
            CustomJsonResult result = new CustomJsonResult();

            using (TransactionScope ts = new TransactionScope())
            {
                var isExsits = CurrentDb.CarInsuranceCompany.Where(m => m.InsuranceCompanyId == insuranceCompanyId).Count();
                if (isExsits > 0)
                {
                    ts.Dispose();
                    return(new CustomJsonResult(ResultType.Failure, "已存在相同保险公司的名称"));
                }
                CarInsuranceCompany carInsuranceCompany = new CarInsuranceCompany();
                carInsuranceCompany.InsuranceCompanyId     = insuranceCompanyId;
                carInsuranceCompany.InsuranceCompanyImgUrl = insuranceCompanyImgUrl;
                carInsuranceCompany.Creator    = operater;
                carInsuranceCompany.CreateTime = DateTime.Now;
                carInsuranceCompany.Status     = Enumeration.CarInsuranceCompanyStatus.Audit;
                CurrentDb.CarInsuranceCompany.Add(carInsuranceCompany);
                CurrentDb.SaveChanges();


                CarInsureCommissionRate carInsureCommissionRate = new CarInsureCommissionRate();
                carInsureCommissionRate.Commercial    = commercialRate;
                carInsureCommissionRate.Compulsory    = compulsoryRate;
                carInsureCommissionRate.CreateTime    = this.DateTime;
                carInsureCommissionRate.Creator       = operater;
                carInsureCommissionRate.ReferenceId   = insuranceCompanyId;
                carInsureCommissionRate.ReferenceName = insuranceCompanyName;
                carInsureCommissionRate.Type          = Enumeration.CommissionRateType.InsuranceCompany;
                CurrentDb.CarInsureCommissionRate.Add(carInsureCommissionRate);
                CurrentDb.SaveChanges();


                CommissionRateAdjustModel adjustModel = new CommissionRateAdjustModel();
                adjustModel.Before = new CarInsureCommissionRate();
                adjustModel.After  = carInsureCommissionRate;

                var bizProcessesAudit = BizFactory.BizProcessesAudit.Add(operater, Enumeration.BizProcessesAuditType.CommissionRateAudit, carInsureCommissionRate.Id, Enumeration.CommissionRateAuditStatus.WaitPrimaryAudit, "佣金修改申请", "", adjustModel);

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

                result = new CustomJsonResult(ResultType.Success, "提交成功");
            }

            return(result);
        }
コード例 #3
0
        public CustomJsonResult SeniorAudit(int operater, Enumeration.OperateType operate, CarInsureCommissionRate commissionRate, BizProcessesAudit bizProcessesAudit)
        {
            CustomJsonResult result = new CustomJsonResult();

            var l_bizProcessesAudit = CurrentDb.BizProcessesAudit.Where(m => m.Id == bizProcessesAudit.CurrentDetails.BizProcessesAuditId).FirstOrDefault();

            var carInsureCommissionRate = CurrentDb.CarInsureCommissionRate.Where(m => m.Id == l_bizProcessesAudit.AduitReferenceId).FirstOrDefault();

            var carInsuranceCompany = CurrentDb.CarInsuranceCompany.Where(m => m.InsuranceCompanyId == carInsureCommissionRate.ReferenceId).FirstOrDefault();

            using (TransactionScope ts = new TransactionScope())
            {
                switch (operate)
                {
                case Enumeration.OperateType.Save:

                    BizFactory.BizProcessesAudit.ChangeAuditDetailsAuditComments(operater, bizProcessesAudit.CurrentDetails.Id, bizProcessesAudit.CurrentDetails.AuditComments, null);

                    result = new CustomJsonResult(ResultType.Success, "保存成功");
                    break;

                case Enumeration.OperateType.Refuse:


                    BizFactory.BizProcessesAudit.ChangeAuditDetailsAuditComments(operater, bizProcessesAudit.CurrentDetails.Id, bizProcessesAudit.CurrentDetails.AuditComments, "复审完成,审核拒绝", this.DateTime);

                    BizFactory.BizProcessesAudit.ChangeCommissionRateAuditStatus(operater, bizProcessesAudit.CurrentDetails.BizProcessesAuditId, Enumeration.CommissionRateAuditStatus.SeniorAuditRefuse, null, this.DateTime);

                    result = new CustomJsonResult(ResultType.Success, "拒绝成功");
                    break;

                case Enumeration.OperateType.Pass:

                    var commissionRateAdjustModel = Newtonsoft.Json.JsonConvert.DeserializeObject <CommissionRateAdjustModel>(l_bizProcessesAudit.JsonData);

                    var l_commissionRate = CurrentDb.CarInsureCommissionRate.Where(m => m.Id == l_bizProcessesAudit.AduitReferenceId).FirstOrDefault();
                    l_commissionRate.Commercial     = commissionRateAdjustModel.After.Commercial;
                    l_commissionRate.Compulsory     = commissionRateAdjustModel.After.Compulsory;
                    l_commissionRate.LastUpdateTime = this.DateTime;
                    l_commissionRate.Mender         = operater;

                    if (carInsuranceCompany.Status == Enumeration.CarInsuranceCompanyStatus.Audit)
                    {
                        carInsuranceCompany.Status         = Enumeration.CarInsuranceCompanyStatus.Normal;
                        carInsuranceCompany.LastUpdateTime = this.DateTime;
                        carInsuranceCompany.Mender         = operater;
                    }

                    BizFactory.BizProcessesAudit.ChangeAuditDetailsAuditComments(operater, bizProcessesAudit.CurrentDetails.Id, bizProcessesAudit.CurrentDetails.AuditComments, "复审完成,审核通过", this.DateTime);

                    BizFactory.BizProcessesAudit.ChangeCommissionRateAuditStatus(operater, bizProcessesAudit.CurrentDetails.BizProcessesAuditId, Enumeration.CommissionRateAuditStatus.SeniorAuditPass, null, this.DateTime);

                    result = new CustomJsonResult(ResultType.Success, "审核通过");
                    break;
                }


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

            return(result);
        }
コード例 #4
0
        public CustomJsonResult PrimaryAudit(int operater, Enumeration.OperateType operate, CarInsureCommissionRate commissionRate, BizProcessesAudit bizProcessesAudit)
        {
            CustomJsonResult result = new CustomJsonResult();

            using (TransactionScope ts = new TransactionScope())
            {
                switch (operate)
                {
                case Enumeration.OperateType.Save:

                    BizFactory.BizProcessesAudit.ChangeAuditDetailsAuditComments(operater, bizProcessesAudit.CurrentDetails.Id, bizProcessesAudit.CurrentDetails.AuditComments, null);

                    result = new CustomJsonResult(ResultType.Success, "保存成功");
                    break;

                case Enumeration.OperateType.Submit:

                    BizFactory.BizProcessesAudit.ChangeAuditDetailsAuditComments(operater, bizProcessesAudit.CurrentDetails.Id, bizProcessesAudit.CurrentDetails.AuditComments, "初审完成,等待复审", this.DateTime);

                    BizFactory.BizProcessesAudit.ChangeCommissionRateAuditStatus(operater, bizProcessesAudit.CurrentDetails.BizProcessesAuditId, Enumeration.CommissionRateAuditStatus.WaitSeniorAudit, null);

                    result = new CustomJsonResult(ResultType.Success, "提交成功");
                    break;
                }


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

            return(result);
        }