/// <summary> 创建初始重启模型 </summary> public MainFileRestartSimON InitRestartInfoModel(SimONData mainData) { SOLVECTRL start = mainData.Key.Find <SOLVECTRL>(); if (start == null) { return(null); } MainFileRestartSimON restart = new MainFileRestartSimON(); restart.Parent = null; restart.RestartTime = start.Date; restart.FileName = Path.GetFileNameWithoutExtension(mainData.FileName); restart.FilePath = Path.GetDirectoryName(mainData.FilePath); restart.Index = 0; restart.ResultFilePath = restart.FilePath + "\\" + Path.GetFileNameWithoutExtension(restart.FileName) + "_rst1.bin"; restart.MainFilePath = restart.FilePath + "\\" + restart.FileName + KeyConfiger.SimONExtend; // 把主文件的SCH和SOLU部分传进来 restart.Solution = mainData.Key.Find <SOLUTION>(); restart.Schedule = mainData.Key.Find <SCHEDULE>(); restart.Well = mainData.Key.Find <WELL>(); restart.SchPath = restart.FilePath + "\\" + restart.FileName + "_SCH.DAT"; restart.InitPath = restart.FilePath + "\\" + restart.FileName + "_iNIT.DAT"; return(restart); }
/// <summary> 序列化转换成模型 </summary> public RestartInfoModelSimON TransSerialize(RestartSerialize m) { RestartInfoModelSimON restart = string.IsNullOrEmpty(m.ParentName) ? restart = new MainFileRestartSimON() : new RestartInfoModelSimON(); restart.FileName = m.FileName; restart.Index = m.Index; restart.RestartTime = m.RestartTime; restart.FilePath = m.FilePath; restart.ParentName = m.ParentName; restart.BuildPath(); // Todo :读取文件生成内存数据 restart.Solution = this.InitRestartSolution(m.ParentName, restart, m.RestartTime, m.Index); restart.Schedule = this.RefreshRestartSchdule(restart); restart.Well = this.InitRestartWell(restart.WellPath, restart); return restart; }