Ejemplo n.º 1
0
        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);
        }