| | |
| | | { |
| | | public class HistoryAnaPrjFileHelper |
| | | { |
| | | public static bool SavePrj(CalcModel.AnaSetting settting, IStation.CalcModel.AnaRequest request, IStation.CalcModel.AnaPrj prj) |
| | | public static bool SavePrj( |
| | | CalcModel.AnaSetting settting, |
| | | bool isPredictRecord,//æ¯å¦æ¯ç¨å°æ°´é颿µ |
| | | IStation.CalcModel.AnaRequest request, |
| | | IStation.CalcModel.AnaPrj prj) |
| | | { |
| | | if (prj == null || prj.BlockTimes == null || prj.BlockTimes.Count == 0 || request == null) return false; |
| | | |
| | |
| | | } |
| | | dal.Insert(prj, request); |
| | | |
| | | return WriteXmlFile(settting, request, prj); |
| | | return WriteXmlFile(settting, isPredictRecord, request, prj); |
| | | } |
| | | |
| | | //ä¿å |
| | | public static bool SavePrj(CalcModel.AnaSetting settting, IStation.CalcModel.AnaRequestBase requestBase, IStation.CalcModel.AnaPrj prj) |
| | | public static bool SavePrj( |
| | | CalcModel.AnaSetting settting, |
| | | bool isPredictRecord,//æ¯å¦æ¯ç¨å°æ°´é颿µ |
| | | IStation.CalcModel.AnaRequestBase requestBase, |
| | | IStation.CalcModel.AnaPrj prj) |
| | | { |
| | | if (prj == null || prj.BlockTimes == null || prj.BlockTimes.Count == 0) return false; |
| | | |
| | |
| | | var dal = new IStation.DAL.AnaProject(); |
| | | dal.Insert(prj, requestBase); |
| | | |
| | | return WriteXmlFile(settting, requestBase, prj); |
| | | return WriteXmlFile(settting, isPredictRecord, requestBase, prj); |
| | | } |
| | | |
| | | #region XML读å |
| | | |
| | | // |
| | | private static bool WriteXmlFile(CalcModel.AnaSetting settting, IStation.CalcModel.AnaRequestBase requestBase, IStation.CalcModel.AnaPrj prj) |
| | | private static bool WriteXmlFile( |
| | | CalcModel.AnaSetting settting, |
| | | bool isPredictRecord,//æ¯å¦æ¯ç¨å°æ°´é颿µ |
| | | IStation.CalcModel.AnaRequestBase requestBase, |
| | | IStation.CalcModel.AnaPrj prj) |
| | | { |
| | | var root_folder = System.IO.Path.Combine(IStation.DataFolderHelper.GetRootPath(), "History"); |
| | | if (!System.IO.Directory.Exists(root_folder)) |
| | |
| | | XmlElement rootNode = xmlDoc.CreateElement("root"); |
| | | xmlDoc.AppendChild(rootNode); |
| | | |
| | | // root ä¸çåèç¹ |
| | | //XmlElement toTalTick = xmlDoc.CreateElement("TotalTick"); |
| | | //toTalTick.InnerText = "10"; |
| | | //rootNode.AppendChild(toTalTick); //注æè¿éæ¯ root.AppendChild |
| | | |
| | | #region çæ¬ä¿¡æ¯ |
| | | |
| | |
| | | var nodeCalcSpaceMinute = xmlDoc.CreateElement("CalcSpaceMinute"); |
| | | nodeCalcSpaceMinute.InnerText = prj.CalcSpaceMinute.ToString(); |
| | | nodeProject.AppendChild(nodeCalcSpaceMinute); |
| | | |
| | | var nodeMaxWaterLevelH = xmlDoc.CreateElement("MaxWaterLevelH"); |
| | | nodeMaxWaterLevelH.InnerText = prj.MaxWaterLevelH.ToString(); |
| | | nodeProject.AppendChild(nodeMaxWaterLevelH); |
| | | |
| | | var nodeMaxWaterLevelTime = xmlDoc.CreateElement("MaxWaterLevelTime"); |
| | | nodeMaxWaterLevelTime.InnerText = prj.MaxWaterLevelTime.ToString(); |
| | | nodeProject.AppendChild(nodeMaxWaterLevelTime); |
| | | |
| | | |
| | | if (prj.EndTimeOpenPumpStatus != null) |
| | | { |
| | |
| | | nodeAnaRequest.AppendChild(node_MaxReservoirLevel); |
| | | |
| | | XmlNode node_MaxReservoirLevelTime = xmlDoc.CreateElement("MaxReservoirLevelTime"); |
| | | node_MaxReservoirLevelTime.InnerText = requestBase.MaxReservoirLevelTime == null ? "" : requestBase.MaxReservoirLevelTime; |
| | | node_MaxReservoirLevelTime.InnerText = string.IsNullOrEmpty( requestBase.MaxReservoirLevelTime) ? "" : requestBase.MaxReservoirLevelTime; |
| | | nodeAnaRequest.AppendChild(node_MaxReservoirLevelTime); |
| | | |
| | | XmlNode node_ReservoirDropFlow = xmlDoc.CreateElement("SpaceFlowOut"); |
| | | node_ReservoirDropFlow.InnerText = requestBase.PerHourFlowOut == null ? "" : string.Join(",", requestBase.PerHourFlowOut); |
| | | nodeAnaRequest.AppendChild(node_ReservoirDropFlow); |
| | | |
| | | XmlNode node_IsPredictRecord = xmlDoc.CreateElement("IsPredictRecord"); |
| | | node_IsPredictRecord.InnerText = isPredictRecord.ToString(); |
| | | nodeAnaRequest.AppendChild(node_IsPredictRecord); |
| | | |
| | | |
| | | |
| | | //XmlNode node_MaxReservoirLevel = xmlDoc.CreateElement("MaxReservoirLevel"); |
| | | //node_MaxReservoirLevel.InnerText = requestBase.MaxReservoirLevel == null ? "" : requestBase.MaxReservoirLevel.ToString(); |
| | |
| | | if (nodeCalcSpaceMinute == null) |
| | | return null; |
| | | prj.CalcSpaceMinute = Convert.ToInt32(nodeCalcSpaceMinute.InnerText); |
| | | |
| | | // |
| | | var nodeMaxWaterLevelH = nodeProjectInfo.SelectSingleNode("MaxWaterLevelH"); |
| | | if (nodeMaxWaterLevelH != null) |
| | | { |
| | | prj.MaxWaterLevelH = Convert.ToDouble(nodeMaxWaterLevelH.InnerText); |
| | | } |
| | | var nodeMaxWaterLevelTime = nodeProjectInfo.SelectSingleNode("MaxWaterLevelTime"); |
| | | if (nodeMaxWaterLevelTime != null) |
| | | { |
| | | prj.MaxWaterLevelTime = Convert.ToDateTime(nodeMaxWaterLevelTime.InnerText); |
| | | } |
| | | |
| | | |
| | | #region BlockTimes |
| | | |
| | |
| | | requestBase.PerHourFlowOut.Add(Convert.ToDouble(s)); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | return prj; |