Exemple #1
0
        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));
        }