public async Task <ActionResult> ChangeUsername(ChangeUsernameViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = UserManager.FindById(User.Identity.GetUserId <int>());

            if (UserManager.CheckPassword(user, model.CurrentPassword))
            {
                user.UserName = model.NewUsername;
                IdentityResult result = await UserManager.UpdateAsync(user);

                if (result.Succeeded)
                {
                    return(RedirectToAction("Index", "Settings", new { area = "Account", Message = ManageMessageId.ChangeUsernameSuccess }));
                }
                AddErrors(result);
                return(View());
            }
            else
            {
                IdentityResult uncorrectPassword = IdentityResult.Failed("You entered a wrong password.");
                AddErrors(uncorrectPassword);
                model.CurrentPassword = "";
                return(View(model));
            }
        }
        public async Task <ActionResult> ChangeUsername(ChangeUsernameViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());

            if (user != null)
            {
                var db       = new ApplicationDbContext();
                var allUsers = db.Users.ToList();
                var username = model.newUsername;
                foreach (var u in allUsers)
                {
                    if (username == u.ToString())
                    {
                        return(RedirectToAction("ChangeUsername", "Manage"));
                    }
                }
                user.UserName = model.newUsername;
                await UserManager.UpdateAsync(user);
            }
            return(RedirectToAction("Index", new { Message = ManageMessageId.ChangeUsernameSuccess }));
        }
Exemple #3
0
        public async Task <ActionResult> ChangeUsername(ChangeUsernameViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            if (UserManager.FindByName(model.NewUserName) != null)
            {
                TempData["UserNameTaken"] = "Username is already taken";

                return(RedirectToAction("ChangeUsername"));
            }


            User user = UserManager.FindById(User.Identity.GetUserId());

            user.UserName = model.NewUserName;
            var result = await UserManager.UpdateAsync(user);

            if (result.Succeeded)
            {
                var u = await UserManager.FindByIdAsync(User.Identity.GetUserId());

                if (u != null && u.UserName == model.NewUserName)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    return(RedirectToAction("Index", new { Message = ManageMessageId.ChangeUserNameSuccess }));
                }
            }

            return(View(model));
        }
        public ActionResult ChangeUsername(ChangeUsernameViewModel model)
        {
            return(this.RedirectToAction("ExternalNotify", "Account", new { area = string.Empty }));

            if (Regex.IsMatch(this.UserProfile.UserName, "^[a-zA-Z]([/._]?[a-zA-Z0-9]+)+$") && this.UserProfile.UserName.Length >= 5 && this.UserProfile.UserName.Length <= 15)
            {
                return(this.RedirectToAction(GlobalConstants.Index, new { controller = "Profile", area = "Users" }));
            }

            if (this.ModelState.IsValid)
            {
                if (this.Data.Users.All().Any(x => x.UserName == model.Username))
                {
                    this.ModelState.AddModelError("Username", "This username is not available");
                    return(this.View(model));
                }

                this.UserProfile.UserName = model.Username;
                this.Data.SaveChanges();

                this.TempData[GlobalConstants.InfoMessage] = Resources.Account.Views.ChangeUsernameView.Username_changed;
                this.AuthenticationManager.SignOut();
                return(this.RedirectToAction("Login", new { controller = "Account", area = string.Empty }));
            }

            return(this.View(model));
        }
        public ActionResult ChangeUsername(ChangeUsernameViewModel newUsername)
        {
            m.isUserBanned();
            if (!ModelState.IsValid)
            {
                return(View(newUsername));
            }

            if (!m.IsUsernameSpace(newUsername.userName))
            {
                ModelState.AddModelError("", "No spaces/special characters in username");
                return(View(newUsername));
            }

            bool isDup = m.IsDupUserName(newUsername);

            if (isDup == false)
            {
                ModelState.AddModelError("", "Username taken");
                return(View(newUsername));
            }

            bool error = m.ChangeUsername(newUsername);

            if (error == false)
            {
                ModelState.AddModelError("", "Error with username");
                return(View(newUsername));
            }
            else
            {
                return(Redirect("UserDashboard"));
            }
        }
        public ActionResult ChangeUsername()
        {
            m.isUserBanned();
            ChangeUsernameViewModel username = new ChangeUsernameViewModel();

            username.userName = "";
            return(View(username));
        }
        public async Task <ActionResult> ChangeUsername(ChangeUsernameViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await UserManager.FindByNameAsync(User.Identity.Name);

                user.UserName = model.Username;
                await UserManager.UpdateAsync(user);

                return(RedirectToAction("Index", "Home"));
            }
            return(View(model));
        }
Exemple #8
0
        public void ChangeUsernameClickedCommandTest()
        {
            //Arrange
            var vm = new ChangeUsernameViewModel();

            vm.newUsername = "******";



            //Act
            vm.ChangeUsername.Execute(null);

            //Assert
            Assert.IsTrue(vm.GetType().Name == "ChangeUsernameViewModel", "viewmodel");// Correct result
        }
Exemple #9
0
        public async Task <ActionResult> ChangeUsername(ChangeUsernameViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = UserManager.FindById(User.Identity.GetUserId());
                user.UserName = model.NewUsername;

                await UserManager.UpdateAsync(user);
                await SignInAsync(user, true);

                TempData["UpdatedAccountDetail"] = "username";
                return(RedirectToAction("Index", "Account"));
            }
            return(View(model));
        }
Exemple #10
0
        public async Task <IActionResult> ChangeUserName()
        {
            var model = new ChangeUsernameViewModel();
            var user  = await GetCurrentUserAsync();

            if (user == null)
            {
                _logger.LogError($"Username '{HttpContext.User.Identity.Name}' not found in repository");
                ModelState.AddModelError(string.Empty, _localizer["'{0}' not found", _metaData.GetDisplayName <ChangeUsernameViewModel>(nameof(ChangeUsernameViewModel.Username))]);
                return(PartialView(ViewNames.Manage._ChangeUsernameModalPartial, model));
            }

            model.Username = user.Name;
            return(PartialView(ViewNames.Manage._ChangeUsernameModalPartial, model));
        }
 public ActionResult ChangeUsername(ChangeUsernameViewModel model)
 {
     try
     {
         CompanyName = Request.Cookies["companyCookie"].Value;
         User user = db.Users.Where(u => u.username == User.Identity.Name && u.company == CompanyName).FirstOrDefault();
         user.username = model.newUsername;
         db.SaveChanges();
         AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
         ViewBag.ChangePassword = "******";
         return(RedirectToAction("Index", "Home"));
     }catch (Exception e)
     {
         ViewBag.ChangePassword = "******";
         return(RedirectToAction("Index", "Home"));
     }
 }
Exemple #12
0
        public async Task <ActionResult> ChangeUsername(ChangeUsernameViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());

            var username = model.NewUsername;

            if (user != null)
            {
                user.UserName = username;
                await UserManager.UpdateAsync(user);

                this.AddNotification("Username changed successfully.", NotificationType.INFO);
            }
            return(RedirectToAction("Index"));
        }
Exemple #13
0
        public async Task <IActionResult> ChangeUsername(ChangeUsernameViewModel model)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(View(HttpStatusCode.Forbidden));
            }

            // HttpContextAccessor DI works when Singelton (Scoped injects null)
            var id = _context.HttpContext.User.GetUserId();

            ChatUser user        = _repository.GetUserById(id);
            string   oldUsername = user.Name; //user.UserName

            try
            {
                if (ModelState.IsValid)
                {
                    var result = await _signInManager.CheckPasswordSignInAsync(user, model.password, false);

                    if (result.Succeeded)
                    {
                        user.UserName = model.username;
                        user.Name     = model.username;
                        _repository.CommitChanges();

                        //  _notificationService.OnUserNameChanged(user, oldUsername, model.username);

                        return(RedirectToAction(nameof(Index), new { Message = ManageMessageId.ChangeUsernameSuccess }));
                    }
                    else
                    {
                        return(new RedirectResult(Url.Action("Index", new { Message = ManageMessageId.WrongPassword }) + "#changeUsername"));
                    }
                }
            }
            catch (Exception ex)
            {
                return(RedirectToAction(nameof(Index), new { Message = ManageMessageId.Error }));
            }

            return(new RedirectResult(Url.Action("Index", new { Message = ManageMessageId.ErrorChangeUsername }) + "#changeUsername"));
        }
        public ActionResult ChangeUsername(ChangeUsernameViewModel CUVM)
        {
            if (ModelState.IsValid)
            {
                var putter = db.Putters.FirstOrDefault(p => p.Paswoord == CUVM.Paswoord &&
                                                       p.Gebruikersnaam == CUVM.Gebruikersnaam);
                putter.Gebruikersnaam  = CUVM.NewUsername;
                db.Entry(putter).State = EntityState.Modified;
                db.SaveChanges();
                FormsAuthentication.SetAuthCookie(putter.Gebruikersnaam, true);
                TempData["succesboodschap"] = "Welkom, <b>" + putter.Gebruikersnaam + "</b><br />Je gebruikersnaam werd gewijzigd";

                //return RedirectToAction("Index", "Home");
                return(View(CUVM));
            }
            else
            {
                return(View(CUVM));
            }
        }
Exemple #15
0
        public async Task <IActionResult> ChangeUserName(ChangeUsernameViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(ViewNames.Manage._ChangeUsernameModalPartial, model));
            }
            var user = await GetCurrentUserAsync();

            if (user != null)
            {
                if (user.NormalizedUserName == _userManager.KeyNormalizer.NormalizeName(model.Username))
                {
                    // do nothing and display success
                    TempData.Put <ManageMessage>(nameof(ManageMessage), new ManageMessage {
                        AlertType = SiteAlertTagHelper.AlertType.Success, MessageId = MessageId.ChangeUsernameSuccess
                    });
                    return(JsonAjaxRedirectForModal(Url.Action(nameof(Index), nameof(Manage), new { Organization = _siteContext.UrlSegmentValue })));
                }
                user.UserName = model.Username;
                var result = await _userManager.UpdateAsync(user);

                if (result.Succeeded)
                {
                    await _signInManager.SignInAsync(user, isPersistent : false);

                    _logger.LogInformation($"User '{user.Id}' changed the username successfully.");
                    TempData.Put <ManageMessage>(nameof(ManageMessage), new ManageMessage {
                        AlertType = SiteAlertTagHelper.AlertType.Success, MessageId = MessageId.ChangeUsernameSuccess
                    });
                    return(JsonAjaxRedirectForModal(Url.Action(nameof(Index), nameof(Manage), new { Organization = _siteContext.UrlSegmentValue })));
                }
                AddErrors(result);
                //return View(model);
                return(PartialView(ViewNames.Manage._ChangeUsernameModalPartial, model));
            }

            TempData.Put <ManageMessage>(nameof(ManageMessage), new ManageMessage {
                AlertType = SiteAlertTagHelper.AlertType.Danger, MessageId = MessageId.ChangeUsernameFailure
            });
            return(JsonAjaxRedirectForModal(Url.Action(nameof(Index), nameof(Manage), new { Organization = _siteContext.UrlSegmentValue })));
        }
Exemple #16
0
        public async Task <ActionResult> ChangeUserName(ChangeUsernameViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user = UserManager.FindById(User.Identity.GetUserId());

            user.UserName = model.UserName;
            var result = await UserManager.UpdateAsync(user);

            if (result.Succeeded)
            {
                if (user != null)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);
                }
                return(RedirectToAction("Index"));
            }
            AddErrors(result);
            return(View(model));
        }
Exemple #17
0
        public async Task <ActionResult> ChangeUsername(ChangeUsernameViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());

                if (user != null)
                {
                    user.UserName = model.NewUsername;
                    var result = await UserManager.UpdateAsync(user);

                    if (!result.Succeeded)
                    {
                        AddErrors(result);
                    }
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);
                }
                return(RedirectToAction("Index", new { Message = ManageMessageId.ChangeUsernameSucces }));
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
        public async Task <IActionResult> changeUsername([FromBody] ChangeUsernameViewModel model)
        {
            //correct login check
            var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure : false);

            if (result.Succeeded)
            {
                // checks username validation in model
                if (ModelState.IsValid)
                {
                    var user = this.GetCurrentUserAsync();
                    // swap username
                    var swap = await _userManager.SetUserNameAsync(user.Result, model.Username);

                    if (swap.Succeeded)
                    {
                        return(Ok());
                    }
                    else
                    {
                        // something went wrong with swap username
                        return(BadRequest(this.ModelState));
                    }
                }
                else
                {
                    // something went wrong with username validation
                    return(BadRequest(this.ModelState)); // model state not valid
                }
            }
            else
            {
                // something went wrong with login
                ModelState.AddModelError(string.Empty, "Invalid login attempt."); // wrong username or password
                return(BadRequest(this.ModelState));
            }
        }
Exemple #19
0
        public IActionResult ChangeUsername([FromBody] ChangeUsernameViewModel changeRequest)
        {
            if (ModelState.IsValid)
            {
                //token heeft geen id => fout met token!!
                if (User.FindFirst("userId")?.Value == null)
                {
                    return(BadRequest(new { error = "De voorziene token voldoet niet aan de eisen." }));
                }

                if (CheckUsernameExists(changeRequest.Username))
                {
                    return(BadRequest(new { error = "Deze gebruikersnaam is reeds in gebruik." }));
                }

                ChangeUsername(int.Parse(User.FindFirst("userId")?.Value), changeRequest.Username);

                return(Ok(new { bericht = "Uw gebruikersnaam werd succesvol gewijzigd." }));
            }
            //Als we hier zijn is is modelstate niet voldaan dus stuur error 400, slechte aanvraag
            string errorMsg = string.Join(" | ", ModelState.Values.SelectMany(v => v.Errors).Select(e => e.ErrorMessage));

            return(BadRequest(new { error = "De ingevoerde waarden zijn onvolledig of voldoen niet aan de eisen voor het wijzigen van uw gebruikersnaam. Foutboodschap: " + errorMsg }));
        }
        public async Task <ActionResult> ChangeUsername(ChangeUsernameViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            bool checkUSN = false;

            if (model.NewUsername != User.Identity.GetUserName())
            {
                checkUSN = true;
            }
            else
            {
                checkUSN = false;
            }

            if (checkUSN)
            {
                var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());

                if (user != null)
                {
                    user.UserName = model.NewUsername;
                    var result = await UserManager.UpdateAsync(user);

                    if (result.Succeeded)
                    {
                        await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                        return(RedirectToAction("Index", new { Message = ManageMessageId.ChangeUsernameSuccess }));
                    }
                }
            }
            return(View(model));
        }
 public async Task<ActionResult> ChangeUsername(ChangeUsernameViewModel model)
 {
     if (!ModelState.IsValid)
     {
         return View(model);
     }
     var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
     user.DisplayName = model.NewUsername;
     if (user != null)
     {
         await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
     }
     return RedirectToAction("Index", new { Message = ManageMessageId.ChangeUsernameSuccess });
 }
        public ActionResult ChangeUsername()
        {
            ChangeUsernameViewModel CUVM = new ChangeUsernameViewModel();

            return(View(CUVM));
        }