예제 #1
0
        public ActionResult MyAccount(SiriusAccountModel model)
        {
            var updateMessage = new SettingUpdateMessage();

            if (ModelState.IsValid)
            {
                var userId = User.Identity.GetUserId();
                var user   = userManager.FindById(userId);

                model.ReceiveEmail = user.ReceiveEmail != null && (bool)user.ReceiveEmail;
                model.ReceiveSms   = user.ReceiveSms != null && (bool)user.ReceiveSms;
                model.Phone        = user.Phone;

                var validUser = userManager.ValidateAndReturnUser(user.UserName, model.OldPassword);
                if (validUser != null)
                {
                    var succeed = userManager.UpdatePassword(validUser.Id, model.Password);
                    if (succeed)
                    {
                        updateMessage.Type        = AccountMessageType.Success;
                        updateMessage.MessageText = "Uppdaterade lösenordet";
                    }
                    else
                    {
                        updateMessage.Type        = AccountMessageType.Error;
                        updateMessage.MessageText = "Lösenordet uppdaterades inte";
                    }
                }
                else
                {
                    updateMessage.Type        = AccountMessageType.Error;
                    updateMessage.MessageText = "Felaktigt lösenord";
                }
                model.Message = updateMessage;
                return(View(model));
            }

            updateMessage.Type        = AccountMessageType.Error;
            updateMessage.MessageText = "Lösenordet uppdaterades inte";
            model.Message             = updateMessage;
            return(View(model));
        }
        public ActionResult Edit(UserViewModel user)
        {
            var changedUser = userManager.FindById(user.Id);

            if (!string.IsNullOrEmpty(user.Password))
            {
                var changePasswordOperationSuccess = userManager.UpdatePassword(changedUser.Id, user.Password);
                if (!changePasswordOperationSuccess)
                {
                    ModelState.AddModelError("password", "Misslyckades med att uppdatera lösenordet för" + user.Name);
                    return(Edit(user.Id));
                }
            }

            changedUser.ReceiveEmail = user.ReceiveEmail;
            changedUser.ReceiveSms   = user.ReceiveSms;
            changedUser.Phone        = user.Phone;
            changedUser.IsLockedOut  = user.IsLockedOut;
            userManager.Update(changedUser);

            return(RedirectToAction("List", new { clientId = changedUser.ClientId }));
        }
        public ActionResult Edit(AccountManagerViewModel admin)
        {
            if (!ModelState.IsValid)
            {
                return(View(admin));
            }
            var changedAccountManager = userManager.FindById(admin.Id);

            changedAccountManager.Phone    = admin.Phone;
            changedAccountManager.Email    = admin.Email;
            changedAccountManager.ImageUrl = admin.ImageUrl;
            changedAccountManager.Name     = admin.Name;

            if (!string.IsNullOrEmpty(admin.Password))
            {
                if (!string.IsNullOrEmpty(changedAccountManager.Id))
                {
                    try
                    {
                        var changePasswordIdentityResult = userManager.UpdatePassword(changedAccountManager.Id, admin.Password);
                        if (!changePasswordIdentityResult)
                        {
                            ModelState.AddModelError("password",
                                                     "Misslyckades med att uppdatera lösenordet för" + admin.Name);
                            return(View(admin));
                        }

                        /*var addPasswordIdentityResult= userManager.AddPassword(changedAccountManager.Id, admin.Password);
                         * if (!addPasswordIdentityResult.Succeeded)
                         * {
                         *  ModelState.AddModelError("password",
                         *  "Misslyckades med att uppdatera lösenordet för" + admin.Name);
                         *  return View(admin);
                         * }*/
                    }
                    catch (MembershipPasswordException e)
                    {
                        ModelState.AddModelError("password",
                                                 "Misslyckades med att uppdatera lösenordet för" + admin.Name);
                        return(View(admin));
                    }
                }
                else
                {
                    try
                    {
                        changedAccountManager.UserName = admin.Email;
                        var newUserCreateSuccess = userManager.Create(changedAccountManager, admin.Password);
                        if (newUserCreateSuccess)
                        {
                            userManager.AddToRole(changedAccountManager.Id, "sales");
                            return(RedirectToAction("Index"));
                        }
                        else
                        {
                            ModelState.AddModelError("password",
                                                     "Misslyckades med att uppdatera lösenordet för" + admin.Name);
                            return(View(admin));
                        }
                    }
                    catch (MembershipPasswordException e)
                    {
                        ModelState.AddModelError("password",
                                                 "Misslyckades med att uppdatera lösenordet för" + admin.Name);
                        return(View(admin));
                    }
                }
            }


            changedAccountManager.Name = admin.Name;
            userManager.Update(changedAccountManager);

            /*adminRepository.SetState(changedAccountManager, EntityState.Modified);
             * adminRepository.SaveChanges();*/
            return(RedirectToAction("Index"));
        }