Exemple #1
0
 public GisService() : base()
 {
     dbContext        = ConfigurationManager.AppSettings.Get("db.context");
     gisDbContext     = new GisDbContext(dbContext);
     cityService      = new CityService(gisDbContext);
     prognosisService = new PrognosisService(gisDbContext);
 }
Exemple #2
0
        static void Main(string[] args)
        {
            GisService gisService = new GisService();

            //gisService.GetLocalData(); //Загружаем данные с локального источника
            gisService.GetData(); //Загружаем данные с сайта

            string       dbContext    = ConfigurationManager.AppSettings.Get("db.context");
            GisDbContext gisDbContext = new GisDbContext(dbContext);// подключаемся к БД

            CityService      cityService      = new CityService(gisDbContext);
            PrognosisService prognosisService = new PrognosisService(gisDbContext);

            do
            {
                // Если передаем аргумент при запуске, то считаем что это периодичность чтения данных,
                // иначе - проходим один раз и завершаем выполнение
                int period = (args.Length > 0) ? Int32.Parse(args[0]): 0;
                foreach (KeyValuePair <long, string> city in gisService.Cities)
                {
                    if (cityService.FindByName(city.Value) == null)
                    {
                        City cityObj = cityService.CreateCity(city.Key, city.Value);
                        cityService.AddCity(cityObj);
                    }
                    Prognosis prognosis = PrognosisService.ParsePrognosis(city.Key, gisService.GetPrognosisData(city.Key));
                    prognosisService.AddPrognosis(prognosis);
                }

                Thread.Sleep(period * 1000);
            } while (true && args.Length > 0);
        }