public async Task ChangeUser(User user, UserChangeRequest userChangeRequest) { user.FirstName = userChangeRequest.ChangeFirstName ? userChangeRequest.FirstName : user.FirstName; user.LastName = userChangeRequest.ChangeLastName ? userChangeRequest.LastName : user.LastName; if (userChangeRequest.ChangePassword) { var(hash, salt) = _passwordService.CreatePasswordHash(userChangeRequest.NewPassword); user.Password = hash; user.PasswordSalt = salt; } await _unitOfWork.Users.Update(user); }
public IActionResult RequestChange() { ViewData["where"] = ControllerName; if (ValidateSession()) { if (Request.HasFormContentType) { Microsoft.AspNetCore.Http.IFormCollection form = Request.Form; UserChangeRequestTypes types = (UserChangeRequestTypes)Enum.Parse(typeof(UserChangeRequestTypes), form[nameof(UserChangeRequest.RequestTypes)][0]); string reason = form[nameof(UserChangeRequest.DetailTexts)][0]; string newVal = form[nameof(UserChangeRequest.NewContent)][0]; UserChangeRequest request = new UserChangeRequest() { DetailTexts = reason, SolverID = "", NewContent = newVal, Status = UCRProcessStatus.NotSolved, RequestTypes = types, UserID = CurrentUser.ObjectId }; if (DataBaseOperation.CreateData(ref request) != DBQueryStatus.ONE_RESULT) { LW.E("AccountController->ProcessNewUCR: Create UCR Failed!"); return(DatabaseError(ServerAction.MyAccount_CreateChangeRequest, XConfig.Messages["CreateUCR_Failed"])); } InternalMessage messageAdmin = new InternalMessage() { _Type = GlobalMessageTypes.UCR_Created_TO_ADMIN, DataObject = request, User = CurrentUser, ObjectId = request.ObjectId }; InternalMessage message_User = new InternalMessage() { _Type = GlobalMessageTypes.UCR_Created__TO_User, DataObject = request, User = CurrentUser, ObjectId = request.ObjectId }; MessagingSystem.AddMessageProcesses(messageAdmin, message_User); return(Redirect($"/{HomeController.ControllerName}/{nameof(HomeController.RequestResult)}?req=changereq&status=ok&callback=/Account/")); } else { ViewData["cUser"] = CurrentUser.ToString(); return(View(new UserChangeRequest() { UserID = CurrentUser.ObjectId })); } } else { return(LoginFailed("/" + ControllerName + "/" + nameof(RequestChange))); } }
public IActionResult Update(Guid id, [FromBody] UserChangeRequest item) { if (item == null) { return(BadRequest()); } var user = _context.User.FirstOrDefault(t => t.Id.Equals(id)); if (user == null) { return(NotFound()); } if (isUser(user)) { user.LastName = item.LastName; user.MailAdress = item.MailAdress; user.FirstName = item.FirstName; _context.User.Update(user); _context.SaveChanges(); return(new OkObjectResult(item)); } return(Unauthorized()); }
public Response Post(UserChangeRequest request, string username) { var repo = this.Repository as NHibernateRepository; if (repo == null) { return(ThrowHttpReponseException("Repository is not NHibernateRepository.")); } using (var transaction = repo.Session.BeginTransaction()) { try { var user = repo.Query <LMConnect.Key.User>() .FirstOrDefault(u => u.Username == username); if (user != null) { var update = request.GetPendingUpdate(user); user.PendingUpdates.Add(update); repo.Save(user); transaction.Commit(); return(new UserUpdateResponse(update, request.EmailFrom)); } return(ThrowHttpReponseException("User not found.")); } catch { transaction.Rollback(); throw; } } }