public override async Task <GetProductResponse> GetProduct(GetProductRequest request, ServerCallContext context) { var productId = request.ProductId; if (productId == null) { throw new RpcException(new Status(StatusCode.InvalidArgument, "Invalid product id to GetProduct")); } var result = _ProductsDataStore.FirstOrDefault(predicate => predicate.Id == productId); if (result == null) { throw new RpcException(new Status(StatusCode.NotFound, $"The Product id {productId} wasn't found")); } Product.Product Product = new Product.Product() { Id = result.Id, Name = result.Name, Description = result.Description }; return(await Task.FromResult(new GetProductResponse() { Product = Product })); }
private static async Task AddMultipleProductsToCart() { var carttProduct = new Product.Product { Title = "Milk", Price = 10 }; var request = new AddMultipleProductsToCartRequest { Product = carttProduct }; var stream = cartClient.AddMultipleProductsToCart(); foreach (var item in Enumerable.Range(1, 10)) { await stream.RequestStream.WriteAsync(request); Thread.Sleep(2000); } await stream.RequestStream.CompleteAsync(); var response = await stream.ResponseAsync; Console.WriteLine($"Count: {response.Status}"); }
public Product.Product AddToCartDB(Product.Product product) { try { BsonDocument doc = new BsonDocument("title", product.Title) .Add("price", product.Price); mongoCollection.InsertOne(doc); var id = doc.GetValue("_id").ToString(); product.Id = id; } catch (Exception ex) { return(null); } return(product); }
private static async Task AddToCartUnary() { try { var product = new Product.Product(); product.Title = "Pizza"; product.Price = 107; var response = await cartClient.AddToCartAsync(new AddToCartRequest { Product = product }); Console.WriteLine($"New id: {response.Product.Id.ToLower()}"); } catch (Exception ex) { } }
private static void DeleteProduct(ProductService.ProductServiceClient client, Product.Product Product) { try { var response = client.DeleteProduct(new DeleteProductRequest() { ProductId = Product.Id }); Console.WriteLine("The Product with id " + Product.Id + " was deleted"); } catch (RpcException e) { Console.WriteLine(e.Status.Detail); } }
private static void UpdateProduct(ProductService.ProductServiceClient client, Product.Product Product) { try { var response = client.UpdateProduct(new UpdateProductRequest() { Product = Product }); Console.WriteLine(response.Product.ToString()); } catch (RpcException e) { Console.WriteLine(e.Status.Detail); } }