public async Task <ActionResult> AssignRole() { string signedInUserID = ClaimsPrincipal.Current.FindFirst(JwtRegisteredClaimNames.Sub).Value; var confidentialClientApplication = MSALAppBuilder.GetAppBuilder(signedInUserID, this.HttpContext); var user = await confidentialClientApplication.GetAccountsAsync(); AuthenticationResult result = await confidentialClientApplication.AcquireTokenSilentAsync(new List <string>() { AuthenticationConfig.azureManagementScope }, user.FirstOrDefault(), AuthenticationConfig.authority, false); var roleAssignmentModel = new RoleAssignmentModel() { SubscriptionId = "47ca3602-b986-46de-a99a-e473c26bd588", ResourceGroupName = "AdityaAzureRG", StorageAccountName = "researchstorageacct", ContainerName = "research", RoleId = "2a2b9908-6ea1-4ae2-8e65-a410df84e7d1", ServicePrincipalObjectId = "04f300cc-5632-4820-8fd2-9d36e7efd020", RoleAssignmentName = Guid.NewGuid().ToString() }; var roleAssignmentService = new RoleAssignmentService(roleAssignmentModel); var httpResponseMessage = await roleAssignmentService.AssignRole(result.AccessToken); var responeFromazureAPi = await httpResponseMessage.Content.ReadAsStringAsync(); var deserializeResponse = JsonConvert.DeserializeObject(responeFromazureAPi).ToString(); return(View("AssignRole", (object)deserializeResponse)); }
public RoleAssignmentService(RoleAssignmentModel roleAssisgnmentModel) { _roleAssisgnmentModel = roleAssisgnmentModel; }
public ActionResult Edit(int id, int pid = 0) { try { var role = usertypebll.GetAllUserTypeAssignments(); //var AllRoles = usertypebll.GetAllUserTypes(); var AllRoles = UserRolebll.GetAllRoles(); var AllModules = modulebll.GetAllModules(); List<int> roAss = new List<int>(); List<int> ModId = new List<int>(); List<int> FinalModId = new List<int>(); RoleAssignmentModel _userRoles = new RoleAssignmentModel(); int take = 10; int skip = take * pid; _userRoles.PageID = pid; _userRoles.Current = pid + 1; ViewBag.c = _userRoles.PageID; List<RoleAssignmentModel> _Roles = objdb.RoleAssignments.Where(x => x.UserTypeId == id).Select(x => new RoleAssignmentModel { RoleAssgnId = x.Id, UserTypeId = x.UserTypeId, RoleName = x.Role.RoleName, ModuleName = x.Module.ModuleName, ModuleId = x.ModuleId, IsAdd = x.IsAdd, IsEdit = x.IsEdit, IsDelete = x.IsDelete, IsView = x.IsView, IsEnable = x.IsEnable, IsActive = x.IsActive }).ToList(); // selecting ModuleId from RoleAssignment table based on RoleId roAss = (from mi in role where mi.UserTypeId == id select mi.ModuleId).ToList(); // Select All ModuleId from Module... ModId = (from mo in AllModules select mo.ModuleId).ToList(); // RoleAssignment not containing Module foreach (int str in ModId) { if (!roAss.Contains(str)) FinalModId.Add(str); } List<RoleAssignmentModel> _allMod = new List<RoleAssignmentModel>(); _allMod = AllModules.Select(x => new RoleAssignmentModel { ModuleId = x.ModuleId, ModuleName = x.ModuleName, IsAdd = false, IsEdit = false, IsDelete = false, IsView = false, IsEnable = false, IsActive = false, }).ToList(); // Adding Role module list to new Module which are not in list foreach (var item in _allMod) { if (FinalModId.Contains(item.ModuleId)) { _Roles.Add(item); } } List<RoleModal> _roleModel = AllRoles.Select(x => new RoleModal { RoleId = x.RoleId, RoleName = x.RoleName, }).ToList(); _userRoles.UserTypeId = id; _userRoles.ModuleList = _Roles; _userRoles.RolesModel = _roleModel; Session["ModList"] = _Roles; return View(_userRoles); } catch (Exception e) { //ViewBag.msg = "Refersh Page "; //return RedirectToAction("Index"); throw e; } }
public ActionResult Update(RoleAssignmentModel roleAssigmnetModel, List<string> addOptions, List<string> editOptions, List<string> delOptions, List<string> viewOptions, List<string> statusOptions, List<string> AllModuleId) { try { List<string> roAss = new List<string>(); List<string> FinalModId = new List<string>(); var assignments = objdb.RoleAssignments.Where(x => x.UserTypeId == roleAssigmnetModel.UserTypeId).Select(x => new RoleAssignmentModel { RoleAssgnId = x.Id, UserTypeId = x.UserTypeId, UserTypeName = x.UserType.UserTypeName, ModuleId = x.ModuleId, ModuleName = x.Module.ModuleName, IsAdd = x.IsAdd, IsEdit = x.IsEdit, IsDelete = x.IsDelete, IsView = x.IsView, IsEnable = x.IsEnable, IsActive = x.IsActive }).ToList(); // selecting ModuleId from RoleAssignment table based on RoleId roAss = (from mi in assignments select Convert.ToString(mi.ModuleId)).ToList(); foreach (string str in AllModuleId) { if (!roAss.Contains(str)) FinalModId.Add(str); } #region Update Role Assignments foreach (var item in assignments) { RoleAssignment objRoleAssignmet = objdb.RoleAssignments.Find(item.RoleAssgnId); if (objRoleAssignmet != null) { if (addOptions != null) { if (addOptions.Contains(item.ModuleId.ToString())) objRoleAssignmet.IsAdd = true; else objRoleAssignmet.IsAdd = false; } else { objRoleAssignmet.IsAdd = false; } if (editOptions != null) { if (editOptions.Contains(item.ModuleId.ToString())) objRoleAssignmet.IsEdit = true; else objRoleAssignmet.IsEdit = false; } else { objRoleAssignmet.IsEdit = false; } if (delOptions != null) { if (delOptions.Contains(item.ModuleId.ToString())) objRoleAssignmet.IsDelete = true; else objRoleAssignmet.IsDelete = false; } else { objRoleAssignmet.IsDelete = false; } if (viewOptions != null) { if (viewOptions.Contains(item.ModuleId.ToString())) objRoleAssignmet.IsView = true; else objRoleAssignmet.IsView = false; } else { objRoleAssignmet.IsView = false; } if (statusOptions != null) { if (statusOptions.Contains(item.ModuleId.ToString())) objRoleAssignmet.IsActive = true; else objRoleAssignmet.IsActive = false; } else { objRoleAssignmet.IsActive = false; } objdb.RoleAssignments.Add(objRoleAssignmet); //objRoleAssignmet.UpdatedDate = DateTime.Now; // objRoleAssignmet.UpdatedBy = Convert.ToInt32(Session["UserId"]); objdb.SaveChanges(); } } #endregion #region Insert RoleAssignment if (FinalModId.Count > 0) { foreach (var item in FinalModId) { int mid = Convert.ToInt32(item); RoleAssignment _role = new RoleAssignment(); _role.UserTypeId = roleAssigmnetModel.UserTypeId; _role.ModuleId = mid; var data = (from d in modulebll.GetAllModules() where d.ModuleId == mid select d).ToList(); if (data.Count > 0) { foreach (var val in data) { if (addOptions != null) { if (addOptions.Contains(Convert.ToString(val.ModuleId))) _role.IsAdd = true; else _role.IsAdd = false; } else { _role.IsAdd = false; } if (editOptions != null) { if (editOptions.Contains(Convert.ToString(val.ModuleId))) _role.IsEdit = true; else _role.IsEdit = false; } else { _role.IsEdit = false; } if (delOptions != null) { if (delOptions.Contains(Convert.ToString(val.ModuleId))) _role.IsDelete = true; else _role.IsDelete = false; } else { _role.IsDelete = false; } if (viewOptions != null) { if (viewOptions.Contains(Convert.ToString(val.ModuleId))) _role.IsView = true; else _role.IsView = false; } else { _role.IsView = false; } if (statusOptions != null) { if (statusOptions.Contains(Convert.ToString(val.ModuleId))) _role.IsActive = true; else _role.IsActive = false; } else { _role.IsActive = false; } //_role.CreatedBy = Convert.ToInt32(Session["UserId"]); //_role.CreatedDate = DateTime.Now; objdb.RoleAssignments.Add(_role); objdb.SaveChanges(); } } } } #endregion } catch (Exception e) { throw e; } Session["Success"] = "Successfully updated"; return RedirectToAction("Index", "RoleAssignment"); }