public async Task <ResponseViewModel> DeleteBasketAsync(string username, CancellationToken cancellationToken = default) { var response = new ResponseViewModel(); await _basketRepository.DeleteBasketAsync(username, cancellationToken); response.Succeed(); return(await Task.FromResult(response)); }
public async Task <ResponseViewModel <Product> > CreateProductAsync(Product product, CancellationToken cancellationToken = default) { var response = new ResponseViewModel <Product>(); response.Entity = await _productRepository.CreateProductAsync(product, cancellationToken); response.Succeed(); return(await Task.FromResult(response)); }
public async Task <ResponseViewModel <ShoppingCart> > UpdateBasketAsync(ShoppingCart cart, CancellationToken cancellationToken = default) { var response = new ResponseViewModel <ShoppingCart>(); response.Entity = await _basketRepository.UpdateBasketAsync(cart.UserName, cart, cancellationToken); response.Succeed(); return(await Task.FromResult(response)); }
public async Task <ResponseViewModel <ShoppingCart> > GetBasketAsync(string username, CancellationToken cancellationToken = default) { var response = new ResponseViewModel <ShoppingCart>(); var basket = await _basketRepository.GetBasketAsync(username, cancellationToken); response.Entity = basket ?? new ShoppingCart(username); response.Succeed(); return(await Task.FromResult(response)); }
public async Task <ResponseViewModel> DeleteProductAsync(string id, CancellationToken cancellationToken = default) { var response = new ResponseViewModel(); var success = await _productRepository.DeleteProduct(id, cancellationToken); if (!success) { response.AddMessage("Cannot delete product.", ResponseMessageType.Warning); return(await Task.FromResult(response)); } response.Succeed(); return(await Task.FromResult(response)); }
public async Task <ResponseViewModel <bool> > UpdateProductByAsync(string id, Product product, CancellationToken cancellationToken = default) { var response = new ResponseViewModel <bool>(); var success = await _productRepository.UpdateProductByAsync(id, product, cancellationToken); if (!success) { response.AddMessage("Product cannot be updated.", ResponseMessageType.Warning); return(await Task.FromResult(response)); } response.Succeed(); return(await Task.FromResult(response)); }
public async Task <ResponseViewModel <IEnumerable <Product> > > GetProductsAsync(CancellationToken cancellationToken = default) { var response = new ResponseViewModel <IEnumerable <Product> >(); response.Entity = await _productRepository.GetProductsAsync(cancellationToken); if (response.Entity is null) { response.AddMessage("No product is found.", ResponseMessageType.Warning); return(await Task.FromResult(response)); } response.Succeed(); return(await Task.FromResult(response)); }
public async Task <ResponseViewModel <Product> > GetProductByIdAsync(string id, CancellationToken cancellationToken = default) { var response = new ResponseViewModel <Product>(); response.Entity = await _productRepository.GetProductByIdAsync(id, cancellationToken); if (response.Entity is null) { response.AddMessage("No product is found with this ID.", ResponseMessageType.Warning); return(await Task.FromResult(response)); } response.Succeed(); return(await Task.FromResult(response)); }