public static bool ProcessAll(hydroLib.IBIGMatrixStatus bmStatus) { // if a j349 worksheet exists, return a false, that is old way of processing. List<string> wsNames = hydroLib.ExcelHelper.GetWorksheetNames(); foreach (string ws in wsNames) { if (ws == "j349") return false; } Matrix_Workbook wb = new Matrix_Workbook(bmStatus); return wb.ProcessAll(); }
public bool Simulate(hydroLib.IBIGMatrixStatus status) { DateTime start = DateTime.Now; if (OnSubReachStarted != null) OnSubReachStarted(_matrixWorksheet.Worksheet.Name,"SR " + Number.ToString()); //_matrixWorksheet.Workbook.Application.CalculateFull(); // build the .in file if (!GenerateInFile()) { if (OnError != null) { OnError(_matrixWorksheet.Worksheet.Name + " SR" + this.Number.ToString() + " simulation failed" + Environment.NewLine + "failed to generate the In file for j349"); } return false; } _matrixWorksheet.Status.log(_matrixWorksheet.Worksheet.Name + " SR" + this.Number.ToString() + " input file created: " + InputFile); // run the simulation if (!hydroLib.j349.Simulate(InputFile, OutputFile, status)) { _matrixWorksheet.Status.log(_matrixWorksheet.Worksheet.Name + " SR" + this.Number.ToString() + " simulation failed"); if (OnError != null) { OnError(_matrixWorksheet.Worksheet.Name + " SR" + this.Number.ToString() + " simulation failed" + Environment.NewLine + hydroLib.j349.GetLastError()); } return false; } _matrixWorksheet.Status.log(_matrixWorksheet.Worksheet.Name + " SR" + this.Number.ToString() + " simulation succeeded"); // read the .out file if (!UpdateExcelWithOutput()) { if (OnError != null) { OnError(_matrixWorksheet.Worksheet.Name + " SR" + this.Number.ToString() + " simulation failed" + Environment.NewLine + " failed to update excel with output"); } return false; } //_matrixWorksheet.Workbook.Application.CalculateFull(); TimeSpan ts = DateTime.Now - start; if (OnSubreachCompleted != null) { OnSubreachCompleted(_matrixWorksheet.Worksheet.Name,"SR " + Number.ToString(), ts.Seconds.ToString() + " s"); } GC.Collect(); return true; }
public Matrix_Workbook(hydroLib.IBIGMatrixStatus status) { //_workbook = workbook; _status = status; }