public async Task UploadPhoto(IFormFile photo, int reviewId, string email) { var user = await _userManager.FindByEmailAsync(email); using (IUnitOfWork unitOfWork = _unitOfWorkFactory.Create()) { IRepository <Review> reviews = unitOfWork.Repository <Review>(); IRepository <Photo> photos = unitOfWork.Repository <Photo>(); var review = reviews.Get(reviewId); if (review == null) { return; } if (review.MechanicId != user.Id) { return; } using (var stream = new MemoryStream()) { await photo.CopyToAsync(stream); stream.Position = 0; string url = await _azureBlobStorage.UploadFile(stream, $"review{reviewId}", photo.FileName); photos.Add(new Photo { ReviewId = reviewId, Url = url }); } await unitOfWork.SaveAsync(); } }
public async Task UploadAvatar(IFormFile photo, string email) { var user = await _userManager.FindByEmailAsync(email); using (IUnitOfWork unitOfWork = _unitOfWorkFactory.Create()) { var customerRepository = unitOfWork.Repository <Customer>(); var customer = await customerRepository.GetAsync(user.Id); using (var stream = new MemoryStream()) { await photo.CopyToAsync(stream); stream.Position = 0; string url = await _azureBlobStorage.UploadFile(stream, "avatars", customer.UserName + DateTime.UtcNow); customer.Avatar = url; } await unitOfWork.SaveAsync(); } }