예제 #1
0
 static partial void OnCreatingRolesAndUsers(object sender, secModule module);
예제 #2
0
        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);
                }
            }
        }
예제 #3
0
        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);
            }
        }