public async Task <IActionResult> UstawRole(int?id) { if (id == null) { return(NotFound()); } var user = await _userManager.FindByIdAsync(id.ToString()); if (user == null) { return(NotFound()); } var Input = new InputModelSetRoles { Id = (int)id, Email = user.email, StatusMessage = null }; if (await _userManager.IsInRoleAsync(user, "Klient")) { ViewBag.Klient = "checked"; } if (await _userManager.IsInRoleAsync(user, "Bibliotekarz")) { ViewBag.Bibliotekarz = "checked"; } if (await _userManager.IsInRoleAsync(user, "Admin")) { ViewBag.Admin = "checked"; } return(View(Input)); }
public async Task <IActionResult> UstawRole(int id, IFormCollection formCollection) { bool KlientCheckbox = false, BibliotekarzCheckbox = false, AdminCheckbox = false; string KlientCheckboxValue = ""; string BibliotekarzCheckboxValue = ""; string AdminCheckboxValue = ""; var user = await _userManager.FindByIdAsync(id.ToString()); if (user == null) { return(NotFound()); } if (!string.IsNullOrEmpty(formCollection["KlientCheckbox"])) { KlientCheckbox = true; } if (!string.IsNullOrEmpty(formCollection["BibliotekarzCheckbox"])) { BibliotekarzCheckbox = true; } if (!string.IsNullOrEmpty(formCollection["AdminCheckbox"])) { AdminCheckbox = true; } if (KlientCheckbox) { KlientCheckboxValue = formCollection["KlientCheckbox"]; } if (BibliotekarzCheckbox) { BibliotekarzCheckboxValue = formCollection["BibliotekarzCheckbox"]; } if (AdminCheckbox) { AdminCheckboxValue = formCollection["AdminCheckbox"]; } bool IsKlient = await _userManager.IsInRoleAsync(user, "Klient"); bool IsBibliotekarz = await _userManager.IsInRoleAsync(user, "Bibliotekarz"); bool IsAdmin = await _userManager.IsInRoleAsync(user, "Admin"); var KlientRoleId = await _context.Role.FirstOrDefaultAsync(m => m.nazwa == "Klient"); var BibliotekarzRoleId = await _context.Role.FirstOrDefaultAsync(m => m.nazwa == "Bibliotekarz"); var AdminRoleId = await _context.Role.FirstOrDefaultAsync(m => m.nazwa == "Admin"); if (KlientCheckbox != IsKlient) { if (IsKlient) { var user_role = await _context.Uzytkownicy_role.FirstOrDefaultAsync(m => m.id_uzytkownika == user.id_uzytkownika && m.id_roli == KlientRoleId.id_roli); _context.Remove(user_role); await _context.SaveChangesAsync(); ViewBag.Klient = ""; } else { await _userManager.AddToRoleAsync(user, "Klient"); await _context.SaveChangesAsync(); ViewBag.Klient = "checked"; } } else { if (IsKlient) { ViewBag.Klient = "checked"; } else { ViewBag.Klient = ""; } } if (BibliotekarzCheckbox != IsBibliotekarz) { if (IsBibliotekarz) { var user_role = await _context.Uzytkownicy_role.FirstOrDefaultAsync(m => m.id_uzytkownika == user.id_uzytkownika && m.id_roli == BibliotekarzRoleId.id_roli); _context.Remove(user_role); await _context.SaveChangesAsync(); ViewBag.Bibliotekarz = ""; } else { await _userManager.AddToRoleAsync(user, "Bibliotekarz"); await _context.SaveChangesAsync(); ViewBag.Bibliotekarz = "checked"; } } else { if (IsBibliotekarz) { ViewBag.Bibliotekarz = "checked"; } else { ViewBag.Bibliotekarz = ""; } } if (AdminCheckbox != IsAdmin) { if (IsAdmin) { var user_role = await _context.Uzytkownicy_role.FirstOrDefaultAsync(m => m.id_uzytkownika == user.id_uzytkownika && m.id_roli == AdminRoleId.id_roli); _context.Remove(user_role); await _context.SaveChangesAsync(); ViewBag.Admin = ""; } else { await _userManager.AddToRoleAsync(user, "Admin"); await _context.SaveChangesAsync(); ViewBag.Admin = "checked"; } } else { if (IsAdmin) { ViewBag.Admin = "checked"; } else { ViewBag.Admin = ""; } } var Input = new InputModelSetRoles { Id = (int)id, Email = user.email, StatusMessage = "Zmiana ról przebiegła pomyślnie" }; return(View(Input)); }