public IActionResult UpdateUser([FromRoute] int userID, [FromForm] AccountUpdateVM formdata) { // Check Model State if (!ModelState.IsValid) { return(BadRequest(ModelState)); } // Find User var user = _dbContext.Users .Include(u => u.Followers) .Include(u => u.Following) .Include(u => u.ProjectUsers) .Include(u => u.BlobFiles) .FirstOrDefault(u => u.Id == userID); if (user == null) { return(NotFound(new { message = "User Not Found" })); } // Update Bio user.Bio = formdata.Bio; // Save Change _dbContext.SaveChanges(); // Return Ok Status return(Ok(new { result = user, message = "User has been updated" })); }
public async Task <IActionResult> Update(AccountUpdateVM model) { if (ModelState.IsValid) { var user = await GetCurrentUserAsync(); string fileName = null; if (model.ProfileImage != null) { var folder = Path.Combine(_hostingEnvironment.WebRootPath, "img"); fileName = $"{Guid.NewGuid().ToString()}_{model.ProfileImage.FileName}"; var path = Path.Combine(folder, fileName); model.ProfileImage.CopyTo(new FileStream(path, FileMode.Create)); user.ProfilePicturePath = fileName; } user.FirstName = model.FirstName; user.LastName = model.LastName; user.Email = model.Email; var result = await _userManager.UpdateAsync(user); if (result.Succeeded) { TempData["AccountUpdated"] = "Your account has been updated"; return(RedirectToAction("Overview", "Account")); } } ViewBag.Title = "Edit account"; return(View(model)); }
public async Task <IActionResult> UpdateAccount([FromRoute] Guid id, [FromBody] AccountUpdateVM accountUpdateVM) { if (id != accountUpdateVM.Id) { return(BadRequest()); } return(Ok(await _mediator.Send(new UpdateAccount() { AccountUpdateVM = accountUpdateVM }))); }
public async Task <Response> Handle(PatchAccount request, CancellationToken cancellationToken) { IRepository <Account> repository = _unitOfWork.GetRepository <Account>(); Account account = await repository.GetByIdAsync(request.Id); AccountUpdateVM accountUpdateVM = _mapper.Map <AccountUpdateVM>(account); request.PatchDocument.ApplyTo(accountUpdateVM); return(await _mediator.Send(new UpdateAccount() { AccountUpdateVM = accountUpdateVM }, cancellationToken)); }
public async Task <IActionResult> Update() { var user = await GetCurrentUserAsync(); var model = new AccountUpdateVM() { FirstName = user.FirstName, LastName = user.LastName, Email = user.Email, ProfilePicturePath = user.ProfilePicturePath }; ViewBag.Title = "Edit account"; return(View(model)); }