public async Task <UserDto> UpdateProfileAsync(UserDto userDto) { var user = await GetUserByIdOrThrowAsync(userDto.Id); var oldImagePublicId = user.ImagePublicId; Mapper.Map(userDto, user); _userRepository.Update(user); await SaveProvider.SaveAsync(); if (user.ImagePublicId != oldImagePublicId) { await _pictureService.DeleteImageAsync(oldImagePublicId); await _pictureService.ChangeImageTagAsync(user.ImagePublicId, CloudinaryTagDefaults.Employee); } await _pictureService.DeleteTemporaryImagesAsync(); return(userDto); }