public async Task <UpdateUserProfileEnum> UpdateUserData(UserProfileViewModel model) { var user = await _userManager.FindByEmailAsync(model.Email); if (user is null) { _logger.LogError("UserName: {0} | UserId: {1} | Request: {2} | PostMessage: {3}", "Null", "Null", _httpContextAccessor.HttpContext.Request.GetRawTarget(), $"User data was successfully updated"); return(UpdateUserProfileEnum.UserNotFound); } using (_logger.BeginScope($"User profile data update: {model.Email}")) { if (model.ImageToUpload != null) { string profileImageName = model.ImgUrl; var saveFileResult = await _fileImageService.SaveFile(model.ImageToUpload, "UserImages"); model.ImgUrl = saveFileResult; if (saveFileResult is null) { return(UpdateUserProfileEnum.ImageSizeIsTooBig); } if (!DefaultPictureNameHelper.DefaultPictures.Contains(profileImageName)) { _fileImageService.DeleteImage(profileImageName, "UserImages"); } var userForLog = await _userManager.FindByEmailAsync(_httpContextAccessor.HttpContext.User.Identity.Name); _logger.LogInformation("UserName: {0} | UserId: {1} | Request: {2} | PostMessage: {3}", userForLog.UserName, userForLog.Id, _httpContextAccessor.HttpContext.Request.GetRawTarget(), $"New picture was successfully saved. Picture name: {saveFileResult}"); } var updatedUser = model.CreateApplicationUser(user); await _userManager.UpdateAsync(updatedUser); _logger.LogInformation("UserName: {0} | UserId: {1} | Request: {2} | PostMessage: {3}", user.UserName, user.Id, _httpContextAccessor.HttpContext.Request.GetRawTarget(), $"User data was successfully updated"); return(UpdateUserProfileEnum.Updated); } }