public async Task <Image> Handle(Command request, CancellationToken cancellationToken) { var imageUploadResult = _imageAccessor.AddImage(request.File); var user = await _context.Users .Include(x => x.Images) .SingleOrDefaultAsync(x => x.UserName == _userAccessor.GetCurrentUsername()); var image = new Image { Url = imageUploadResult.Url, Id = imageUploadResult.PublicId }; if (!user.Images.Any(x => x.IsMain)) { image.IsMain = true; } user.Images.Add(image); var success = await _context.SaveChangesAsync() > 0; if (success) { return(image); } throw new Exception("Problem saving changes"); }
public async Task <Photo> Handle(Command command, CancellationToken cancellationToken) { var imageUploadViewModel = _imageAccessor.AddImage(command.File); var appUser = await _databaseContext.Users.SingleOrDefaultAsync(x => x.UserName == _userAccessor.GetCurrentUsername()); var photo = new Photo { Id = imageUploadViewModel.PublicId, URL = imageUploadViewModel.URL, }; if (!appUser.Photos.Any(x => x.IsMain)) { photo.IsMain = true; } appUser.Photos.Add(photo); var photoSuccessfullyAdded = await _databaseContext.SaveChangesAsync() > 0; if (photoSuccessfullyAdded) { return(photo); } throw new Exception("Problem uploading photo"); }
public async Task <Image> Handle(Command request, CancellationToken cancellationToken) { var imageUploadResult = _imageAccesor.AddImage(request.File); var product = await _context.Products.SingleOrDefaultAsync(x => x.Id == request.IdProduct); if (product == null) { throw new RestException(HttpStatusCode.NotFound, new { product = "Product Not Found" }); } var image = new Image { Url = imageUploadResult.Url, IdCloudinary = imageUploadResult.PublicId }; if (!product.Images.Any(x => x.IsMain)) { image.IsMain = true; } product.Images.Add(image); var success = await _context.SaveChangesAsync() > 0; if (success) { return(image); } throw new Exception("Problem saving changes"); }