Exemplo n.º 1
0
 /// <summary>
 /// 保存授权模板页
 /// </summary>
 /// <param name="UserID"></param>
 public ActionResult SavePrivilegeTemplatePage(Guid UserID)
 {
     if (!base.CheckPrivilege("EnableEdit"))//权限验证
         return RedirectToAction("ErrorPage", "Home", new { message = "Sorry you have no privilege to visit the Page" });
     GeneralPrivTemplate oNewModel = new GeneralPrivTemplate();
     ViewBag.UserID = UserID;
     return View(oNewModel);
 }
Exemplo n.º 2
0
 /// <summary>
 /// 保存授权模板
 /// </summary>
 /// <param name="UserID"></param>
 /// <param name="TemplatePage"></param>
 public void SavePrivilegeTemplate(FormCollection formCollection, GeneralPrivTemplate oBackModel)
 {
     Guid UserID = Guid.Parse(formCollection["UserID"].ToString());
     List<MemberPrivilege> oMemberPrivilegeList = dbEntity.MemberPrivileges.Where(p => p.UserID == UserID && p.Deleted == false).ToList();
     List<GeneralPrivTemplate> oOldTemplateList = dbEntity.GeneralPrivTemplates.Where(temp => temp.Code == oBackModel.Code).ToList();
     if (oOldTemplateList.Count > 0)
     {//如果原来存在模板, 则先删除模板中所有权限
         foreach (GeneralPrivTemplate item in oOldTemplateList)
         {
             item.Deleted = true;
             List<GeneralPrivItem> oOldTemplateItemList = dbEntity.GeneralPrivItems.Where(p => p.PrivID == item.Gid && p.Deleted==false).ToList();
             if (oOldTemplateItemList.Count > 0)
             {
                 foreach (GeneralPrivItem privitem in oOldTemplateItemList)
                 {
                     privitem.Deleted = true;
                 }
             }
         }
         dbEntity.SaveChanges();
     }
     foreach (MemberPrivilege oMemberPrivilege in oMemberPrivilegeList)
     {
         GeneralPrivTemplate oOldGeneralPrivTemplate = oOldTemplateList.Where(temp => temp.Ptype == oMemberPrivilege.Ptype).FirstOrDefault();
         bool bHasBefore = oOldGeneralPrivTemplate == null ? false : true;
         if (bHasBefore)
         {//之前有模板 则更新原来模板
             oOldGeneralPrivTemplate.Deleted = false;
             oOldGeneralPrivTemplate.Pstatus = oMemberPrivilege.Pstatus;
             oOldGeneralPrivTemplate.Remark = oBackModel.Remark;
             List<MemberPrivItem> oMemberPrivItemList = dbEntity.MemberPrivItems.Where(p => p.PrivID == oMemberPrivilege.Gid&&p.Deleted==false).ToList();
             foreach (MemberPrivItem oMemberPrivItem in oMemberPrivItemList)
             {
                 GeneralPrivItem oOldGeneralPrivItem = dbEntity.GeneralPrivItems.Where(p => p.PrivID == oOldGeneralPrivTemplate.Gid && p.RefID == oMemberPrivItem.RefID).FirstOrDefault();
                 if (oOldGeneralPrivItem != null)
                 {//原来有GeneralPrivItem 更新
                     oOldGeneralPrivItem.Deleted = false;
                     oOldGeneralPrivItem.NodeCode = oMemberPrivItem.NodeCode;
                     oOldGeneralPrivItem.NodeValue = oMemberPrivItem.NodeValue;
                     oOldGeneralPrivItem.Remark = oMemberPrivItem.Remark;
                 }
                 else
                 {//没有 则添加
                     GeneralPrivItem oNewPrivItem = new GeneralPrivItem
                     {
                         PrivID = oOldGeneralPrivTemplate.Gid,
                         RefID = oMemberPrivItem.RefID,
                         NodeCode = oMemberPrivItem.NodeCode,
                         NodeValue = oMemberPrivItem.NodeValue,
                         Remark = oMemberPrivItem.Remark
                     };
                     dbEntity.GeneralPrivItems.Add(oNewPrivItem);
                 }
             }
         }
         else
         {//添加
             GeneralPrivTemplate oNewPriv = new GeneralPrivTemplate
             {
                 Code = oBackModel.Code,
                 Ptype = oMemberPrivilege.Ptype,
                 Pstatus = oMemberPrivilege.Pstatus,
                 Remark = oBackModel.Remark
             };
             dbEntity.GeneralPrivTemplates.Add(oNewPriv);
             dbEntity.SaveChanges();
             List<MemberPrivItem> oMemberPrivItemList = dbEntity.MemberPrivItems.Where(p => p.PrivID == oMemberPrivilege.Gid&&p.Deleted==false).ToList();
             foreach (MemberPrivItem oMemberPrivItem in oMemberPrivItemList)
             {
                 GeneralPrivItem oNewPrivItem = new GeneralPrivItem
                 {
                     PrivID = oNewPriv.Gid,
                     RefID = oMemberPrivItem.RefID,
                     NodeCode = oMemberPrivItem.NodeCode,
                     NodeValue = oMemberPrivItem.NodeValue,
                     Remark = oMemberPrivItem.Remark
                 };
                 dbEntity.GeneralPrivItems.Add(oNewPrivItem);
             }
         }
     }
     dbEntity.SaveChanges();
 }