public PartnerRole2PrivilegeItem GetPartnerRole2PrivilegeItem(Sender sender, Guid RoleID, Guid PrivilegeItemID) { try { using (ObjectProxy op = new ObjectProxy()) { PartnerRole2PrivilegeItem obj = new PartnerRole2PrivilegeItem(); obj.RoleID = RoleID; obj.PrivilegeItemID = PrivilegeItemID; if (op.LoadPartnerRole2PrivilegeItemByRoleID_PrivilegeItemID(obj) == 0) { return(null); } return(obj); } } catch (Exception ex) { PLogger.LogError(ex); throw ex; } }
public void SavePartnerRole(Sender sender, SavePartnerRoleArgs args) { try { if (string.IsNullOrEmpty(args.PartnerRole.RoleName)) { throw new Exception(string.Format("角色名称:{0}命名无效,可能存在特殊字符。", args.PartnerRole.RoleName)); } if (PartnerRoleIsDuplicated(sender, args.PartnerRole)) { throw new Exception(string.Format("角色名称:{0}已存在,请重新输入。", args.PartnerRole.RoleName)); } using (ObjectProxy op = new ObjectProxy(true)) { PartnerRole role = new PartnerRole(); role.RoleID = args.PartnerRole.RoleID; if (op.LoadPartnerRoleByRoleID(role) == 0) { role = null; } if (role == null) { args.PartnerRole.Created = DateTime.Now; args.PartnerRole.CreatedBy = sender.UserCode + "." + sender.UserName; args.PartnerRole.Modified = args.PartnerRole.Created; args.PartnerRole.ModifiedBy = args.PartnerRole.CreatedBy; op.InsertPartnerRole(args.PartnerRole); } else { args.PartnerRole.Modified = DateTime.Now; args.PartnerRole.ModifiedBy = sender.UserCode + "." + sender.UserName; op.UpdatePartnerRoleByRoleID(args.PartnerRole); } if (args.UserIDs != null) { op.DeletePartnerUser2RolesByRoleID(args.PartnerRole.RoleID); foreach (Guid userID in args.UserIDs) { PartnerUser2Role ug = new PartnerUser2Role(); ug.UserID = userID; ug.RoleID = args.PartnerRole.RoleID; op.InsertPartnerUser2Role(ug); } } if (args.PrivilegeItemIDs != null) { op.DeletePartnerRole2PrivilegeItemsByRoleID(args.PartnerRole.RoleID); foreach (Guid privilege in args.PrivilegeItemIDs) { PartnerRole2PrivilegeItem rp = new PartnerRole2PrivilegeItem(); rp.RoleID = args.PartnerRole.RoleID; rp.PrivilegeItemID = privilege; op.InsertPartnerRole2PrivilegeItem(rp); } } op.CommitTransaction(); } } catch (Exception ex) { PLogger.LogError(ex); throw ex; } }