protected void btnRoutingShowTimes_Click(object sender, EventArgs e) { btnRoutingShowTimes.Enabled = false; if (btnRoutingShowTimes.Text.Equals("Show Real Percentage")) { gridRouting.Columns[0].Visible = false; this.TABLE_NAME_ROUTING = "tblOpFrTo_d"; btnRoutingShowTimes.Text = "Edit Routings"; { ClassF calc = new ClassF(GetDirectory() + userDir); try { calc = new ClassF(GetDirectory() + userDir); calc.setGlobalVar(); calc.runsqlado("DELETE * FROM tblOpFrTo_d;"); calc.runsqlado("DELETE * FROM zstblerrors;"); calc.inOperRoutingPages = true; calc.MakeActualroute_all(); string errorMsg = calc.GetErrorMessage(); lblErrorRealTimesRouting.Text = "Errors in calculating expressions in routing table:<br/>" + errorMsg; lblErrorRealTimesRouting.Visible = !errorMsg.Trim().Equals(String.Empty); } catch (Exception ex) { logFiles.ErrorLog(ex); Master.ShowErrorMessage("An error has occured while calculating expressions."); } finally { calc.Close(); } } } else { gridRouting.Columns[0].Visible = true; this.TABLE_NAME_ROUTING = "tblOperFrTo"; btnRoutingShowTimes.Text = "Show Real Percentage"; } this.SetData(); btnRoutingShowTimes.Enabled = true; }
public static string RunAll(string username, string path, string sessionID) { string resultMessage = ""; var resultArray = new List <string[]>(); if (isCalculating(path)) { resultMessage = "Calculations are still in process from the previous run, please wait"; } else { int ret; DbUse.CreateRunFile(path, username); ClassF classE1_1 = new ClassF(path); classE1_1.Open(); try { int totalCalc = 0; int currentCalc = -1; classE1_1.username = username; classE1_1.SetBasicModelInfo(); classE1_1.calc_return = 0; //0 - none, 1 labor, 2 eq over util, 4 warnings 8 errors ADODB.Recordset recNeedCalc = new ADODB.Recordset(); //check if basecase needs recalc and add to totalCalc DbUse.open_ado_rec(classE1_1.globaldb, ref recNeedCalc, "SELECT * FROM zs0tblWhatIf WHERE zs0tblWhatIf.WID=0;"); totalCalc++; bool recOpened = DbUse.OpenAdoRec(classE1_1.globaldb, recNeedCalc, "SELECT * FROM tblWhatIf WHERE FamilyID = 0 AND display = -1;"); //bool recOpened = DbUse.OpenAdoRec(classE1_1.globaldb, recNeedCalc, "SELECT * FROM tblWhatIf;"); while (!recNeedCalc.EOF) { totalCalc++; recNeedCalc.MoveNext(); } DbUse.CloseAdoRec(recNeedCalc); DbUse.RunMysql("INSERT INTO usercalc (id) SELECT userlist.id FROM userlist WHERE userlist.sessionid = '" + sessionID + "';"); DbUse.RunMysql("UPDATE usercalc INNER JOIN userlist ON usercalc.id = userlist.id SET total = " + totalCalc + ", calc = " + currentCalc + ", lastCheck = " + DateTime.Now.Ticks + ", cancel = 0, timePerCalc = 100000000 WHERE userlist.sessionid = '" + sessionID + "';"); classE1_1.global_runalldone = false; classE1_1.global_initwid = classE1_1.glngwid; classE1_1.errorMessageGlobal = ""; while (classE1_1.global_runalldone == false) { classE1_1.calc_return = 0; //classE1_1.Run_All_ReCalc(1); resultArray = classE1_1.CalculateResults(1, sessionID); } if (classE1_1.global_initwid != classE1_1.glngwid) { if (classE1_1.global_initwid != 0) { classE1_1.LoadBaseCase(); ret = classE1_1.LoadWhatIf(classE1_1.global_initwid); } else { classE1_1.LoadBaseCase(); } } ; resultMessage = CalcClass.GetErrorMessage(classE1_1); if (resultMessage.Trim().Equals(String.Empty)) { foreach (var result in resultArray) { if (result[4].Equals("true")) { resultMessage += "<span style='color:#27ae60;'>"; } else { resultMessage += "<span style='color:#c0392b;'>"; } resultMessage += result[0] + ": "; if (!String.IsNullOrEmpty(result[1])) { resultMessage += result[1]; } if (!String.IsNullOrEmpty(result[2])) { resultMessage += result[2]; } if (!String.IsNullOrEmpty(result[3])) { resultMessage += result[3]; } resultMessage += "</span>"; } } //if (resultMessage.Trim().Equals(String.Empty)) //{ // if ((classE1_1.calc_return & CalcClass.ERR_FLAG) > 0) // { // resultMessage = CalcClass.do_calc_msg(classE1_1.calc_return, 0); // } // else // { // resultMessage = CalcClass.do_calc_msg(classE1_1.calc_return, 1); // } //} classE1_1.runsqlado("UPDATE zs0tblWhatif SET display = -1 WHERE WID = " + classE1_1.glngwid + ";"); } catch (Exception) { resultMessage = "MPX internal error has occured"; } classE1_1.Close(); DbUse.RunMysql("DELETE usercalc.* FROM usercalc INNER JOIN userlist ON usercalc.id = userlist.id WHERE userlist.sessionid = '" + sessionID + "';"); DbUse.DeleteRunFile(path, username); } return(resultMessage); }
public void buttonr1_a_click(Object sender, System.EventArgs e) { LogFiles logFiles = new LogFiles(this.username); logFiles.RunLog(); if (DbUse.InRunProcess(userDir)) { Master.ShowErrorMessage("Cannot start verification and calculations. The verification and calculations are still in process from the previous run. Please wait."); logFiles.DuplicateRunEndLog(); return; } CreateRunFile(); int ret; try { classE1_1.Open(); classE1_1.SetBasicModelInfo(); // sets glngwid etc. classE1_1.calc_return = 0; //0 - none, 1 labor, 2 eq over util, 4 warnings 8 errors //----------------------------------------------------------------- // count all whatifs to be calculated and write it to the main mysql database ADODB.Recordset recWhatifs = new ADODB.Recordset(); bool recOpened = DbUse.OpenAdoRec(classE1_1.globaldb, recWhatifs, "SELECT tblWhatIf.*, tblWhatIf.recalc FROM tblWhatIf WHERE FamilyID = 0;"); int totalCalc = 1; int currentCalc = 0; while (!recWhatifs.EOF) { totalCalc++; recWhatifs.MoveNext(); } DbUse.CloseAdoRec(recWhatifs); DbUse.RunMysql("INSERT INTO usercalc (id) SELECT userlist.id FROM userlist WHERE userlist.sessionid = '" + HttpContext.Current.Session.SessionID + "';"); DbUse.RunMysql("UPDATE usercalc INNER JOIN userlist ON usercalc.id = userlist.id SET total = " + totalCalc + ", calc = " + currentCalc + ", lastCheck = " + DateTime.Now.Ticks + ", cancel = 0 WHERE userlist.sessionid = '" + HttpContext.Current.Session.SessionID + "';"); ////////////////////////////////////////////////////////////////////////////////////// classE1_1.global_runalldone = false; classE1_1.global_initwid = classE1_1.glngwid; classE1_1.errorMessageGlobal = ""; while (classE1_1.global_runalldone == false) { classE1_1.calc_return = 0; classE1_1.runall_from_display(); } if (classE1_1.global_initwid != classE1_1.glngwid) { if (classE1_1.global_initwid != 0) { classE1_1.LoadBaseCase(); ret = classE1_1.LoadWhatIf(classE1_1.global_initwid); } else { classE1_1.LoadBaseCase(); } } ; //----------------------------------------------------------------- MPXRunChoices.SetActiveView(viewResults); SetActiveView(2); if ((classE1_1.calc_return & CalcClass.ERR_FLAG) > 0) { resultsMessage = do_calc_msg(classE1_1.calc_return, 0); } else { resultsMessage = do_calc_msg(classE1_1.calc_return, 1); } /* todaytoday if ... public const short LAB_OVER_U = 1; * public const short EQ_OVER_U = 2; * show .... * */ string errorsMessage = GetErrorMessage(); txtResults.Text = resultsMessage; txtErrors.Text = errorsMessage; save_errors_results(resultsMessage, errorsMessage); pnlResults.Visible = true; pnlErrors.Visible = !errorsMessage.Trim().Equals(String.Empty); classE1_1.runsqlado("UPDATE zs0tblWhatif SET display = -1 WHERE WID = " + classE1_1.glngwid + ";"); } catch (Exception ex) { logFiles.ErrorLog(ex); Master.ShowErrorMessage("MPX internal error has occured. " + classE1_1.errorMessageGlobal); } classE1_1.Close(); DbUse.RunMysql("DELETE usercalc.* FROM usercalc INNER JOIN userlist ON usercalc.id = userlist.id WHERE userlist.sessionid = '" + HttpContext.Current.Session.SessionID + "';"); DeleteRunFile(); logFiles.RunEndLog(); }
public void Button_replace_Click(Object sender, System.EventArgs e) { int wid2; string str1; try { classE1_1.Open(); // add code del current whatif results, //zstblwhatifaudit, clear glngwid, set recalc / save indicators wid2 = classE1_1.glngwid; // replace results classE1_1.runsqlado("DELETE tblRsEquip.WID, tblRsEquip.* FROM tblRsEquip WHERE (((tblRsEquip.WID)=0));"); classE1_1.runsqlado("DELETE tblRsProd.WID, tblRsProd.* FROM tblRsProd WHERE (((tblRsProd.WID)=0));"); classE1_1.runsqlado("DELETE tblRsSummary.WID, tblRsSummary.* FROM tblRsSummary WHERE (((tblRsSummary.WID)=0));"); classE1_1.runsqlado("DELETE tblRsOper.WID, tblRsOper.* FROM tblRsOper WHERE (((tblRsOper.WID)=0));"); classE1_1.runsqlado("DELETE tblRsLabor.WID, tblRsLabor.* FROM tblRsLabor WHERE (((tblRsLabor.WID)=0));"); classE1_1.runsqlado("UPDATE tblRsEquip SET tblRsEquip.WID = 0, tblRsEquip.Whatif = 'Base Case' WHERE (((tblRsEquip.WID)=" + wid2 + ")); "); classE1_1.runsqlado("UPDATE tblRsLabor SET tblRsLabor.WID = 0, tblRsLabor.Whatif = 'Base Case' WHERE (((tblRsLabor.WID)=" + wid2 + ")); "); classE1_1.runsqlado("UPDATE tblRsOper SET tblRsOper.WID = 0, tblRsOper.Whatif = 'Base Case' WHERE (((tblRsOper.WID)=" + wid2 + ")); "); classE1_1.runsqlado("UPDATE tblRsSummary SET tblRsSummary.WID = 0, tblRsSummary.Whatif = 'Base Case' WHERE (((tblRsSummary.WID)=" + wid2 + ")); "); classE1_1.runsqlado("UPDATE tblRsProd SET tblRsProd.WID = 0, tblRsProd.Whatif = 'Base Case' WHERE (((tblRsProd.WID)=" + wid2 + ")); "); classE1_1.DeleteWhatIfAudit(wid2); str1 = "DELETE [ZstblwhatifAudit].* FROM [ZstblwhatifAudit];"; classE1_1.runsqlado(str1); classE1_1.glngwid = 0; classE1_1.saveWid(); classE1_1.saveRecalcNeeded(0, -1); classE1_1.model_modified = -1; classE1_1.saveModel_modified(); Master.PassCurrentWhatifName(""); Master.SetCurrentWhatifLabel(); updatingdatasource(); ShowWhatifs(); classE1_1.dowhatif_all_start(); classE1_1.runsqlado("UPDATE zs0tblWhatif SET display = -1 WHERE WID = 0;"); MPXWhatfcontrolChoices.SetActiveView(PageR1); classE1_1.Close(); } catch (Exception ex) { logFiles.ErrorLog(ex); Master.ShowErrorMessage("MPX internal error has occured."); } }
public static CalculationResult CalculateResults(ClassF classE1_1) { LogFiles logFiles = new LogFiles(classE1_1.username); if (DbUse.InRunProcess(classE1_1.varlocal, true)) { logFiles.DuplicateRunEndLog(); throw new Exception("Cannot start verification and calculations. The verification and calculations are still in process from the previous run. Please wait."); } DbUse.RunMysql("INSERT INTO usercalc (id) SELECT userlist.id FROM userlist WHERE userlist.sessionid = '" + HttpContext.Current.Session.SessionID + "';"); DbUse.RunMysql("UPDATE usercalc INNER JOIN userlist ON usercalc.id = userlist.id SET total = 1, calc = 1, lastCheck = " + DateTime.Now.Ticks + ", cancel = 0 WHERE userlist.sessionid = '" + HttpContext.Current.Session.SessionID + "';"); DbUse.CreateRunFile(classE1_1.varlocal, classE1_1.username); classE1_1.Open(); classE1_1.SetBasicModelInfo(); // sets glngwid etc. classE1_1.calc_return = 0; //0 - none, 1 labor, 2 eq over util, 4 warnings 8 errors string errorsMessage = ""; string resultsMessage = ""; try { classE1_1.RunDLL(); if (!classE1_1.errorMessageGlobal.Equals("")) { string errorMessageGlobal = classE1_1.errorMessageGlobal; classE1_1.errorMessageGlobal = ""; throw new Exception("The calculations were unsuccessful. " + errorMessageGlobal); } if ((classE1_1.calc_return & CalcClass.ERR_FLAG) > 0) { resultsMessage = do_calc_msg(classE1_1.calc_return, 0); } else { resultsMessage = do_calc_msg(classE1_1.calc_return, 1); } errorsMessage = GetErrorMessage(classE1_1); save_errors_results(classE1_1, resultsMessage, errorsMessage); classE1_1.runsqlado("UPDATE zs0tblWhatif SET display = -1 WHERE WID = " + classE1_1.glngwid + ";"); classE1_1.Close(); } catch (Exception ex) { logFiles.ErrorLog(ex); classE1_1.Close(); DbUse.DeleteRunFile(classE1_1.varlocal, classE1_1.username); logFiles.RunEndLog(); DbUse.RunMysql("DELETE usercalc.* FROM usercalc INNER JOIN userlist ON usercalc.id = userlist.id WHERE userlist.sessionid = '" + HttpContext.Current.Session.SessionID + "';"); throw new Exception("MPX internal error has occured in calculations. Cannot calculate results. " + classE1_1.errorMessageGlobal); } DbUse.DeleteRunFile(classE1_1.varlocal, classE1_1.username); DbUse.RunMysql("DELETE usercalc.* FROM usercalc INNER JOIN userlist ON usercalc.id = userlist.id WHERE userlist.sessionid = '" + HttpContext.Current.Session.SessionID + "';"); logFiles.RunEndLog(); CalculationResult calcResult = new CalculationResult(resultsMessage, errorsMessage); return(calcResult); }