Esempio n. 1
0
        public async Task <object> ChangeUsername(ChangeUsernameBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = UserManager2.GetUserModel(User.Identity.GetUserId <long>());

            user.username = model.username;
            user          = UserManager2.Update(user);

            return(user);
        }
Esempio n. 2
0
        public async Task <IHttpActionResult> UpdateUsername(ChangeUsernameBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            ApplicationUser Model = UserManager.FindById(User.Identity.GetUserId());

            Model.UserName = model.UserName;
            IdentityResult uResult = await UserManager.UpdateAsync(Model);

            //update username separately cause we can
            User.Identity.GetUserName().Replace(User.Identity.GetUserName(), model.UserName);
            db.SaveChanges();

            return(Ok());
        }
Esempio n. 3
0
        public async Task <IHttpActionResult> ChangeUsername(ChangeUsernameBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var user = UserManagerExtensions.FindByName(UserManager, model.UserName);

            if (user == null)
            {
                ApplicationUser currentUser = await UserManager.FindByIdAsync(User.Identity.GetUserId());

                currentUser.UserName = model.UserName;
                UserManager.Update(currentUser);

                return(await GetUserInfo());
            }

            return(BadRequest(String.Format("Username {0} is already taken", model.UserName)));
        }