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()); }
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()); }
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); } }
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); } }
public SystemUserRolesAllowedAttribute(SystemUserRoles systemUserRoles) { SystemUserRoles = systemUserRoles; }
public bool Update(SystemUserRoles entity) { return(_systemUserRolesRepository.Update(entity)); }