private void UpdatePermission(UserPermissionTree userPermissionTree, Attribute.PermissionAttribute permissionAttribute) { var currPerm = XDocument.Parse(userPermissionTree.GetAsXML()); userPermissionTree.PermissionID = permissionAttribute.PermissionID; userPermissionTree.Name = permissionAttribute.Name; userPermissionTree.ParentID = permissionAttribute.ParentID; userPermissionTree.UserPermissionForms.FormType = permissionAttribute.FormType; userPermissionTree.Options = permissionAttribute.Options; var attrPerm = XDocument.Parse(userPermissionTree.GetAsXML()); if (!XDocument.DeepEquals(currPerm, attrPerm)) { int ret = userPermissionTree.Update(); if (ret != 0) { string err; company.GetLastError(out ret, out err); string exceptionErr = String.Format(Messages.PermissionUpdateError, permissionAttribute.PermissionID, err); Logger.Error(exceptionErr); } else { Logger.Info(String.Format(Messages.PermissionUpdateSuccess, permissionAttribute.PermissionID)); } } }
public bool PermissionExists(Attribute.PermissionAttribute permissionAttribute) { UserPermissionTree userPermissionTree = null; Logger.Debug(DebugString.Format(Messages.PermissionStart, permissionAttribute.PermissionID)); try { userPermissionTree = (UserPermissionTree)company.GetBusinessObject(BoObjectTypes.oUserPermissionTree); if (userPermissionTree.GetByKey(permissionAttribute.PermissionID)) { return(true); } else { return(false); } } catch (Exception e) { Logger.Error(String.Format(Messages.UpdateOrSavePermissionError, e.Message), e); throw e; } finally { if (userPermissionTree != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(userPermissionTree); } Logger.Debug(DebugString.Format(Messages.PermissionEnd, permissionAttribute.PermissionID)); } }
private void AddPermission(UserPermissionTree userPermissionTree, Attribute.PermissionAttribute permissionAttribute) { userPermissionTree.PermissionID = permissionAttribute.PermissionID; userPermissionTree.Name = permissionAttribute.Name; userPermissionTree.ParentID = permissionAttribute.ParentID; userPermissionTree.UserPermissionForms.FormType = permissionAttribute.FormType; userPermissionTree.Options = permissionAttribute.Options; int ret = userPermissionTree.Add(); if (ret != 0) { string err; company.GetLastError(out ret, out err); string exceptionErr = String.Format(Messages.PermissionError, permissionAttribute.PermissionID, err); Logger.Error(exceptionErr); } else { Logger.Info(String.Format(Messages.PermissionSuccess, permissionAttribute.PermissionID)); } }