コード例 #1
0
        // Please set the following connection strings in app.config for this WebJob to run:
        // AzureWebJobsDashboard and AzureWebJobsStorage
        static void Main()
        {
            var host = new JobHost();

            // The following code ensures that the WebJob will be running continuously


            Console.WriteLine("Web job Start");
            while (true)
            {
                try
                {
                    IManageLog manageLog  = new ManageLog();
                    var        restClient = new RestClient();
                    var        logdata    = restClient.GetLogData();
                    Console.WriteLine(restClient.IsSuccess);
                    if (restClient.IsSuccess)
                    {
                        var getStormDatas = restClient.GetStormData();

                        //if (getStormDatas != 0)
                        if (getStormDatas != null)
                        {
                            foreach (var getStormData in getStormDatas)
                            {
                                IDataLakePublisher obj = new DataLakePublisher();
                                obj.AddMessageToTopic(getStormData, "Storm", "StormSubcription");
                            }
                            manageLog.AddLog(logdata, true, "Ok");
                        }
                        else
                        {
                            manageLog.AddLog(logdata, false, "No data found for this set of parameter");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Storm API Service not working");
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Exception..." + ex.InnerException + "......." + ex.Message);
                }
                Thread.Sleep(5 * 60 * 1000);
            }
            // The following code ensures that the WebJob will be running continuously

            //host.RunAndBlock();
        }
コード例 #2
0
        /// <summary>
        /// 创建管理信息
        /// </summary>
        /// <param name="logCode"></param>
        /// <param name="logContent"></param>
        /// <param name="descc"></param>
        /// <returns></returns>
        public bool CreateManageLog(int?logCode, string logContent, string descc)
        {
            var manageLog = new ManageLog()
            {
                LogCode        = logCode,
                LogContent     = logContent,
                Descc          = descc,
                CreateTime     = DateTime.Now,
                CreateManageId = 1,
                LogTime        = DateTime.Now
            };

            return(this._manageLogRepository.CreateEntity(manageLog));
        }
コード例 #3
0
        // Please set the following connection strings in app.config for this WebJob to run:
        // AzureWebJobsDashboard and AzureWebJobsStorage
        static void Main()
        {
            var host = new JobHost();

            Console.WriteLine("Web job Start");
            while (true)
            {
                try
                {
                    // int interval = Convert.ToInt32(ConfigurationManager.AppSettings["pollinginterval"]);
                    IManageLog manageLog  = new ManageLog();
                    var        restClient = new RestClient();
                    var        logdata    = restClient.GetLogData();
                    Console.WriteLine(restClient.IsSuccess);
                    if (restClient.IsSuccess)
                    {
                        dynamic getWeatherDatas = restClient.GetWeatherData();
                        if (getWeatherDatas != null)
                        {
                            foreach (var getWeatherData in getWeatherDatas)
                            {
                                IDataLakePublisher obj = new DataLakePublisher();
                                obj.AddMessageToTopic(getWeatherData, "Weather", "WeatherSubcription");
                            }

                            manageLog.AddLog(logdata, true, "Ok");
                        }
                        else
                        {
                            manageLog.AddLog(logdata, false, "No data found for this set of parameter");
                        }
                    }
                    else
                    {
                        manageLog.AddLog(logdata, false, "Fails");
                        Console.WriteLine("Weather API Service not working");
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Exception..." + ex.InnerException + "......." + ex.Message);
                }
                Thread.Sleep(5 * 60 * 1000);
            }

            // The following code ensures that the WebJob will be running continuously
            // host.RunAndBlock();
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: SYN-RahulGhugre/DataLake
        // Please set the following connection strings in app.config for this WebJob to run:
        // AzureWebJobsDashboard and AzureWebJobsStorage
        static void Main()
        {
            var host = new JobHost();

            while (true)
            {
                IManageLog manageLog  = new ManageLog();
                RestClient restClient = new RestClient();
                var        logdata    = restClient.GetLogData();
                DateTime   startdate  = Convert.ToDateTime("2016-08-12T13:00:00");
                DateTime   enddate    = DateTime.Now;

                using (var db = new DataLakeEntities())
                {
                    var      checklastlog = db.uspGetlastrundate("EarthQuake").FirstOrDefault();
                    DateTime datetime     = new DateTime(1900, 1, 1).Add(Convert.ToDateTime(DateTime.MinValue).TimeOfDay);
                    if (checklastlog != datetime)
                    {
                        startdate = Convert.ToDateTime(checklastlog);
                    }
                }

                List <Feature>      feature             = restClient.LoadData(startdate, enddate);
                EarthQuakePublisher earthQuakePublisher = new EarthQuakePublisher();

                if (feature.Count > 0)
                {
                    earthQuakePublisher.AddMessageToTopic(feature, "EarthQuake", "EarthQuakeSubscriptin");

                    manageLog.AddLog(logdata, true, "Ok");
                }
                else
                {
                    manageLog.AddLog(logdata, false, "No data found for this set of parameter");
                }

                Thread.Sleep(5 * 60 * 1000);
            }
            // The following code ensures that the WebJob will be running continuously
            // host.RunAndBlock();
        }
コード例 #5
0
        public void GetWeatheMasterData(int i, string dataset, string url)
        {
            var        jsonData  = APIResponse.Content.ReadAsStringAsync().Result;
            IManageLog manageLog = new ManageLog();

            // TODO deserialize json into generic collection
            List <dynamic> data = new List <dynamic>();

            var finaldata = (JObject)JsonConvert.DeserializeObject(jsonData);

            switch (i)
            {
            case 1:
                var weatherDatasetTypesResult = finaldata["results"].Select(item => new
                                                                            WeatherDatasetTypes
                {
                    uid          = item["uid"].ToString(),
                    mindate      = Convert.ToDateTime(item["mindate"]),
                    maxdate      = Convert.ToDateTime(item["maxdate"]),
                    name         = item["name"].ToString(),
                    datacoverage = item["datacoverage"].ToString(),
                    id           = item["id"].ToString(),
                }).ToList();

                using (var db = new DataLakeEntities())
                {
                    foreach (var item in weatherDatasetTypesResult)
                    {
                        db.uspInsertWeatherDatasetTypesData(item.uid, item.mindate, item.maxdate, item.name, item.datacoverage, item.id);
                    }

                    LogData logdata = new LogData();
                    logdata.DatasetName = dataset;
                    logdata.DatasetURL  = url;

                    manageLog.AddLog(logdata, true, "Ok");
                }
                Console.WriteLine("Datset Updated");
                Console.ReadLine();

                break;

            case 2:
                var weatherDataCategoriesResult = finaldata["results"].Select(item => new
                                                                              WeatherDataCategories
                {
                    id   = item["id"].ToString(),
                    name = item["name"].ToString(),
                }).ToList();

                using (var db = new DataLakeEntities())
                {
                    foreach (var item in weatherDataCategoriesResult)
                    {
                        db.uspInsertWeatherDataCategoriesData(item.id, item.name);
                    }

                    LogData logdata = new LogData();
                    logdata.DatasetName = dataset;
                    logdata.DatasetURL  = url;

                    manageLog.AddLog(logdata, true, "Ok");
                }
                break;

            case 3:
                var weatherDataTypesResult = finaldata["results"].Select(item => new
                                                                         WeatherDataTypes
                {
                    mindate      = Convert.ToDateTime(item["mindate"]),
                    maxdate      = Convert.ToDateTime(item["maxdate"]),
                    name         = item["name"].ToString(),
                    datacoverage = Convert.ToDecimal(item["datacoverage"]),
                    id           = item["id"].ToString(),
                }).ToList();

                using (var db = new DataLakeEntities())
                {
                    foreach (var item in weatherDataTypesResult)
                    {
                        db.uspInsertWeatherDataTypesData(item.mindate, item.maxdate, item.name, item.datacoverage, item.id);
                    }

                    LogData logdata = new LogData();
                    logdata.DatasetName = dataset;
                    logdata.DatasetURL  = url;

                    manageLog.AddLog(logdata, true, "Ok");
                }
                break;

            case 4:
                var weatherLocationCategoriesResult = finaldata["results"].Select(item => new
                                                                                  WeatherLocationCategories
                {
                    id   = item["id"].ToString(),
                    name = item["name"].ToString(),
                }).ToList();

                using (var db = new DataLakeEntities())
                {
                    foreach (var item in weatherLocationCategoriesResult)
                    {
                        db.uspInsertWeatherLocationCategoriesData(item.id, item.name);
                    }

                    LogData logdata = new LogData();
                    logdata.DatasetName = dataset;
                    logdata.DatasetURL  = url;

                    manageLog.AddLog(logdata, true, "Ok");
                }
                break;

            case 5:
                var weatherLocationsResult = finaldata["results"].Select(item => new
                                                                         WeatherLocations
                {
                    mindate      = Convert.ToDateTime(item["mindate"]),
                    maxdate      = Convert.ToDateTime(item["maxdate"]),
                    name         = item["name"].ToString(),
                    datacoverage = Convert.ToDecimal(item["datacoverage"]),
                    id           = item["id"].ToString(),
                }).ToList();
                using (var db = new DataLakeEntities())
                {
                    foreach (var item in weatherLocationsResult)
                    {
                        db.uspInsertWeatherLocationsData(item.mindate, item.maxdate, item.name, item.datacoverage, item.id);
                    }

                    LogData logdata = new LogData();
                    logdata.DatasetName = dataset;
                    logdata.DatasetURL  = url;

                    manageLog.AddLog(logdata, true, "Ok");
                }

                break;

            case 6:
                var weatherStationsResult = finaldata["results"].Select(item => new
                                                                        WeatherStations
                {
                    elevation     = item["elevation"] != null ? Convert.ToDecimal(item["elevation"]) : 0,
                    mindate       = Convert.ToDateTime(item["mindate"]),
                    maxdate       = Convert.ToDateTime(item["maxdate"]),
                    latitude      = Convert.ToDecimal(item["latitude"]),
                    name          = item["name"].ToString(),
                    datacoverage  = Convert.ToDecimal(item["datacoverage"]),
                    id            = item["id"].ToString(),
                    elevationUnit = Convert.ToString(item["elevationUnit"]),
                    longitude     = Convert.ToDecimal(item["longitude"]),
                }).ToList();

                using (var db = new DataLakeEntities())
                {
                    foreach (var item in weatherStationsResult)
                    {
                        db.uspInsertWeatherStationsData(item.elevation, item.mindate, item.maxdate, item.latitude, item.name, item.datacoverage, item.id, item.elevationUnit, item.longitude);
                    }

                    LogData logdata = new LogData();
                    logdata.DatasetName = dataset;
                    logdata.DatasetURL  = url;

                    manageLog.AddLog(logdata, true, "Ok");
                }
                break;
            }



            //dynamic d = JObject.Parse(jsonData);
            //  WeatherDatasets account = JsonConvert.DeserializeObject<WeatherDatasets>(jsonData);

            //dynamic obj = finaldata["results"];
            // return obj;
            //data =  (JObject)JsonConvert.DeserializeObject <dynamic>(jsonData);
            // Iterating each element in generic collection
            // Pass each entry to queue or topic
        }
コード例 #6
0
 public bool DeleteEntity(ManageLog entity)
 {
     return(base.DeleteEntity <ManageLog>(entity));
 }
コード例 #7
0
 public bool UpdateEntity(ManageLog entity)
 {
     return(base.UpdateEntity <ManageLog>(entity));
 }
コード例 #8
0
 public bool CreateEntity(ManageLog entity)
 {
     return(base.CreateEntity <ManageLog>(entity));
 }