static void Main(string[] args) { // TODO: this channel needs to use a proper service discovery host name // as well as injectable environment variable override Channel channel = new Channel("127.0.0.1:3000", ChannelCredentials.Insecure); var client = new OrderCommand.OrderCommandClient(channel); var tx = new OrderRequest { UserID = Guid.NewGuid().ToString(), CreatedOn = (ulong)DateTime.UtcNow.Ticks, TaxRate = 5 }; tx.LineItems.Add(new LineItem { SKU = "ABC123", UnitPrice = 12, Quantity = 1 }); tx.LineItems.Add(new LineItem { SKU = "FYI555", UnitPrice = 200, Quantity = 5 }); var response = client.SubmitOrder(tx); Console.WriteLine("Order Accepted - " + response.Accepted + ", OrderID - " + response.OrderID); }
public OrdersController(OrderManagement.OrderManagementClient client, OrderCommand.OrderCommandClient orderCommandClient, ILogger <OrdersController> logger) : base() { this.orderManagementClient = client; this.orderCommandClient = orderCommandClient; this.logger = logger; logger.LogInformation("Created Orders Controller"); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { Channel channel = new Channel("127.0.0.1:3000", ChannelCredentials.Insecure); var client = new OrderCommand.OrderCommandClient(channel); Channel invChannel = new Channel("127.0.0.1:3002", ChannelCredentials.Insecure); var invClient = new InventoryManagement.InventoryManagementClient(invChannel); Channel orderChannel = new Channel("127.0.0.1:3001", ChannelCredentials.Insecure); var orderClient = new OrderManagement.OrderManagementClient(orderChannel); services.AddSingleton(typeof(OrderCommand.OrderCommandClient), client); services.AddSingleton(typeof(InventoryManagement.InventoryManagementClient), invClient); services.AddSingleton(typeof(OrderManagement.OrderManagementClient), orderClient); services.AddMvc(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { Console.WriteLine("CONFIGURE SERVICES CALLED"); // TODO: make these channels DNS-disco-friendly Channel cmdChannel = new Channel(Configuration["rpcclient:ordercommand"], ChannelCredentials.Insecure); var client = new OrderCommand.OrderCommandClient(cmdChannel); Channel invChannel = new Channel(Configuration["rpcclient:inventory"], ChannelCredentials.Insecure); var invClient = new InventoryManagement.InventoryManagementClient(invChannel); Channel orderChannel = new Channel(Configuration["rpcclient:ordermanagement"], ChannelCredentials.Insecure); var orderClient = new OrderManagement.OrderManagementClient(orderChannel); logger.LogInformation($"Order Command Client: {cmdChannel.ResolvedTarget}"); logger.LogInformation($"Order Management Client: {orderChannel.ResolvedTarget}"); logger.LogInformation($"Inventory Client: {invChannel.ResolvedTarget}"); services.AddSingleton(typeof(OrderCommand.OrderCommandClient), client); services.AddSingleton(typeof(InventoryManagement.InventoryManagementClient), invClient); services.AddSingleton(typeof(OrderManagement.OrderManagementClient), orderClient); services.AddMvc(); }
static void Main(string[] args) { Channel channel = new Channel("127.0.0.1:3000", ChannelCredentials.Insecure); var client = new OrderCommand.OrderCommandClient(channel); var tx = new OrderRequest { UserID = Guid.NewGuid().ToString(), CreatedOn = (ulong)DateTime.UtcNow.Ticks, TaxRate = 5 }; tx.LineItems.Add(new LineItem { SKU = "ABC123", UnitPrice = 12, Quantity = 1 }); tx.LineItems.Add(new LineItem { SKU = "FYI555", UnitPrice = 200, Quantity = 5 }); var response = client.SubmitOrder(tx); Console.WriteLine("Order Accepted - " + response.Accepted + ", OrderID - " + response.OrderID); }