コード例 #1
0
        static void Main(string[] args)
        {
            try {
                AsyncMain().GetAwaiter().GetResult();
            }
            catch (Exception ex) {
                Logga.Log(ex);
            }

            Console.ReadKey();
        }
コード例 #2
0
        static async Task AsyncMain()
        {
            Console.WriteLine("##### Client #####");
            var endpoint = await CreateEndpoint();

            bool exit = false;

            while (!exit)
            {
                Console.WriteLine("----------------------");
                Console.WriteLine("Your order:");
                Console.WriteLine("[1]: Order beer.");
                Console.WriteLine("[2]: Beer was drunk.");
                Console.WriteLine("[x]: Exit.");
                var key = Console.ReadKey();
                Console.WriteLine();
                switch (key.Key)
                {
                case ConsoleKey.D1:
                    Console.WriteLine("Your Name?");
                    var name = Console.ReadLine();
                    Console.WriteLine("How many beers do you want?");
                    var beers = Console.ReadLine();
                    await endpoint.Send(new OrderBeerCommand { Name = name, Amount = beers });

                    continue;

                case ConsoleKey.D2:
                    Console.WriteLine("Which brand?");
                    var brand = Console.ReadLine();
                    await endpoint.Publish(new BeerWasDrunkEvent { Brand = brand });

                    continue;

                case ConsoleKey.X:
                    exit = true;
                    break;
                }
            }

            await endpoint.Stop();

            Logga.Log("Endpoint stopped.");
        }