예제 #1
0
        public LookUpResponse LookUp(string orderDate)
        {
            LookUpResponse response = new LookUpResponse();

            List <Order> orders          = _orderRepository.GetOrder(orderDate);
            List <Order> ordersToDisplay = new List <Order>();

            foreach (var order in orders)
            {
                if (order.OrderDate == orderDate)
                {
                    ordersToDisplay.Add(order);
                }
            }

            response.order = ordersToDisplay;

            if (response.order.Count() == 0)
            {
                response.Success = false;
                response.Message = $"{orderDate} is not valid";
            }
            else
            {
                response.Success = true;
            }

            return(response);
        }
예제 #2
0
        public void CanLoadTest()
        {
            OrderManager   manager = OrderManagerFactory.Create();
            TestRepository repo    = new TestRepository();

            LookUpResponse response = manager.LookUp("06012019");

            Assert.IsNotNull(response);
            Assert.IsTrue(response.Success);
            Assert.AreEqual("KY", response.order[0].State);
        }
예제 #3
0
        public LookUpResponse LookResponse(string player)
        {
            LookUpResponse response = new LookUpResponse();

            response.player = _IManager.Load(player);

            if (response.player == null)
            {
                response.Success = false;
                response.Message = $"{player} is not a valid Name.";
            }
            else
            {
                response.Success = true;
            }
            return(response);
        }
예제 #4
0
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            LookupRequest request;

            while (!stoppingToken.IsCancellationRequested)
            {
                if (_queue.TryDequeue(out request))
                {
                    var response = new LookUpResponse {
                        LookUpId = request.LookUpId
                    };

                    IPricingService service;

                    if (string.IsNullOrEmpty(request.ApiKey))
                    {
                        service = _defaultService;
                    }
                    else
                    {
                        service = new AlphaVantageClient(new AlphaVantageSettings {
                            ApiKey = request.ApiKey
                        });
                    }

                    response.Price = await service.GetPriceAsync(request.Symbol);

                    var result = _writers.Remove(response.LookUpId, out var writer);

                    if (!result)
                    {
                        throw new NotSupportedException();
                    }

                    await writer.WriteAsync(response);

                    writer.Complete();
                }
                else
                {
                    await Task.Delay(100, stoppingToken);
                }
            }
        }
예제 #5
0
        public void Execute()
        {
            Manager manager = ManagerFactory.Create();

            Console.WriteLine("Lookup a Player");
            Console.WriteLine("--------------------------");
            string         playerName = ConsoleIO.GetPlayerName("Please enter a Players Name: ");
            LookUpResponse response   = manager.LookResponse(playerName);

            if (response.Success)
            {
                var results = ConvertAll(response.player);
                ConsoleIO.DisplayPlayer(results);
                Console.WriteLine("Press any key to continue...");
                Console.ReadLine();
            }
            else
            {
                Console.WriteLine("Player not found, press any key to continue...");
                Console.ReadLine();
            }
        }
예제 #6
0
        public void Execute()
        {
            OrderManager   manager      = OrderManagerFactory.Create();
            LookUpResponse response     = new LookUpResponse();
            Calculation    calculations = new Calculation();

            response.Success = false;

            while (response.Success == false)
            {
                Console.Clear();
                Console.WriteLine("Look up order");

                Extras.DisplayStarline();

                Console.WriteLine("Enter Order Date (MMDDYYYY):");
                string date = Console.ReadLine();

                response = manager.LookUp(date);
                if (response.Success == false)
                {
                    ConsoleIO.FalseMessageLookUp(response);
                }
            }

            Console.Clear();
            foreach (var order in response.order)
            {
                Extras.DisplayStarline();
                calculations.Calculate(order);
                ConsoleIO.DisplayOrderInfo(order);
                Extras.DisplayStarline();
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
예제 #7
0
 public static void FalseMessageLookUp(LookUpResponse response)
 {
     Console.WriteLine($"Error:{response.Message}");
     Console.WriteLine("Press any key to continue...");
     Console.ReadLine();
 }
예제 #8
0
 public LookUpCalled(LookUpResponse response)
 {
     Response = response;
 }