コード例 #1
0
        public Result <int> UpdateResult(ResetPasswordViewModel model)
        {
            Result <int> result = new Result <int>();

            try
            {
                AppUserManager.RemovePassword(Common.CurrentUser.Id);
                AppUserManager.AddPassword(Common.CurrentUser.Id, model.Password);
                Users user = AppUserManager.FindById(Common.CurrentUser.Id);
                user.TempPassword = null;
                AppUserManager.Update(user);
                var identity = new ClaimsIdentity(HttpContext.Current.User.Identity);
                var ctx      = _iOwinContext;

                AuthenticationManager.AuthenticationResponseGrant = new AuthenticationResponseGrant
                                                                        (new ClaimsPrincipal(identity), new AuthenticationProperties {
                    IsPersistent = true
                });
            }
            catch (Exception ex)
            {
                result.success = false;
                result.AddError(ex.Message);
            }
            return(result);
        }
コード例 #2
0
        public async Task <ActionResult> ChangeCustomerPassword(ChangeCustomerPasswordViewModel model, String id)
        {
            String userid = model.UserID;

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            String userID = model.UserID;

            UserManager.RemovePassword(id);
            UserManager.AddPassword(id, model.NewPassword);
            return(RedirectToAction("ManageCustomers", "Accounts"));
        }
コード例 #3
0
        public IHttpActionResult PutApplicationUser(string id, UserHttpResponse applicationUser)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != applicationUser.Id)
            {
                return(BadRequest());
            }

            var user = AppUserManager.FindById(applicationUser.Id);

            if (user == null)
            {
                return(BadRequest("User Not Found"));
            }

            user.FirstName = applicationUser.FirstName;
            user.LastName  = applicationUser.LastName;
            user.Email     = applicationUser.Email;
            user.UserName  = applicationUser.Email;
            user.Timezone  = applicationUser.Timezone;
            user.CVLink    = applicationUser.CVLink;
            user.Webex     = applicationUser.Webex;
            AppUserManager.Update(user);

            foreach (var role in user.Roles.ToList())
            {
                if (!applicationUser.RoleIds.Any(i => i == role.RoleId))
                {
                    AppUserManager.RemoveFromRole(user.Id, AppRoleManager.FindById(role.RoleId).Name);
                }
            }

            foreach (var roleId in applicationUser.RoleIds)
            {
                if (!user.Roles.Any(i => i.RoleId == roleId))
                {
                    AppUserManager.AddToRole(user.Id, AppRoleManager.FindById(roleId).Name);
                }
            }

            using (var db = AppDb.Database.BeginTransaction())
            {
                try
                {
                    if (!String.IsNullOrEmpty(applicationUser.Password))
                    {
                        var result1 = AppUserManager.RemovePassword(user.Id);
                        if (!result1.Succeeded)
                        {
                            return(GetErrorResult(result1));
                        }
                        var result2 = AppUserManager.AddPassword(user.Id, applicationUser.Password);
                        if (!result2.Succeeded)
                        {
                            return(GetErrorResult(result2));
                        }
                    }
                    db.Commit();
                }
                catch (Exception)
                {
                    db.Rollback();
                }
            }
            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #4
0
        public IHttpActionResult PutUserInfo(UserInfoViewModel item)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var currentUser = AppUserManager.FindById(User.Identity.GetUserId());

            if (currentUser == null)
            {
                return(NotFound());
            }

            if (currentUser.Email != item.Email)
            {
                var existingEmail = AppUserManager.FindByEmail(item.Email);
                if (existingEmail != null)
                {
                    return(BadRequest("Email is already in use"));
                }
                currentUser.UserName = item.Email;
                currentUser.Email    = item.Email;
            }

            currentUser.FirstName       = item.FirstName;
            currentUser.LastName        = item.LastName;
            currentUser.Phone           = item.Phone;
            currentUser.Company         = item.Company;
            currentUser.Position        = item.Position;
            currentUser.LinkedInProfile = item.LinkedInProfile;
            currentUser.WorkExperience  = item.WorkExperience;
            currentUser.ABN             = item.ABN;
            currentUser.Address         = item.Address;
            currentUser.Timezone        = item.Timezone;
            currentUser.CVLink          = item.CVLink;

            AppUserManager.Update(currentUser);

            if (!String.IsNullOrEmpty(item.Password))
            {
                using (var db = AppDb.Database.BeginTransaction())
                {
                    try
                    {
                        var result1 = AppUserManager.RemovePassword(currentUser.Id);
                        if (!result1.Succeeded)
                        {
                            return(GetErrorResult(result1));
                        }
                        var result2 = AppUserManager.AddPassword(currentUser.Id, item.Password);
                        if (!result2.Succeeded)
                        {
                            return(GetErrorResult(result2));
                        }
                        db.Commit();
                    }
                    catch (Exception)
                    {
                        db.Rollback();
                    }
                }
            }
            return(StatusCode(HttpStatusCode.NoContent));
        }