/// <summary> /// 新建配置关系模型 /// </summary> /// <param name="relationNew"></param> /// <returns></returns> public ActionResult <bool> AddDangerPointRelation(DangerPointRelationNew relationNew) { try { var dbdp = rpsdp.GetModel(q => q.ID == relationNew.DangerPointID); if (dbdp == null) { throw new Exception("未找到该风险点"); } var subids = relationNew.DSubs.Select(s => s.SubjectID); var check = rpsdpr.Any(p => subids.Contains(p.SubjectID) && p.DangerPointID == relationNew.DangerPointID); if (check) { throw new Exception("配置主体中有已存在的于风险点下的!"); } check = work.Repository <Basic_DangerRelation>().Any(p => subids.Contains(p.SubjectID)); if (!check) { throw new Exception("配置主体中存在没有配置风控项的主体!"); } //所有风控项ID var dangerids = work.Repository <Basic_DangerRelation>().Queryable(p => subids.Contains(p.SubjectID)).Select(s => s.DangerID); //所有风险等级ID var lvids = work.Repository <Basic_Danger>().Queryable(p => dangerids.Contains(p.ID)).Select(s => s.DangerLevel); //最大的风险等级具体项 var lv = work.Repository <Core.Model.DB.Basic_Dict>().Queryable(p => lvids.Contains(p.ID)).OrderByDescending(o => o.MinValue).FirstOrDefault(); var dplv = work.Repository <Core.Model.DB.Basic_Dict>().GetModel(p => p.ID == dbdp.DangerLevel); if (dplv.MinValue < lv.MinValue) { //如果主体的风空项的风险等级大于预设的风险点的风险等级则更新预设的风险等级 dbdp.DangerLevel = lv.ID; rpsdp.Update(dbdp); } var dbdpr = from dr in relationNew.DSubs select new Basic_DangerPointRelation { DangerPointID = relationNew.DangerPointID, SubjectID = dr.SubjectID, SubjectName = dr.SubjectName, SubjectPrincipal = dr.SubjectPrincipal, SubjectPrincipalTel = dr.SubjectPrincipalTel, SubjectType = dr.SubjectType }; rpsdpr.Add(dbdpr); work.Commit(); return(new ActionResult <bool>(true)); } catch (Exception ex) { return(new ActionResult <bool>(ex)); } }
public ActionResult <bool> AddDangerPointRelation(DangerPointRelationNew relationNew) { LogContent = "新建了风险点关系模型,参数源:" + JsonConvert.SerializeObject(relationNew); return(bll.AddDangerPointRelation(relationNew)); }