Beispiel #1
0
        private void timerDo4_Tick(object sender, ElapsedEventArgs e)
        {
            t4.Enabled = false;
            var date = DateTime.Now;

            Console.WriteLine(date.ToString("yyyy/MM/dd HH:mm:ss"));
            LogHelper.WriteLog(typeof(FrmMainServer), "看门狗程序开始!");
            if (date.Hour >= 2)
            {
                try
                {
                    Console.WriteLine("开始同步PM2.5");
                    LogHelper.WriteLog(typeof(FrmMainServer), "开始同步PM2.5!");
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://api.help.bj.cn/apis/weather/?id=101210107");
                    request.Method    = "GET";
                    request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36";
                    HttpWebResponse response         = (HttpWebResponse)request.GetResponse();
                    Stream          myResponseStream = response.GetResponseStream();
                    StreamReader    myStreamReader   = new StreamReader(myResponseStream, Encoding.UTF8);
                    string          retString        = myStreamReader.ReadToEnd();
                    var             respTqpm         = JsonConvert.DeserializeObject <TqPm25>(retString);
                    Console.WriteLine(respTqpm);
                    myStreamReader.Close();
                    myResponseStream.Close();
                    var times = date.ToString("yyyy-MM-dd");
                    var query = _dbContext3.Barometric.FirstOrDefault(x => x.IsDeleted != 1 && x.BarTime == times);


                    if (query == null)
                    {
                        Barometric lot = new Barometric()
                        {
                            BarometricUuid = Guid.NewGuid(),
                            NowShuzhi      = respTqpm.pm25,
                            IsDeleted      = 0,
                            Linjie         = "75",
                            BarTime        = DateTime.Now.ToString("yyyy-MM-dd"),
                            AddTime        = DateTime.Now.ToString("yyyy-MM-dd"),
                            AddPeople      = "狗"
                        };
                        _dbContext3.Barometric.Add(lot);
                        _dbContext3.SaveChanges();
                    }
                    t4.Enabled = true;
                }
                catch (Exception ex)
                {
                    Console.WriteLine("同步PM2.5遇到错误!" + ex.Message);
                    LogHelper.WriteLog(typeof(FrmMainServer), "同步PM2.5遇到错误!" + ex.Message);
                }
                finally
                {
                    t4.Enabled = true;
                }
            }



            LogHelper.WriteLog(typeof(FrmMainServer), "看门狗程序完毕!");
        }
        public IActionResult GetCreate(AirPolluViewModel model)
        {
            var response = ResponseModelFactory.CreateInstance;

            if (string.IsNullOrEmpty(model.BarTime) || string.IsNullOrEmpty(model.NowShuzhi
                                                                            .Trim()))
            {
                response.SetFailed("请输入时间和当日数值");
                return(Ok(response));
            }
            using (_dbContext)
            {
                var time = Convert.ToDateTime(model.BarTime).ToString("yyyy-MM-dd");
                if (_dbContext.Barometric.Any(x => x.BarTime == time && x.IsDeleted == 0))
                {
                    response.SetFailed("该时间已存在记录");
                    return(Ok(response));
                }
                var entity = new Barometric()
                {
                    BarometricUuid = Guid.NewGuid(),
                    BarTime        = time,
                    NowShuzhi      = model.NowShuzhi,
                    Linjie         = model.Linjie,
                    IsDeleted      = 0,
                    AddTime        = DateTime.Now.ToString("yyyy-MM-dd"),
                    AddPeople      = AuthContextService.CurrentUser.DisplayName,
                };
                _dbContext.Barometric.Add(entity);
                var num = _dbContext.SaveChanges();
                if (num > 0)
                {
                    ToLog.AddLog("添加", "成功:添加:大气防治信息一条数据", _dbContext);
                    response.SetSuccess();
                }
                else
                {
                    response.SetFailed("添加失败");
                }
                return(Ok(response));
            }
        }