public IActionResult UpdateEmail(UpdateEmailDTO updateEmailDTO) { var apiJsonResponse = new ApiJsonResponse(); try { using (FoodInfoServiceContext context = new FoodInfoServiceContext()) { if (context.User.Any(x => x.IsDeleted == false && x.Email == updateEmailDTO.oldEmail)) { if (context.User.Any(x => x.IsDeleted == false && x.Email == updateEmailDTO.newEmail)) { return(apiJsonResponse.ApiBadRequestWithMessage(PublicConstants.UserNameOrEmailAlreadyExistError)); } else { var User = context.User.FirstOrDefault(x => x.IsDeleted == false && x.Email == updateEmailDTO.oldEmail); User.Email = updateEmailDTO.newEmail; User.ModifiedDate = DateTime.Now; context.SaveChanges(); return(apiJsonResponse.ApiOkContentResult(updateEmailDTO)); } } else { return(apiJsonResponse.ApiBadRequestWithMessage(PublicConstants.UserNotFoundError)); } } } catch { return(apiJsonResponse.ApiBadRequestWithMessage(PublicConstants.SysErrorMessage)); } }
public async Task <ActionResult <UserToken> > updateEmail([FromBody] UpdateEmailDTO emailDTO) { var email = HttpContext.User.Claims.FirstOrDefault(c => c.Type == "sub")?.Value;; var user = await _userManager.FindByEmailAsync(email); if (user == null) { return(NotFound()); } user.Email = emailDTO.Email; var result = await _userManager.UpdateAsync(user); if (!result.Succeeded) { return(BadRequest(result.Errors)); } var loggedUser = await _userManager.FindByEmailAsync(emailDTO.Email); return(GenerateJwtToken(loggedUser.Email, loggedUser)); }