Example #1
0
 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"));
     }
 }
Example #2
0
 public static KbUser UserAsKbUser(IPrincipal user)
 {
     try
     {
         if (HttpContext.Current.Request.IsAuthenticated)
         {
             return(KbVaultAuthHelper.GetKbUser(user.Identity.Name));
         }
         throw new ArgumentNullException("Identity is null");
     }
     catch (Exception ex)
     {
         Log.Error(ex);
         throw;
     }
 }
Example #3
0
        public ActionResult MyProfile(KbUserViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (var db = new KbVaultContext())
                    {
                        var username = ControllerContext.RequestContext.HttpContext.User.Identity.Name;
                        var 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"));
            }
        }
Example #4
0
        public ActionResult UserInfo(KbUserViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (var db = new KbVaultContext())
                    {
                        var 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"));
            }
        }