public async Task <ProfileImageEntity> UpsertImage(ProfileImageEntity entity) { var image = await GetImage(entity.Id); if (image == null) { _db.Add(entity); } else { _db.Update(entity); } await _db.SaveChangesAsync(); return(entity); }
public async Task <ProfileImage> UploadProfileImage(string profileId, string fileName, byte[] image) { var blobUrl = await _imageStorageService.StoreImage(fileName, image); var entity = new ProfileImageEntity { ImageUrl = blobUrl, LastUpdated = DateTime.UtcNow, ProfileId = profileId }; var updatedEntity = await _profileImagesRepository.UpsertImage(entity); var contract = ProfileImageMapper.ToContract(updatedEntity); return(contract); }