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);
            }
        }