public async Task <IActionResult> Editor([FromForm] UserEditingViewModel EditModel)
        {
            if (ModelState.IsValid)
            {
                IdentityUser user = await UserManager.FindByIdAsync(EditModel.Id);

                user.UserName = EditModel.UserName;
                user.Email    = EditModel.Email;
                IdentityResult result = await UserManager.UpdateAsync(user);

                if (result.Succeeded && !String.IsNullOrEmpty(EditModel.Password) && EditModel.Password != "TestPass123$")
                {
                    await UserManager.RemovePasswordAsync(user);

                    result = await UserManager.AddPasswordAsync(user, EditModel.Password);
                }
                if (result.Succeeded)
                {
                    return(RedirectToAction(nameof(UserList)));
                }
                foreach (IdentityError error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
            }
            return(View(EditModel));
        }
Esempio n. 2
0
        public ActionResult Edit(UserEditingViewModel userViewModel)
        {
            if (!ModelState.IsValid)
            {
                SetErrorMessage("Please, validate all fields");
                return(View(userViewModel));
            }

            bool isUpdated = false;

            try
            {
                var user = PrepareUser(userViewModel, false); //userViewModel.MapTo<User>();

                //then update user subscriptions: add new, remove old
                var newUserSubscriptions = userViewModel.Subscriptions?.MapTo <CategorySubscription>();

                //Update all user details
                isUpdated = _userEditingPersistence.SaveUser(user, newUserSubscriptions);
            }
            catch (Exception ex)
            {
                return(Json(new { Success = false, responseText = ex.Message }));
            }

            return(Json(new { Success = isUpdated }, JsonRequestBehavior.AllowGet));
        }
        public async Task <IActionResult> Editor(string id, string mode)
        {
            IdentityUser user = await UserManager.FindByIdAsync(id);

            UserEditingViewModel model = new UserEditingViewModel()
            {
                Email    = user.Email,
                UserName = user.UserName,
                Id       = id,
                Password = "******"
            };

            return(View("Editor", model));
        }
        public async Task <IActionResult> Create([FromForm] UserEditingViewModel CreateModel)
        {
            if (ModelState.IsValid && CreateModel.Password != null)
            {
                IdentityUser user = new IdentityUser()
                {
                    UserName = CreateModel.UserName,
                    Email    = CreateModel.Email
                };
                IdentityResult result = await UserManager.CreateAsync(user, CreateModel.Password);

                if (result.Succeeded)
                {
                    return(RedirectToAction(nameof(UserList)));
                }
                foreach (IdentityError error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }
            }
            return(View("CreateUser"));
        }
 public UserEditingView()
 {
     DataContext = new UserEditingViewModel();
     InitializeComponent();
 }