예제 #1
0
        private static async Task HandlePlaceBlocksCommand()
        {
            Console.WriteLine("-------------");
            Console.WriteLine("Provide portfolio name for placing block order:");
            var portfolioName = Console.ReadLine();

            Console.WriteLine("Provide area code for placing block order:");
            var areaCode = Console.ReadLine();

            Console.WriteLine("Provide block type (\"Regular\", \"Linked\", \"Profiled\", \"ExclusiveGroup\", \"Spread\"):");
            BlockOrderType blockOrderType;

            while (!Enum.TryParse(Console.ReadLine(), out blockOrderType))
            {
                Console.WriteLine("Incorrect option specified! Try again.");
            }

            Console.WriteLine(
                $"Generating static block order ({blockOrderType}) for portfolio {portfolioName} with area {areaCode}");
            var blockOrderRequest =
                OrderGenerator.GenerateStaticBlockOrder(portfolioName, areaCode, _selectedAuction, blockOrderType);

            Console.WriteLine("Generated block order:");
            ConsoleHelper.WriteBlockOrderRequest(blockOrderRequest);

            Console.WriteLine("Sending generated block order to Auction API...");

            try
            {
                var response = await _auctionApiClient.PlaceBlockOrder(blockOrderRequest);

                Console.WriteLine("Block order placed successfully:");
                ConsoleHelper.WriteBlockList(response);
            }
            catch (AuctionApiException exception)
            {
                WriteException(exception);
            }
        }