public ActionResult Create([Bind(Exclude = "Id")] KbUserViewModel model) { try { if (ModelState.IsValid) { using (var db = new KbVaultContext()) { KbUser usr = KbVaultAuthHelper.CreateUser(model.UserName, model.OldPassword, model.Email, model.Role, KBVaultHelperFunctions.UserAsKbUser(User).Id); usr = db.KbUsers.FirstOrDefault(u => u.Id == usr.Id); if (usr != null) { usr.LastName = model.LastName; usr.Name = model.Name; db.SaveChanges(); } return(RedirectToAction("Users")); } } return(View(model)); } catch (Exception ex) { Log.Error(ex); AddGlobalException(ex); return(RedirectToAction("Index", "Error")); } }
public KbUserViewModel(KbUser usr) { this.Id = usr.Id; this.UserName = usr.UserName; this.Name = usr.Name; this.LastName = usr.LastName; this.Email = usr.Email; this.Role = usr.Role; }
public override bool IsUserInRole(string username, string roleName) { try { KbUser usr = KbVaultAuthHelper.GetKbUser(username); if (usr == null) { return(false); } return(usr.Role == roleName); } catch (Exception ex) { Log.Error(ex); throw; } }
public override string[] GetRolesForUser(string username) { try { KbUser usr = KbVaultAuthHelper.GetKbUser(username); if (usr == null) { throw new ArgumentOutOfRangeException(username + " not found"); } return(new string[] { usr.Role }); } catch (Exception ex) { Log.Error(ex); throw; } }
public ActionResult MyProfile(KbUserViewModel model) { try { if (ModelState.IsValid) { using (var db = new KbVaultContext()) { string username = ControllerContext.RequestContext.HttpContext.User.Identity.Name; KbUser usr = db.KbUsers.FirstOrDefault(u => u.UserName == username); if (usr == null) { ModelState.AddModelError("UserNotFound", ErrorMessages.UserNotFound); return(View(model)); } if (KbVaultAuthHelper.ValidateUser(username, model.OldPassword)) { usr.Name = model.Name; usr.LastName = model.LastName; usr.Email = model.Email; if (!String.IsNullOrEmpty(model.NewPassword) && model.NewPassword == model.NewPasswordAgain) { KbVaultAuthHelper.ChangePassword(model.UserName, model.OldPassword, model.NewPassword); } db.SaveChanges(); ShowOperationMessage(UIResources.UserProfileUpdateSuccessful); return(RedirectToAction("Index", "Dashboard")); } else { ShowOperationMessage(ErrorMessages.WrongPassword); } } } return(View(model)); } catch (Exception ex) { Log.Error(ex); ShowOperationMessage(ex.Message); return(RedirectToAction("Index", "Error")); } }
public ActionResult UserInfo(int id = -1) { try { using (var db = new KbVaultContext()) { KbUser usr = db.KbUsers.FirstOrDefault(u => u.Id == id); if (usr == null) { throw new Exception(ErrorMessages.UserNotFound); } KbUserViewModel model = new KbUserViewModel(usr); return(View(model)); } } catch (Exception ex) { Log.Error(ex); ShowOperationMessage(ErrorMessages.UserNotFound); return(RedirectToAction("Index", "Error")); } }
public ActionResult UserInfo(KbUserViewModel model) { try { if (ModelState.IsValid) { using (var db = new KbVaultContext()) { KbUser usr = db.KbUsers.FirstOrDefault(u => u.Id == model.Id); if (usr == null) { ModelState.AddModelError("UserNotFound", ErrorMessages.UserNotFound); return(View(model)); } if (KbVaultAuthHelper.ValidateUser(model.UserName, model.OldPassword)) { usr.Name = model.Name; usr.LastName = model.LastName; usr.Role = model.Role; usr.Email = model.Email; if (!String.IsNullOrEmpty(model.NewPassword) && model.NewPassword == model.NewPasswordAgain) { KbVaultAuthHelper.ChangePassword(model.UserName, model.OldPassword, model.NewPassword); } db.SaveChanges(); ShowOperationMessage(UIResources.UserListUserEditSuccessful); return(RedirectToAction("Users")); } } } return(View(model)); } catch (Exception ex) { Log.Error(ex); ShowOperationMessage(ex.Message); return(RedirectToAction("Index", "Error")); } }
public ActionResult MyProfile() { try { using (var db = new KbVaultContext()) { string username = ControllerContext.RequestContext.HttpContext.User.Identity.Name; KbUser usr = db.KbUsers.FirstOrDefault(u => u.UserName == username); if (usr == null) { throw new ArgumentNullException(ErrorMessages.UserNotFound); } KbUserViewModel model = new KbUserViewModel(usr); return(View(model)); } } catch (Exception ex) { Log.Error(ex); ShowOperationMessage(ex.Message); return(RedirectToAction("Index", "Error")); } }