static partial void OnCreatingRolesAndUsers(object sender, secModule module);
public static void AddPermissionIfNotExist(secModule module, secBusinessObject businessObject, secPermission permission) { // se asume que el permiso ya existe // se asume que el m?dulo ya existe ContextRequest contextRequest = new ContextRequest(); if (businessObject == null) { // m?dulo y permiso ya existen secPermission mp = SFSdotNet.Framework.Security.BR.secPermissionsBR.Instance.GetBy( p => p.PermissionKey == permission.PermissionKey && p.secModules.Any(x => x.ModuleKey == module.ModuleKey) , contextRequest).FirstOrDefault(); if (mp == null) { SFSdotNet.Framework.Security.BR.secPermissionsBR.Instance.AddRelation(permission, module); } secRoleModulePermission rmp = SFSdotNet.Framework.Security.BR.secRoleModulePermissionsBR.Instance.GetBy( p => p.secRole.LoweredRoleName == "superadmin" && p.secModule.ModuleKey == module.ModuleKey && p.secPermission.PermissionKey == permission.PermissionKey, contextRequest).FirstOrDefault(); if (rmp == null) { rmp = new secRoleModulePermission(); rmp.secRole = SFSdotNet.Framework.Security.BR.secRolesBR.Instance.GetBy(p => p.LoweredRoleName == "superadmin", contextRequest).FirstOrDefault(); rmp.secModule = module; rmp.secPermission = permission; rmp.IsAllowed = true; SFSdotNet.Framework.Security.BR.secRoleModulePermissionsBR.Instance.Create(rmp, contextRequest); } rmp = SFSdotNet.Framework.Security.BR.secRoleModulePermissionsBR.Instance.GetBy( p => p.secRole.LoweredRoleName == "sfsservicedesk admin" && p.secModule.ModuleKey == module.ModuleKey && p.secPermission.PermissionKey == permission.PermissionKey, contextRequest).FirstOrDefault(); if (rmp == null) { rmp = new secRoleModulePermission(); rmp.secRole = SFSdotNet.Framework.Security.BR.secRolesBR.Instance.GetBy(p => p.LoweredRoleName == "sfsservicedesk admin", contextRequest).FirstOrDefault(); rmp.secModule = module; rmp.secPermission = permission; rmp.IsAllowed = true; SFSdotNet.Framework.Security.BR.secRoleModulePermissionsBR.Instance.Create(rmp, contextRequest); } } else { secModuleObjectPermission mop = SFSdotNet.Framework.Security.BR.secModuleObjectPermissionsBR.Instance.GetBy( p => p.secPermission.PermissionKey == permission.PermissionKey && p.secBusinessObject.BusinessObjectKey == businessObject.BusinessObjectKey && p.secModule.ModuleKey == module.ModuleKey , contextRequest).FirstOrDefault(); if (mop == null) { mop = new secModuleObjectPermission(); mop.secModule = module; mop.secBusinessObject = businessObject; mop.secPermission = permission; mop = SFSdotNet.Framework.Security.BR.secModuleObjectPermissionsBR.Instance.Create(mop, contextRequest); } secRoleModuleObjectPermission rmop = SFSdotNet.Framework.Security.BR.secRoleModuleObjectPermissionsBR.Instance.GetBy( p => p.secRole.LoweredRoleName == "superadmin" && p.secModule.ModuleKey == module.ModuleKey && p.secBusinessObject.BusinessObjectKey == businessObject.BusinessObjectKey && p.secPermission.PermissionKey == permission.PermissionKey, contextRequest).FirstOrDefault(); if (rmop == null) { rmop = new secRoleModuleObjectPermission(); rmop.secBusinessObject = businessObject; rmop.secModule = module; rmop.secRole = SFSdotNet.Framework.Security.BR.secRolesBR.Instance.GetBy(p => p.LoweredRoleName == "superadmin", contextRequest).FirstOrDefault(); rmop.secPermission = permission; rmop.IsAllowed = true; SFSdotNet.Framework.Security.BR.secRoleModuleObjectPermissionsBR.Instance.Create(rmop, contextRequest); } rmop = SFSdotNet.Framework.Security.BR.secRoleModuleObjectPermissionsBR.Instance.GetBy( p => p.secRole.LoweredRoleName == "sfsservicedesk admin" && p.secModule.ModuleKey == module.ModuleKey && p.secBusinessObject.BusinessObjectKey == businessObject.BusinessObjectKey && p.secPermission.PermissionKey == permission.PermissionKey, contextRequest).FirstOrDefault(); if (rmop == null) { rmop = new secRoleModuleObjectPermission(); rmop.secBusinessObject = businessObject; rmop.secModule = module; rmop.secRole = SFSdotNet.Framework.Security.BR.secRolesBR.Instance.GetBy(p => p.LoweredRoleName == "sfsservicedesk admin", contextRequest).FirstOrDefault(); rmop.secPermission = permission; rmop.IsAllowed = true; SFSdotNet.Framework.Security.BR.secRoleModuleObjectPermissionsBR.Instance.Create(rmop, contextRequest); } } }
public static void AddOrUpdateEntities() { try { SFS.Core.My.EventLog.Action("creating entities", ); secModule module = SFS.Core.Cache.Caching.SystemObjects.GetModuleByKey("KSTime"); SFS.Core.Security.BR.secBusinessObjectsBR brObjects = new SFS.Core.Security.BR.secBusinessObjectsBR(true); ContextRequest context = new ContextRequest(); context.User = new secUser(); context.Company = new secCompany(); secBusinessObject entity; if (brObjects.GetCount(p => p.BusinessObjectKey == "KstEmailTemplate" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstEmailTemplate"; entity.EntitySetName = "KstEmailTemplates"; entity.BusinessObjectKey = "KstEmailTemplate"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "KstProxyGeoCity" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstProxyGeoCity"; entity.EntitySetName = "KstProxyGeoCities"; entity.BusinessObjectKey = "KstProxyGeoCity"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "KstProxyGeoCountry" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstProxyGeoCountry"; entity.EntitySetName = "KstProxyGeoCountries"; entity.BusinessObjectKey = "KstProxyGeoCountry"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "KstProxyGeoState" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstProxyGeoState"; entity.EntitySetName = "KstProxyGeoStates"; entity.BusinessObjectKey = "KstProxyGeoState"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "KstActivity" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstActivity"; entity.EntitySetName = "KstActivities"; entity.BusinessObjectKey = "KstActivity"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "KstProject" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstProject"; entity.EntitySetName = "KstProjects"; entity.BusinessObjectKey = "KstProject"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "KstProjectUser" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstProjectUser"; entity.EntitySetName = "KstProjectUsers"; entity.BusinessObjectKey = "KstProjectUser"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "KstWorkTime" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstWorkTime"; entity.EntitySetName = "KstWorkTimes"; entity.BusinessObjectKey = "KstWorkTime"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "KstFile" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstFile"; entity.EntitySetName = "KstFiles"; entity.BusinessObjectKey = "KstFile"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "KstProjectFile" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstProjectFile"; entity.EntitySetName = "KstProjectFiles"; entity.BusinessObjectKey = "KstProjectFile"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "KstUserFile" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstUserFile"; entity.EntitySetName = "KstUserFiles"; entity.BusinessObjectKey = "KstUserFile"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "KstWorkTimeFile" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstWorkTimeFile"; entity.EntitySetName = "KstWorkTimeFiles"; entity.BusinessObjectKey = "KstWorkTimeFile"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "KstProxyRole" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstProxyRole"; entity.EntitySetName = "KstProxyRoles"; entity.BusinessObjectKey = "KstProxyRole"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "KstProxyUser" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "KstProxyUser"; entity.EntitySetName = "KstProxyUsers"; entity.BusinessObjectKey = "KstProxyUser"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "unProxyBusinessObject" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "unProxyBusinessObject"; entity.EntitySetName = "unProxyBusinessObjects"; entity.BusinessObjectKey = "unProxyBusinessObject"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "unProxyEvent" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "unProxyEvent"; entity.EntitySetName = "unProxyEvents"; entity.BusinessObjectKey = "unProxyEvent"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "unProxySetting" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "unProxySetting"; entity.EntitySetName = "unProxySettings"; entity.BusinessObjectKey = "unProxySetting"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } if (brObjects.GetCount(p => p.BusinessObjectKey == "UploadFileResult" && p.secModule.GuidModule == module.GuidModule, context) == 0) { entity = new secBusinessObject(); entity.GuidModule = module.GuidModule; entity.Name = "UploadFileResult"; entity.EntitySetName = "UploadFileResult"; entity.BusinessObjectKey = "UploadFileResult"; entity = SFS.Core.Security.BR.secBusinessObjectsBR.Instance.Create(entity, context); } } catch (Exception ex) { SFS.Core.My.EventLog.Exception(ex); } }