Esempio n. 1
0
 /// <summary>
 /// 向服务器推送保存信息
 /// </summary>
 /// <param name="url"></param>
 /// <param name="sd"></param>
 /// <returns></returns>
 public static string PostMeteoData(string url, StationData sd, MissionInfo mi)
 {
     try
     {
         MeteoDataInputModel waveData = new MeteoDataInputModel();
         waveData.stationID   = sd.stationID;
         waveData.visibility  = sd.visibility;
         waveData.missionInfo = mi;
         string         jsonStr = JsonConvert.SerializeObject(waveData);
         HttpWebRequest req     = WebRequest.CreateHttp(url);
         req.Method      = "POST";
         req.ContentType = "application/json;charset=UTF-8";
         byte[] payload = Encoding.UTF8.GetBytes(jsonStr);
         req.ContentLength = payload.Length;
         Stream writer = req.GetRequestStream();
         writer.Write(payload, 0, payload.Length);
         writer.Close();
         var          response = req.GetResponse() as HttpWebResponse;
         Stream       stm      = response.GetResponseStream();
         StreamReader reader   = new StreamReader(stm, Encoding.UTF8);
         string       strDate  = "";
         string       strValue = "";
         while ((strDate = reader.ReadLine()) != null)
         {
             strValue += strDate + "\r\n";
         }
         reader.Close();
         stm.Close();
         return(strValue);
     }
     catch { return(null); }
 }
Esempio n. 2
0
        public bool MeteoDataInput(MeteoDataInputModel meteoDataInputModel)
        {
            string stateStr = "";

            // 初始化当天的表格,当天没有文件就新建一个
            if (!ChartProcess.ChartPreparation(meteoDataInputModel.missionInfo))
            {
                return(false);
            }
            //读取当天的文件
            List <StationData> stationList = ChartProcess.DailyFileRead(meteoDataInputModel.missionInfo);

            if (stationList == null)
            {
                return(false);
            }
            //寻找相同id的修改预报值
            try
            {
                stationList.ForEach(s =>
                {
                    s.visibility = s.stationID == meteoDataInputModel.stationID ? meteoDataInputModel.visibility : s.visibility;
                });
                string baseDirectory = AppDomain.CurrentDomain.BaseDirectory + "\\DailyData\\Meteorological\\ForecastFiles\\" + DateTime.Today.ToString("yyyyMMdd") + "\\";
                string fileName      = meteoDataInputModel.missionInfo.forecastFilesHead + DateTime.Today.ToString("yyyyMMdd") + ".txt";
                stateStr = fileName;
                if (!ChartProcess.ChartWrite(stationList, baseDirectory + fileName))
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                CommonTools.WriteLog("更新气象预报信息异常:" + stateStr + "\r\n" + e.Message);
                return(false);
            }
            return(true);
        }