Skip to content

Commit 76cd34b

Browse files
committed
Issue In the "UserRolesController" - Line no 63
1 parent 8aa9b77 commit 76cd34b

File tree

6 files changed

+164
-73
lines changed

6 files changed

+164
-73
lines changed

Controllers/SuperAdmin/UserRolesController.cs

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
using StartupProject_Asp.NetCore_PostGRE.Data.Enums;
66
using StartupProject_Asp.NetCore_PostGRE.Data.Models.Identity;
77
using StartupProject_Asp.NetCore_PostGRE.Models;
8+
using System;
89
using System.Collections.Generic;
10+
using System.Linq;
911
using System.Threading.Tasks;
1012

1113
namespace StartupProject_Asp.NetCore_PostGRE.Controllers.SuperAdmin
@@ -40,5 +42,61 @@ private async Task<List<string>> GetUserRoles(User user)
4042
{
4143
return new List<string>(await _userManager.GetRolesAsync(user));
4244
}
45+
public async Task<IActionResult> Manage(Guid userId)
46+
{
47+
ViewBag.userId = userId;
48+
User user = await _userManager.FindByIdAsync(userId.ToString());
49+
if (user == null)
50+
{
51+
ViewBag.ErrorMessage = $"User with Id = {userId} cannot be found";
52+
return View("NotFound");
53+
}
54+
ViewBag.UserName = user.UserName;
55+
List<ManageUserRolesViewModel> model = new List<ManageUserRolesViewModel>();
56+
foreach (Role role in _roleManager.Roles)
57+
{
58+
ManageUserRolesViewModel userRolesViewModel = new ManageUserRolesViewModel
59+
{
60+
RoleId = role.Id,
61+
RoleName = role.Name
62+
};
63+
var b = user.Roles.Where(x => x.RoleId == role.Id).FirstOrDefault();
64+
var a = await _userManager.IsInRoleAsync(user, role.Name);
65+
66+
if (await _userManager.IsInRoleAsync(user, role.Name))
67+
{
68+
userRolesViewModel.Selected = true;
69+
}
70+
else
71+
{
72+
userRolesViewModel.Selected = false;
73+
}
74+
model.Add(userRolesViewModel);
75+
}
76+
return View(model);
77+
}
78+
[HttpPost]
79+
public async Task<IActionResult> Manage(List<ManageUserRolesViewModel> model, string userId)
80+
{
81+
User user = await _userManager.FindByIdAsync(userId);
82+
if (user == null)
83+
{
84+
return View();
85+
}
86+
var roles = await _userManager.GetRolesAsync(user);
87+
var result = await _userManager.RemoveFromRolesAsync(user, roles);
88+
if (!result.Succeeded)
89+
{
90+
ModelState.AddModelError("", "Cannot remove user existing roles");
91+
return View(model);
92+
}
93+
result = await _userManager.AddToRolesAsync(user, model.Where(x => x.Selected).Select(y => y.RoleName));
94+
if (!result.Succeeded)
95+
{
96+
ModelState.AddModelError("", "Cannot add selected roles to user");
97+
return View(model);
98+
}
99+
return RedirectToAction("Index");
100+
}
43101
}
44102
}

Data/Migrations/20201120102710_InitialMigration.Designer.cs renamed to Data/Migrations/20201120155222_InitialMigration.Designer.cs

Lines changed: 29 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Data/Migrations/20201120102710_InitialMigration.cs renamed to Data/Migrations/20201120155222_InitialMigration.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -230,29 +230,29 @@ protected override void Up(MigrationBuilder migrationBuilder)
230230
columns: new[] { "Id", "ConcurrencyStamp", "Description", "Name", "NormalizedName" },
231231
values: new object[,]
232232
{
233-
{ new Guid("07b27774-2e2c-471a-9c2b-b154b4624159"), "4c9c4c26-378f-4426-9d32-b89e96b1c5ed", "Super Admin", "SuperAdmin", "SUPERADMIN" },
234-
{ new Guid("72a87bb5-8d72-414e-99c5-47e26a930e39"), "07db89ae-210a-4d28-ae3b-f66e05951846", "Admin", "Admin", "ADMIN" },
235-
{ new Guid("f34157d3-cdf5-4f1a-ae1c-7637c3d249b6"), "2bbc9748-37c8-42a4-87a1-595d498777ba", "Auditor", "Auditor", "AUDITOR" },
236-
{ new Guid("9f19219c-a267-4f14-94ac-e4f4e882f631"), "e3650d2e-6403-4dd7-97be-e4ebbbe3a06d", "Team Member", "TeamMember", "TEAMMEMBER" },
237-
{ new Guid("d2bdacab-43f3-4dc8-b6e9-f4f2664ec1c0"), "a796a145-5301-4c1c-82d9-44fce7d3ad6c", "Basic Member", "BasicMember", "BASICMEMBER" }
233+
{ new Guid("85f55b49-5bac-4cde-a428-6094455c5cfd"), "0d7b3108-fc97-4510-9ea4-d674ddff7f7c", "Super Admin", "SuperAdmin", "SUPERADMIN" },
234+
{ new Guid("2b0f4cbe-31d1-4a34-a870-b5aee5462363"), "93de3f59-a10a-4b11-b6dc-389b41594fcc", "Admin", "Admin", "ADMIN" },
235+
{ new Guid("3a184a66-c5c4-4d17-983c-39a8ad4df069"), "cdcd4bd2-d193-4015-9a0f-b546c39662dc", "Auditor", "Auditor", "AUDITOR" },
236+
{ new Guid("2c9b8308-30e1-46b4-8856-aac7bcae827d"), "dc495638-1d28-43e8-96b0-1859f09e4639", "Team Member", "TeamMember", "TEAMMEMBER" },
237+
{ new Guid("c78ca36a-0fee-4248-8e4f-c19513a23b63"), "65d03625-92d1-43ca-9a7e-595de5f827dd", "Basic Member", "BasicMember", "BASICMEMBER" }
238238
});
239239

240240
migrationBuilder.InsertData(
241241
schema: "Identity",
242242
table: "User",
243243
columns: new[] { "Id", "AccessFailedCount", "ConcurrencyStamp", "Email", "EmailConfirmed", "FirstName", "LastName", "LockoutEnabled", "LockoutEnd", "NormalizedEmail", "NormalizedUserName", "PasswordHash", "PhoneNumber", "PhoneNumberConfirmed", "ProfilePicture", "SecurityStamp", "TwoFactorEnabled", "UserName", "UsernameChangeLimit" },
244-
values: new object[] { new Guid("f3bd1e34-85fe-4a43-b53b-1ef286ea04f8"), 0, "cdda5a00-7b25-4ef2-972c-5dab4a35a205", "abrar@jahin.com", true, null, null, false, null, "ABRAR@JAHIN.COM", "ABRAR", "AQAAAAEAACcQAAAAEL/CVumOGcWs3skLL1JhCSlCLrP4FklZwAIB5cmHvluUJtu+HKYf6ymLAxsdfpNzfw==", null, false, null, "637414864295204029_112bb0b1-e64b-42c4-bb80-a45779b39876", false, "abrar", 10 });
244+
values: new object[] { new Guid("72497bc1-2879-4022-af64-30345b73cfef"), 0, "be2aa85c-d55b-44f3-a762-f47c3c95ed0b", "abrar@jahin.com", true, null, null, false, null, "ABRAR@JAHIN.COM", "ABRAR", "AQAAAAEAACcQAAAAEGQDu83uU8avcQ6SXzGH7/7nHhldEi1Eo2nzZV9POpiBVfLHSwdtoZB69GRXy0lxxg==", null, false, null, "637415059413407165_505bc728-908e-4866-a567-ee9104cc6d18", false, "abrar", 10 });
245245

246246
migrationBuilder.InsertData(
247247
schema: "Identity",
248248
table: "UserClaim",
249249
columns: new[] { "Id", "ClaimType", "ClaimValue", "UserId", "UserId1" },
250250
values: new object[,]
251251
{
252-
{ -1, "RoleRead", "Read Role", new Guid("f3bd1e34-85fe-4a43-b53b-1ef286ea04f8"), null },
253-
{ -2, "RoleWrite", "Write Role", new Guid("f3bd1e34-85fe-4a43-b53b-1ef286ea04f8"), null },
254-
{ -3, "RoleUpdate", "Update Role", new Guid("f3bd1e34-85fe-4a43-b53b-1ef286ea04f8"), null },
255-
{ -4, "RoleDelete", "Delete Role", new Guid("f3bd1e34-85fe-4a43-b53b-1ef286ea04f8"), null }
252+
{ -1, "RoleRead", "Read Role", new Guid("72497bc1-2879-4022-af64-30345b73cfef"), null },
253+
{ -2, "RoleWrite", "Write Role", new Guid("72497bc1-2879-4022-af64-30345b73cfef"), null },
254+
{ -3, "RoleUpdate", "Update Role", new Guid("72497bc1-2879-4022-af64-30345b73cfef"), null },
255+
{ -4, "RoleDelete", "Delete Role", new Guid("72497bc1-2879-4022-af64-30345b73cfef"), null }
256256
});
257257

258258
migrationBuilder.InsertData(
@@ -261,11 +261,11 @@ protected override void Up(MigrationBuilder migrationBuilder)
261261
columns: new[] { "UserId", "RoleId", "ReasonForAdding", "RoleId1", "UserId1" },
262262
values: new object[,]
263263
{
264-
{ new Guid("f3bd1e34-85fe-4a43-b53b-1ef286ea04f8"), new Guid("07b27774-2e2c-471a-9c2b-b154b4624159"), "Migration", null, null },
265-
{ new Guid("f3bd1e34-85fe-4a43-b53b-1ef286ea04f8"), new Guid("72a87bb5-8d72-414e-99c5-47e26a930e39"), "Migration", null, null },
266-
{ new Guid("f3bd1e34-85fe-4a43-b53b-1ef286ea04f8"), new Guid("f34157d3-cdf5-4f1a-ae1c-7637c3d249b6"), "Migration", null, null },
267-
{ new Guid("f3bd1e34-85fe-4a43-b53b-1ef286ea04f8"), new Guid("9f19219c-a267-4f14-94ac-e4f4e882f631"), "Migration", null, null },
268-
{ new Guid("f3bd1e34-85fe-4a43-b53b-1ef286ea04f8"), new Guid("d2bdacab-43f3-4dc8-b6e9-f4f2664ec1c0"), "Migration", null, null }
264+
{ new Guid("72497bc1-2879-4022-af64-30345b73cfef"), new Guid("85f55b49-5bac-4cde-a428-6094455c5cfd"), "Migration", null, null },
265+
{ new Guid("72497bc1-2879-4022-af64-30345b73cfef"), new Guid("2b0f4cbe-31d1-4a34-a870-b5aee5462363"), "Migration", null, null },
266+
{ new Guid("72497bc1-2879-4022-af64-30345b73cfef"), new Guid("3a184a66-c5c4-4d17-983c-39a8ad4df069"), "Migration", null, null },
267+
{ new Guid("72497bc1-2879-4022-af64-30345b73cfef"), new Guid("2c9b8308-30e1-46b4-8856-aac7bcae827d"), "Migration", null, null },
268+
{ new Guid("72497bc1-2879-4022-af64-30345b73cfef"), new Guid("c78ca36a-0fee-4248-8e4f-c19513a23b63"), "Migration", null, null }
269269
});
270270

271271
migrationBuilder.CreateIndex(

0 commit comments

Comments
 (0)