public ActionResult ConfigureEmails(AccountRolesViewModel AccountRoles) { ApplicationUser user = db.Users.Where(u => u.Email.Equals(AccountRoles.Email, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); if (user == null) { ViewBag.Message = "Nie ma takiego użytkownika"; return(View(SetAccountTypes())); } ReportAnIssue.Models.Type type = db.Types.FirstOrDefault(t => t.Name.Equals(AccountRoles.TypeString)); if (type == null) { ViewBag.Message = "Nie ma takiego typu usterki"; return(View(SetAccountTypes())); } if (type.Users.Contains(user)) { ViewBag.Message = "Ten użytkownik otrzymuje już powiadomienia z tego typu usterki"; return(View(SetAccountTypes())); } type.Users.Add(user); db.SaveChanges(); ViewBag.Success = "Dodano mail do listy"; return(View(SetAccountTypes())); }
public ActionResult Create(AccountRolesViewModel AccountRoles) { ApplicationUser user = db.Users.Where(u => u.Email.Equals(AccountRoles.Email, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); var userStore = new UserStore <ApplicationUser>(db); var account = new UserManager <ApplicationUser>(userStore); account.AddToRole(user.Id, AccountRoles.Role); db.SaveChanges(); TempData["Success"] = "Dodano uprawnienie do użytkownika"; return(RedirectToAction("Index", "Manage", null)); }
public ActionResult Create() { var AccountRoles = new AccountRolesViewModel(); AccountRoles.Roles = db.Roles.Select(e => new SelectListItem { Text = e.Name, Value = e.Name.ToString(), }).ToList(); return(View(AccountRoles)); }
private AccountRolesViewModel SetAccountTypes() { var accountTypes = new AccountRolesViewModel(); accountTypes.Email = ""; accountTypes.Types = db.Types.Select(e => new SelectListItem { Text = e.Name, Value = e.Name.ToString(), }).ToList(); return(accountTypes); }
public ActionResult Delete(AccountRolesViewModel AccountRoles) { ApplicationUser user = db.Users.Where(u => u.Email.Equals(AccountRoles.Email, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); var userStore = new UserStore <ApplicationUser>(db); var account = new UserManager <ApplicationUser>(userStore); if (account.IsInRole(user.Id, AccountRoles.Role)) { account.RemoveFromRole(user.Id, AccountRoles.Role); } db.SaveChanges(); TempData["Success"] = "Usunięto uprawnienie użytkownikowi"; return(RedirectToAction("Index", "Manage", null)); }
public ActionResult Details() { var AccountRoless = new List <AccountRolesViewModel>(); List <ApplicationUser> users = db.Users.ToList(); var userStore = new UserStore <ApplicationUser>(db); var account = new UserManager <ApplicationUser>(userStore); foreach (var user in users) { var AccountRoles = new AccountRolesViewModel() { Id = user.Id, Email = user.Email, RolesList = account.GetRoles(user.Id).ToList(), }; AccountRoless.Add(AccountRoles); } return(View(AccountRoless)); }
public async Task <ActionResult> Edit([Bind(Include = "User, Roles")] AccountRolesViewModel model) { if (ModelState.IsValid) { var user = UserManager.FindById(model.User.Id); if (user == null) { return(HttpNotFound()); } logger.Info("User is found: {0}", user.UserName); IdentityResult result = await RoleServiceManager.ChangeUserRolesAsync(user, model); if (result.Succeeded) { return(RedirectToAction("index")); } AddErrors(result); } return(View(model)); }
public async Task <IdentityResult> ChangeUserRolesAsync(ApplicationUser user, AccountRolesViewModel model) { IdentityResult result = null; try { logger.Info("Start"); logger.Info("User Id: {0}", user.Id); logger.Debug("Change UserName from {0} to {1}", user.UserName, model.User.UserName); user.UserName = model.User.UserName; logger.Debug("Change PhoneNumber from {0} to {1}", user.PhoneNumber, model.User.PhoneNumber); user.PhoneNumber = model.User.PhoneNumber; logger.Debug("Change Email from {0} to {1}", user.Email, model.User.Email); user.Email = model.User.Email; result = await userManager.UpdateAsync(user); logger.Debug("Update result: {0}", result.Succeeded); if (result.Succeeded) { foreach (var role in await userManager.GetRolesAsync(user.Id)) { logger.Debug("User role: {0}", role); result = await userManager.RemoveFromRoleAsync(user.Id, role); logger.Debug("RemoveFromRole result: {0}", result.Succeeded); if (!result.Succeeded) { return(result); } } result = await userManager.AddToRolesAsync(user.Id, model.Roles.Where(x => x.Checked).Select(x => x.Name).ToArray()); logger.Debug("AddToRoles result: {0}", result.Succeeded); } logger.Debug("return result: {0}", result.Succeeded); return(result); } catch (Exception ex) { logger.Error(ex, ex.Message); throw; } }