Пример #1
0
        private static void ShowMainWIndow()
        {
            IList <Disaster> disasters = new List <Disaster>();
            int option = -1;

            do
            {
                Console.Clear();
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("============================================");
                Console.WriteLine("===          DISASTERS MONITOR           ===");
                Console.WriteLine("============================================");
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine("1. Request disaster from Reliefweb");
                Console.WriteLine("2. Save disaster to disk");
                Console.WriteLine("3. Load disaster from disk");
                Console.WriteLine("4. Order disasters by date");
                Console.WriteLine("5. Order epidemic disasters by name");
                Console.WriteLine("6. Alert disaster");
                Console.WriteLine("0. Exit");
                Console.WriteLine();

                ConsoleKeyInfo key = Console.ReadKey();
                Console.WriteLine();

                Console.ForegroundColor = ConsoleColor.DarkGray;
                Console.WriteLine("Wait a sec please!...");
                Console.ForegroundColor = ConsoleColor.White;

                if (Int32.TryParse(key.KeyChar.ToString(), out option))
                {
                    DisasterInfoProvider disasterInfoProvider = option == 1 ? DisasterInfoProvider.Reliefweb : option == 3 ? DisasterInfoProvider.FileSystem : DisasterInfoProvider.None;

                    switch (option)
                    {
                    case 1:
                    case 3:
                        disasters = RequestDisasters(disasterInfoProvider);
                        break;

                    case 2:
                        PersistDisasters(disasters);
                        break;

                    case 4:
                        OrderDisasters(disasters);
                        break;

                    case 5:
                        OrderEpidemicDisastersByName(disasters);
                        break;

                    case 6:
                        AlertDisaster(disasters);
                        break;
                    }
                }
            } while (option != 0);
        }
Пример #2
0
        private static IList <Disaster> RequestDisasters(DisasterInfoProvider disasterInfoProvider)
        {
            IList <Disaster> disasters;

            using (IDisasterInfoProvider provider = container.GetInstance <IServicesFabric>().CreateDisasterInfoProvider(disasterInfoProvider))
            {
                disasters = provider.RequestDisasters(_supportedDisasterTypes);
            }
            ShowDisasters(disasters);

            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.WriteLine("Press any key to continue");

            Console.ReadKey();
            return(disasters);
        }
Пример #3
0
        public IDisasterInfoProvider CreateDisasterInfoProvider(DisasterInfoProvider provider)
        {
            IDisasterInfoProvider result;

            if (provider == DisasterInfoProvider.Reliefweb)
            {
                result = _container.GetInstance <ReliefwebServiceProvider>();
            }
            else if (provider == DisasterInfoProvider.FileSystem)
            {
                result = _container.GetInstance <FileSystemServiceProvider>();
            }
            else
            {
                throw new InvalidOperationException("Cannot create a provider for " + provider.ToString());
            }

            return(result);
        }