コード例 #1
0
        async Task <bool> IProductService.UpsertProduct(IProductBucketProvider productBucket, ProductUpdateInputModel productUpdate)
        {
            IDocumentResult upsertResult = await productBucket.GetBucket().UpsertAsync(new Document <ProductDO>
            {
                Id      = productUpdate.Id,
                Content = new ProductDO(productUpdate.Name, productUpdate.Price)
            });

            return(upsertResult.Success);
        }
コード例 #2
0
        async Task <string> IProductService.InsertProduct(IProductBucketProvider productBucket, ProductCreateInputModel productCreate)
        {
            string productId = Guid.NewGuid().ToString();
            await productBucket.GetBucket().InsertAsync(new Document <ProductCreateInputModel>
            {
                Id      = productId,
                Content = productCreate
            });

            return(productId);
        }
コード例 #3
0
        async Task <ProductModel> IProductService.GetProduct(IProductBucketProvider productBucket, string id)
        {
            IDocumentResult <ProductDO> productDO = await productBucket.GetBucket().GetDocumentAsync <ProductDO>(id);

            if (productDO.Success)
            {
                return(ProductModel.FromProductDO(productDO.Id, productDO.Content));
            }
            else
            {
                return(null);
            }
        }
コード例 #4
0
        async Task <List <ProductModel> > IProductService.GetAllProducts(IProductBucketProvider productBucket)
        {
            IQueryable <string> allProducts = (from productDO in new BucketContext(productBucket.GetBucket()).Query <string>()
                                               select N1QlFunctions.Meta(productDO).Id);
            List <ProductModel> products = new List <ProductModel>();

            foreach (string productId in allProducts)
            {
                IDocumentResult <ProductDO> productDO = await productBucket.GetBucket().GetDocumentAsync <ProductDO>(productId);

                products.Add(ProductModel.FromProductDO(productId, productDO.Content));
            }
            return(products);
        }
コード例 #5
0
 public ProductController(IProductBucketProvider _productBucket, IProductService _productService)
 {
     this._productBucket  = _productBucket;
     this._productService = _productService;
 }
コード例 #6
0
 async void IProductService.DeleteProduct(IProductBucketProvider productBucket, string id)
 {
     await productBucket.GetBucket().RemoveAsync(id);
 }