public IHttpActionResult Update(UserModel model) { log.Debug("Call to ExternalAccountController.EditUser"); if (model == null) { return(BadRequest("Parameters missing.")); } var user = _userManager.FindByUserName(model.UserName); if (user == null) { return(NotFound()); } // Sätt nya värden på uppdateringsbara egenskaper user.DisplayName = model.DisplayName; user.Comment = model.Comment; try { _userManager.Update(user); return(Ok("User updated")); } catch (Exception ex) { log.Error("Could not update user", ex); return(InternalServerError(new ApplicationException("User could not be updated."))); } }
//[RequireHttps] public ActionResult Edit(UserFormViewModel model) { if (ModelState.IsValid) { var user = new CcmUser(); user.Comment = model.Comment; user.DisplayName = model.DisplayName; user.FirstName = model.UserType != UserType.SIP ? model.FirstName : string.Empty; user.Id = model.Id; user.LastName = model.UserType != UserType.SIP ? model.LastName : string.Empty; user.UserName = model.UserName.Trim(); user.UserType = model.UserType; user.RadiusId = model.RadiusId; user.Owner = model.UserType == UserType.SIP ? _ownersRepository.GetById(model.OwnerId) : null; user.RoleId = model.RoleId; user.CodecType = model.UserType == UserType.SIP ? _codecTypeRepository.GetById(model.CodecTypeId) : null; user.UpdatedBy = User.Identity.Name; try { if (!string.IsNullOrWhiteSpace(model.Password) && user.RadiusId > 0) { _userManager.UpdatePassword(user.RadiusId, model.Password, user.UserType); } var currentUserLocalAdmin = _userManager.UserIsLocalAdmin(User.Identity.Name); _userManager.Update(user, currentUserLocalAdmin); return(RedirectToAction("Index")); } catch (Exception ex) { ModelState.AddModelError("UpdatePassword", ex.Message); } } SetListData(model); return(View(model)); }