示例#1
0
        public async Task <ImageUrlDto> UpdateUserAvatarAsync(int userId, EditUserAvatarDto dto)
        {
            var userFromDb = await _userRepository.GetAsync(userId);

            if (dto.ImageFiles.IsNullOrEmpty())
            {
                userFromDb.ADUserAvatarFileName = string.Empty;
            }
            else
            {
                userFromDb.ADUserAvatarFileName = ImageUrlHelper.NewImageFileName();

                _storageProvider.CreateImage(ImageUrlHelper.GetFileGuid(userFromDb.ADUserAvatarFileName).GetValueOrDefault(), dto.ImageFiles.First());
            }

            await _userRepository.UpdateAsync(userFromDb);

            await _unitOfWork.CompleteAsync();

            return(ImageUrlHelper.ToImageUrl(ImageUrlHelper.GetFileGuid(userFromDb.ADUserAvatarFileName).GetValueOrDefault()));
        }
示例#2
0
        public async Task <IActionResult> UpdateAvatarForUser(int userId, [FromForm] EditUserAvatarDto dto)
        {
            var result = await _userService.UpdateUserAvatarAsync(userId, dto);

            return(Success(result));
        }