Esempio n. 1
0
        void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target)
        {
            switch (connectionId)
            {
            case 1:

            #line 6 "..\..\..\CaseStudy.xaml"
                ((ReliefAnalysis.CaseStudy)(target)).Loaded += new System.Windows.RoutedEventHandler(this.Window_Loaded_1);

            #line default
            #line hidden

            #line 6 "..\..\..\CaseStudy.xaml"
                ((ReliefAnalysis.CaseStudy)(target)).Closing += new System.ComponentModel.CancelEventHandler(this.MetroWindow_Closing_1);

            #line default
            #line hidden
                return;

            case 2:
                this.mainTab = ((System.Windows.Controls.TabControl)(target));
                return;

            case 3:
                this.ti0 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 4:
                this.txtDescription = ((System.Windows.Controls.TextBox)(target));
                return;

            case 5:
                this.gridStreamIn = ((System.Windows.Controls.DataGrid)(target));
                return;

            case 6:
                this.gridStreamOut = ((System.Windows.Controls.DataGrid)(target));
                return;

            case 7:
                this.gridHeatIn = ((System.Windows.Controls.DataGrid)(target));
                return;

            case 8:
                this.gridHeatOut = ((System.Windows.Controls.DataGrid)(target));
                return;

            case 9:
                this.txtRunResult = ((System.Windows.Controls.TextBox)(target));
                return;

            case 10:
                this.progressBar = ((System.Windows.Controls.ProgressBar)(target));
                return;

            case 11:
                this.btnCheckData = ((System.Windows.Controls.Button)(target));

            #line 80 "..\..\..\CaseStudy.xaml"
                this.btnCheckData.Click += new System.Windows.RoutedEventHandler(this.btnCheckData_Click);

            #line default
            #line hidden
                return;

            case 12:
                this.btnRunCalculation = ((System.Windows.Controls.Button)(target));

            #line 81 "..\..\..\CaseStudy.xaml"
                this.btnRunCalculation.Click += new System.Windows.RoutedEventHandler(this.btnRunCalculation_Click);

            #line default
            #line hidden
                return;

            case 13:
                this.btnExport = ((System.Windows.Controls.Button)(target));

            #line 82 "..\..\..\CaseStudy.xaml"
                this.btnExport.Click += new System.Windows.RoutedEventHandler(this.btnExport_Click);

            #line default
            #line hidden
                return;

            case 14:
                this.btnLoadData = ((System.Windows.Controls.Button)(target));

            #line 83 "..\..\..\CaseStudy.xaml"
                this.btnLoadData.Click += new System.Windows.RoutedEventHandler(this.btnLoadData_Click);

            #line default
            #line hidden
                return;

            case 15:
                this.ti1 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 16:
                this.uc1 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 17:
                this.ti2 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 18:
                this.uc2 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 19:
                this.ti3 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 20:
                this.uc3 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 21:
                this.ti14 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 22:
                this.uc14 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 23:
                this.ti15 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 24:
                this.uc15 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 25:
                this.ti16 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 26:
                this.uc16 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 27:
                this.ti17 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 28:
                this.uc17 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 29:
                this.ti18 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 30:
                this.uc18 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 31:
                this.ti4 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 32:
                this.uc4 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 33:
                this.ti5 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 34:
                this.uc5 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 35:
                this.ti6 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 36:
                this.uc6 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 37:
                this.ti7 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 38:
                this.uc7 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 39:
                this.ti8 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 40:
                this.uc8 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 41:
                this.ti9 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 42:
                this.uc9 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 43:
                this.ti10 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 44:
                this.uc10 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 45:
                this.ti11 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 46:
                this.uc11 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 47:
                this.ti12 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 48:
                this.uc12 = ((ReliefAnalysis.UC_CaseStudy)(target));
                return;

            case 49:
                this.ti13 = ((System.Windows.Controls.TabItem)(target));
                return;

            case 50:
                this.uc13 = ((ReliefAnalysis.UC_Fire)(target));
                return;
            }
            this._contentLoaded = true;
        }
Esempio n. 2
0
        private void btnExport_Click(object sender, RoutedEventArgs e)
        {
            int idx = dbFile.LastIndexOf(@"\");

            Microsoft.Win32.SaveFileDialog dlgSaveDiagram = new Microsoft.Win32.SaveFileDialog();
            dlgSaveDiagram.Filter = "Excel xlsx |*.xlsx;";
            dlgSaveDiagram.Title  = "Export Report";
            if (dlgSaveDiagram.ShowDialog() == true)
            {
                string filePath = dlgSaveDiagram.FileName;
                string vsd      = AppDomain.CurrentDomain.BaseDirectory.ToString() + "SimTech-PRV_DataSheet_Model.xlsx";
                System.IO.File.Copy(vsd, filePath);
                Microsoft.Office.Interop.Excel.Application xlApp      = new Microsoft.Office.Interop.Excel.Application();
                Microsoft.Office.Interop.Excel.Workbook    xlWorkBook = xlApp.Workbooks.Open(filePath, Type.Missing, false, Type.Missing,
                                                                                             Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                                                                                             Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Sheets.get_Item(1);
                xlWorkSheet.Cells[5][15] = "test";
                int count = 0;
                int row1  = 14;
                int note1 = 42;
                int row2  = 74;
                int note2 = 102;
                int row3  = 134;
                int note3 = 162;

                for (int i = 1; i < mainTab.Items.Count; i++)
                {
                    TabItem ti = (TabItem)mainTab.Items[i];
                    if (ti.Visibility == Visibility.Visible)
                    {
                        string       num = ti.Name.Remove(0, 2);
                        UC_CaseStudy uc  = (UC_CaseStudy)ti.FindName("uc" + num);
                        int          col = count % 5;
                        if (count <= 4)
                        {
                            xlWorkSheet.Cells[5 + col * 2][row1]     = ti.Header.ToString();
                            xlWorkSheet.Cells[5 + col * 2][row1 + 1] = 16;
                            if (ti.Header.ToString().Contains("Fire"))
                            {
                                xlWorkSheet.Cells[5 + col * 2][row1 + 1] = 21;
                            }
                            xlWorkSheet.Cells[5 + col * 2][row1 + 2] = uc.txtReliefPress.Text;
                            xlWorkSheet.Cells[5 + col * 2][row1 + 3] = uc.txtReliefTemp.Text;
                            xlWorkSheet.Cells[5 + col * 2][row1 + 4] = uc.txtReliefRate.Text;
                            xlWorkSheet.Cells[5 + col * 2][row1 + 5] = uc.txtReliefMW.Text;
                            xlWorkSheet.Cells[5 + col * 2][row1 + 6] = Compressibility;
                            xlWorkSheet.Cells[5 + col * 2][row1 + 7] = CpCv;
                            xlWorkSheet.Cells[3][note1 + count]      = uc.txtDescription.Text;
                            xlWorkSheet.Cells[3][note2 + count]      = uc.txtDescription.Text;
                            xlWorkSheet.Cells[3][note3 + count]      = uc.txtDescription.Text;
                        }
                        else if (count >= 5 && count <= 9)
                        {
                            xlWorkSheet.Cells[5 + col * 2][row2]     = ti.Header.ToString();
                            xlWorkSheet.Cells[5 + col * 2][row2 + 1] = 16;
                            if (ti.Header.ToString().Contains("Fire"))
                            {
                                xlWorkSheet.Cells[5 + col * 2][row2 + 1] = 21;
                            }
                            xlWorkSheet.Cells[5 + col * 2][row2 + 2] = uc.txtReliefPress.Text;
                            xlWorkSheet.Cells[5 + col * 2][row2 + 3] = uc.txtReliefTemp.Text;
                            xlWorkSheet.Cells[5 + col * 2][row2 + 4] = uc.txtReliefRate.Text;
                            xlWorkSheet.Cells[5 + col * 2][row2 + 5] = uc.txtReliefMW.Text;
                            xlWorkSheet.Cells[5 + col * 2][row2 + 6] = Compressibility;
                            xlWorkSheet.Cells[5 + col * 2][row2 + 7] = CpCv;
                            xlWorkSheet.Cells[3][note1 + count]      = uc.txtDescription.Text;
                            xlWorkSheet.Cells[3][note2 + count]      = uc.txtDescription.Text;
                            xlWorkSheet.Cells[3][note3 + count]      = uc.txtDescription.Text;
                        }
                        else
                        {
                            xlWorkSheet.Cells[5 + col * 2][row3]     = ti.Header.ToString();
                            xlWorkSheet.Cells[5 + col * 2][row3 + 1] = 16;
                            if (ti.Header.ToString().Contains("Fire"))
                            {
                                xlWorkSheet.Cells[5 + col * 2][row3 + 1] = 21;
                            }
                            xlWorkSheet.Cells[5 + col * 2][row3 + 2] = uc.txtReliefPress.Text;
                            xlWorkSheet.Cells[5 + col * 2][row3 + 3] = uc.txtReliefTemp.Text;
                            xlWorkSheet.Cells[5 + col * 2][row3 + 4] = uc.txtReliefRate.Text;
                            xlWorkSheet.Cells[5 + col * 2][row3 + 5] = uc.txtReliefMW.Text;
                            xlWorkSheet.Cells[5 + col * 2][row3 + 6] = Compressibility;
                            xlWorkSheet.Cells[5 + col * 2][row3 + 7] = CpCv;
                            xlWorkSheet.Cells[3][note1 + count]      = uc.txtDescription.Text;
                            xlWorkSheet.Cells[3][note2 + count]      = uc.txtDescription.Text;
                            xlWorkSheet.Cells[3][note3 + count]      = uc.txtDescription.Text;
                        }

                        count++;
                    }
                }
                if (count <= 5)
                {
                    Microsoft.Office.Interop.Excel.Range r = xlWorkSheet.Range[xlWorkSheet.Cells[2][122], xlWorkSheet.Cells[3][181]];
                    r.UnMerge();
                    r = xlWorkSheet.Range[xlWorkSheet.Cells[2][122], xlWorkSheet.Cells[14][181]];
                    r.Clear();

                    Microsoft.Office.Interop.Excel.Shape pic = xlWorkSheet.Shapes.Item(3) as Microsoft.Office.Interop.Excel.Shape;
                    pic.Delete();

                    r = xlWorkSheet.Range[xlWorkSheet.Cells[2][62], xlWorkSheet.Cells[3][121]];
                    r.UnMerge();
                    r = xlWorkSheet.Range[xlWorkSheet.Cells[2][62], xlWorkSheet.Cells[14][121]];
                    r.Clear();

                    pic = xlWorkSheet.Shapes.Item(2) as Microsoft.Office.Interop.Excel.Shape;
                    pic.Delete();
                }
                else if (count <= 10)
                {
                    Microsoft.Office.Interop.Excel.Range r = xlWorkSheet.Range[xlWorkSheet.Cells[2][122], xlWorkSheet.Cells[3][181]];
                    r.UnMerge();
                    r = xlWorkSheet.Range[xlWorkSheet.Cells[2][122], xlWorkSheet.Cells[14][181]];
                    r.Clear();

                    Microsoft.Office.Interop.Excel.Shape pic = xlWorkSheet.Shapes.Item(3) as Microsoft.Office.Interop.Excel.Shape;
                    pic.Delete();
                }

                xlWorkBook.Save();
                xlWorkBook.Close(true, Type.Missing, Type.Missing);
                xlApp.Quit();


                releaseObject(xlWorkSheet);
                releaseObject(xlWorkBook);
                releaseObject(xlApp);
            }
        }
Esempio n. 3
0
        private void bindUCData()
        {
            for (int i = 1; i < mainTab.Items.Count; i++)
            {
                TabItem ti = (TabItem)mainTab.Items[i];
                if (ti.Visibility == Visibility.Visible)
                {
                    string caseid = ti.Name.ToString().Substring(2);
                    if (caseid != "13")
                    {
                        UC_CaseStudy uc   = (UC_CaseStudy)ti.FindName("uc" + caseid.ToString());
                        DataTable    feed = dtfrmcase_feed_single.Copy();
                        foreach (DataRow dr in feed.Rows)
                        {
                            dr["case_id"]        = caseid;
                            dr["flowstop"]       = false;
                            dr["flowcalcfactor"] = 1;
                        }
                        uc.gridStreamIn.ItemsSource = feed.DefaultView;

                        DataTable product = dtfrmcase_product_single.Copy();
                        foreach (DataRow dr in product.Rows)
                        {
                            dr["case_id"]        = caseid;
                            dr["flowstop"]       = false;
                            dr["flowcalcfactor"] = 1;
                        }
                        uc.gridStreamOut.ItemsSource = product.DefaultView;

                        DataTable reboiler = dtfrmcase_reboiler.Clone();
                        foreach (DataRow dr in dtfrmbasecase_reboiler.Rows)
                        {
                            DataRow r = reboiler.NewRow();
                            r["case_id"]        = caseid;
                            r["visiofile"]      = vsdFile;
                            r["heatername"]     = dr["heatername"].ToString();
                            r["heaterduty"]     = dr["heaterduty"].ToString();
                            r["dutylost"]       = false;
                            r["dutycalcfactor"] = 1;
                            reboiler.Rows.Add(r);
                        }
                        uc.gridHeatIn.ItemsSource = reboiler.DefaultView;

                        DataTable condenser = dtfrmcase_condenser.Clone();
                        foreach (DataRow dr in dtfrmbasecase_condenser.Rows)
                        {
                            DataRow r = condenser.NewRow();
                            r["case_id"]        = caseid;
                            r["visiofile"]      = vsdFile;
                            r["heatername"]     = dr["heatername"].ToString();
                            r["heaterduty"]     = dr["heaterduty"].ToString();
                            r["dutylost"]       = false;
                            r["dutycalcfactor"] = 1;
                            condenser.Rows.Add(r);
                        }
                        uc.gridHeatOut.ItemsSource = condenser.DefaultView;

                        uc.latestH = decimal.Round(decimal.Parse(txtRunResult.Text), 4);
                        DataRow[] drs = dtStreamOut.Select("ProdType='3' or ProdType='4'");
                        uc.defaultOverHeadH    = decimal.Round(decimal.Parse(drs[0]["enthalpy"].ToString()) * 4180000, 4);
                        uc.txtReliefPress.Text = ReliefPress;
                        uc.txtReliefTemp.Text  = ReliefTemp;
                        uc.txtReliefMW.Text    = ReliefMW;
                    }
                }
                if (ti13.Visibility == Visibility.Visible)
                {
                    uc4.txtReliefPress.Text = ReliefPress;
                    uc4.txtReliefTemp.Text  = ReliefTemp;
                    uc4.txtReliefMW.Text    = ReliefMW;
                }
            }
            saveDataToDB();
            checkDictionary();
            for (int i = 1; i < mainTab.Items.Count; i++)
            {
                TabItem ti = (TabItem)mainTab.Items[i];
                if (ti.Visibility == Visibility.Visible)
                {
                    string caseid = ti.Name.ToString().Substring(2);
                    if (caseid != "13")
                    {
                        UC_CaseStudy uc = (UC_CaseStudy)ti.FindName("uc" + caseid.ToString());
                        uc.gridStreamIn.ItemsSource  = dbF.getDataByTable("frmcase_feed", "visiofile='" + vsdFile + "' and case_id=" + caseid).DefaultView;
                        uc.gridStreamOut.ItemsSource = dbF.getDataByTable("frmcase_product", "visiofile='" + vsdFile + "' and case_id=" + caseid).DefaultView;
                        uc.gridHeatIn.ItemsSource    = dbF.getDataByTable("frmcase_reboiler", "visiofile='" + vsdFile + "' and case_id=" + caseid).DefaultView;
                        uc.gridHeatOut.ItemsSource   = dbF.getDataByTable("frmcase_condenser", "visiofile='" + vsdFile + "' and case_id=" + caseid).DefaultView;
                    }
                }
            }
        }
Esempio n. 4
0
        private void InitTabBaseCase()
        {
            clearData();
            DataSet  dsStreamIn  = new DataSet();
            DataSet  dsStreamOut = new DataSet();
            DataSet  dsHeat      = new DataSet();
            DBRelief dbReader    = new DBRelief(dbFile);

            string[] arrColumns = { "id", "visiofile", "case_id" };
            dtfrmbasecase_feed      = dbReader.getDataByVsdFile("frmfeed", vsdFile);
            dtfrmbasecase_product   = dbReader.getDataByVsdFile("frmproduct", vsdFile);
            dtfrmbasecase_reboiler  = dbReader.getDataByVsdFile("frmreboiler", vsdFile);
            dtfrmbasecase_condenser = dbReader.getDataByVsdFile("frmcondenser", vsdFile);
            dtfrmbasecase           = dbReader.getDataByVsdFile("frmbasecase", vsdFile);
            dtFlashResult           = dbReader.getDataByVsdFile("flashresult", vsdFile);

            DataTable dtfrmtower = dbReader.getDataByVsdFile("frmtower", vsdFile);

            if (dtfrmtower.Rows.Count > 0)
            {
                string path = System.IO.Path.GetDirectoryName(dbFile);
                przFile = path + @"\" + dtfrmtower.Rows[0]["przfile"].ToString();
            }

            DataTable dtfrmpsv = dbReader.getDataByVsdFile("frmpsv", vsdFile);

            if (dtfrmpsv.Rows.Count > 0)
            {
                DataRow dr = dtfrmpsv.Rows[0];
                Prelief = double.Parse(dr["pressure"].ToString()) * double.Parse(dr["reliefmultiple"].ToString());
            }
            if (dtfrmbasecase.Rows.Count > 0)
            {
                DataRow dr = dtfrmbasecase.Rows[0];
                txtDescription.Text = dr["Description"].ToString();
                txtRunResult.Text   = dr["latentheat"].ToString();
                strTray1Pressure    = dr["Tray1Pressure"].ToString();
                vapor           = dr["vapor"].ToString();
                liquid          = dr["liquid"].ToString();
                tempdir         = dr["dir"].ToString();
                tempTemperature = dr["Temperature"].ToString();
            }


            gridStreamIn.ItemsSource  = dtfrmbasecase_feed.DefaultView;
            gridStreamOut.ItemsSource = dtfrmbasecase_product.DefaultView;
            gridHeatIn.ItemsSource    = dtfrmbasecase_reboiler.DefaultView;
            gridHeatOut.ItemsSource   = dtfrmbasecase_condenser.DefaultView;

            DataTable dtcases = getCases();

            checkDictionarySource(dtcases);
            checkDictionaryCondenser(dtcases);
            checkDictionaryReboiler(dtcases);

            dtfrmcase           = dbReader.getDataByVsdFile("frmcase", vsdFile);
            dtfrmcase_feed      = dbReader.getDataByVsdFile("frmcase_feed", vsdFile);
            dtfrmcase_product   = dbReader.getDataByVsdFile("frmcase_product", vsdFile);
            dtfrmcase_reboiler  = dbReader.getDataByVsdFile("frmcase_reboiler", vsdFile);
            dtfrmcase_condenser = dbReader.getDataByVsdFile("frmcase_condenser", vsdFile);

            foreach (DataRow drcase in dtfrmcase.Rows)
            {
                int     caseid = int.Parse(drcase["case_id"].ToString());
                int     i      = dicCaseIndex[caseid];
                TabItem ti     = (TabItem)mainTab.Items[i];
                string  ucName = "uc" + ti.Name.Substring(2);
                object  uc     = ti.FindName(ucName);
                if (uc is UC_CaseStudy)
                {
                    UC_CaseStudy uccase = (UC_CaseStudy)uc;
                    DataView     dv     = new DataView(dtfrmcase_feed);
                    dv.RowFilter = "case_id=" + caseid.ToString() + " and visiofile='" + vsdFile + "'";
                    uccase.gridStreamIn.ItemsSource = dv;

                    dv           = new DataView(dtfrmcase_product);
                    dv.RowFilter = "case_id=" + caseid.ToString() + " and visiofile='" + vsdFile + "'";
                    uccase.gridStreamOut.ItemsSource = dv;

                    dv           = new DataView(dtfrmcase_reboiler);
                    dv.RowFilter = "case_id=" + caseid.ToString() + " and visiofile='" + vsdFile + "'";
                    uccase.gridHeatIn.ItemsSource = dv;

                    dv           = new DataView(dtfrmcase_condenser);
                    dv.RowFilter = "case_id=" + caseid.ToString() + " and visiofile='" + vsdFile + "'";
                    uccase.gridHeatOut.ItemsSource = dv;


                    DataRow[] drs = dtfrmcase.Select("case_id=" + caseid.ToString() + " and visiofile='" + vsdFile + "'");
                    uccase.txtDescription.Text = drs[0]["Description"].ToString();
                    uccase.txtReliefMW.Text    = drs[0]["ReliefMW"].ToString();
                    uccase.txtReliefPress.Text = drs[0]["ReliefPress"].ToString();
                    uccase.txtReliefRate.Text  = drs[0]["reliefrate"].ToString();
                    uccase.txtReliefTemp.Text  = drs[0]["ReliefTemp"].ToString();
                    ti.Visibility  = Visibility.Visible;
                    uccase.latestH = decimal.Round(decimal.Parse(txtRunResult.Text), 4);
                }
            }
            //chkGeneralElectricalPowerFailure();
        }