Beispiel #1
0
 public IActionResult AssignRolesToUser([FromBody] AddUserRolesModel model)
 {
     foreach (var rid in model.RoleId)
     {
         var role = _roleService.FindById(rid);
         if (role.Name.IsCaseInsensitiveEqual("administrator"))
         {
             return(JError(T["notallow_edit"]));
         }
     }
     if (model.UserId.IsEmpty())
     {
         return(NotSpecifiedRecord());
     }
     foreach (var uid in model.UserId)
     {
         var userRoles = new List <SystemUserRoles>();
         foreach (var rid in model.RoleId)
         {
             var entity = new SystemUserRoles
             {
                 SystemUserId     = uid,
                 RoleId           = rid,
                 SystemUserRoleId = Guid.NewGuid()
             };
             userRoles.Add(entity);
         }
         _systemUserRolesService.UpdateUserRoles(uid, userRoles);
     }
     return(SaveSuccess());
 }
Beispiel #2
0
        public IActionResult AddUserRoles([FromBody] AddUserRolesModel model)
        {
            if (model.UserId.IsEmpty() || model.RoleId.IsEmpty())
            {
                return(NotSpecifiedRecord());
            }
            var userRoles       = new List <SystemUserRoles>();
            var existsUserRoles = _systemUserRolesService.Query(x => x.Where(f => f.SystemUserId.In(model.UserId) && f.RoleId.In(model.RoleId)));

            foreach (var uid in model.UserId)
            {
                foreach (var rid in model.RoleId)
                {
                    if (existsUserRoles.Exists(x => x.RoleId == rid && x.SystemUserId == uid))
                    {
                        continue;
                    }
                    var entity = new SystemUserRoles
                    {
                        SystemUserId     = uid,
                        RoleId           = rid,
                        SystemUserRoleId = Guid.NewGuid()
                    };
                    userRoles.Add(entity);
                }
            }
            if (userRoles.NotEmpty())
            {
                _systemUserRolesService.CreateMany(userRoles);
            }
            return(SaveSuccess());
        }
Beispiel #3
0
        private int SaveSystemUserRoles()
        {
            UserManagement  userManagement  = new UserManagement();
            SystemUserRoles systemuserroles = new SystemUserRoles();

            systemuserroles             = userManagement.RetrieveUserRolesByUniqID(Global.CompanyCode, mdlGlobal.systemUsers.UserCode);
            systemuserroles.CreatedBy   = mdlGlobal.GetComputerName() + " - " + mdlGlobal.systemUsers.UserName;
            systemuserroles.LastVersion = Global.strVersionNo;

            int intResult = userManagement.EditUserRoles(systemuserroles);

            if (userManagement.Error == "")
            {
                return(intResult);
            }
            else
            {
                MessageBox.Show(userManagement.Error, Global.strProductName);
                return(intResult);
            }
        }
        public void When_doing_a_crm_linq_query_with_an_intersect_entity_and_2_levels_of_joins_and_where_clauses_right_result_is_returned()
        {
            var fakedContext = new XrmFakedContext();
            fakedContext.ProxyTypesAssembly = Assembly.GetExecutingAssembly();

            var parentRole = new Role() { Id = Guid.NewGuid(), Name = "System Administrator" };
            var role = new Role() { Id = Guid.NewGuid(), Name = "Sys Admin" };
            var user = new SystemUser() { Id = Guid.NewGuid(), FirstName = "Jordi" };
            var systemRole = new SystemUserRoles() { Id = Guid.NewGuid() };
            
            

            role["parentroleid"] = parentRole.ToEntityReference();
            systemRole["systemuserid"] = user.ToEntityReference();
            systemRole["roleid"] = role.ToEntityReference();

            
            fakedContext.Initialize(new List<Entity>() {
                user, systemRole, role, parentRole
            });

            var service = fakedContext.GetFakedOrganizationService();

            using (XrmServiceContext ctx = new XrmServiceContext(service))
            {
                var matches = (from sr in ctx.CreateQuery<SystemUserRoles>()
                               join r in ctx.CreateQuery<Role>() on sr.RoleId equals r.RoleId
                               join u in ctx.CreateQuery<SystemUser>() on sr.SystemUserId equals u.SystemUserId

                               where u.FirstName == "Jordi"
                               where r.Name == "Sys Admin"
                               select sr).ToList();

                Assert.True(matches.Count == 1);
            }
        }
Beispiel #5
0
        public void Execute(IServiceProvider serviceProvider)
        {
            // ITracingService
            IPluginExecutionContext     con     = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
            IOrganizationServiceFactory orgfact = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
            IOrganizationService        serv    = (IOrganizationService)orgfact.CreateOrganizationService(con.UserId);


            SystemUser      systemuser = (SystemUser)serv.Retrieve("systemuser", con.UserId, new ColumnSet(true));
            SystemUser      inituser   = (SystemUser)serv.Retrieve("systemuser", con.InitiatingUserId, new ColumnSet(true));
            SystemUserRoles rol        = new SystemUserRoles();
            Role            rile       = new Role();



            ColumnSet col = new ColumnSet();

            col.AllColumns = true;
            QueryExpression query = new QueryExpression(rol.LogicalName);        //string s = rol.LogicalName;

            query.ColumnSet = col;
            query.Criteria.AddCondition(rol.LogicalName, "systemuserid", ConditionOperator.Equal, inituser.Id);
            //SystemUser sys=new SystemUser();
            //ColumnSet col=new ColumnSet();
            //col.AddColumn("domainname");
            //col.AddColumn("OrganizationId");

            Guid             role_id = new Guid();
            EntityCollection rols    = serv.RetrieveMultiple(query);

            foreach (var p in rols.Entities)
            {
                role_id = (Guid)p["roleid"];
            }                                                                         //rol.RoleId
            QueryExpression roleq = new QueryExpression(rile.LogicalName);

            roleq.ColumnSet = col;
            roleq.Criteria.AddCondition(rile.LogicalName, "roleid", ConditionOperator.Equal, role_id);
            EntityCollection role = serv.RetrieveMultiple(roleq);
            string           tem  = null;

            foreach (var s in role.Entities)
            {
                tem = (string)s["name"];
            }


            // Guid g=(Guid)systemuser.OrganizationId;
            Organization organisation = (Organization)serv.Retrieve("organization", (Guid)systemuser.OrganizationId, new ColumnSet(true));
            // systemuser.
            Entity entity = (Entity)con.InputParameters["Target"];

            entity["nazi_inituser"]   = inituser.DomainName;
            entity["nazi_pluginname"] = systemuser.DomainName;
            entity["nazi_orgname"]    = organisation.Name;
            entity["nazi_role"]       = tem;
            //nazi_a_22_entity a_22 = (nazi_a_22_entity)entity;
            //a_22.nazi_inituser = inituser.DomainName;
            //a_22.nazi_pluginname = systemuser.DomainName;
            //a_22.nazi_orgname = organisation.Name;
            try
            {
                serv.Update(entity);
            }
            catch (Exception ep)
            {
                throw new InvalidPluginExecutionException(ep.Message);
            }
        }
Beispiel #6
0
 public SystemUserRolesAllowedAttribute(SystemUserRoles systemUserRoles)
 {
     SystemUserRoles = systemUserRoles;
 }
 public bool Update(SystemUserRoles entity)
 {
     return(_systemUserRolesRepository.Update(entity));
 }