Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }
Example #4
0
        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));
        }
Example #5
0
        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));
        }
Example #6
0
        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));
        }
Example #7
0
        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));
        }
Example #8
0
        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));
        }