/// <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); } }
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); }