Пример #1
0
        private void getChekedItems()
        {
            DBRelief  dbr = new DBRelief(dbFile);
            DataTable dt  = dbr.getStructure("frmoptionduty");
            IEnumerable <CheckBox> collection = gridDuty.FindChildren <CheckBox>();

            foreach (CheckBox chk in collection)
            {
                if (chk.IsChecked == true)
                {
                    string strIdx = chk.Name.Substring(3);
                    items.Add(int.Parse(strIdx));
                    DataRow dr = dt.NewRow();
                    dr["case_id"]   = strIdx;
                    dr["visiofile"] = vsdFile;
                    dt.Rows.Add(dr);

                    if (strIdx == "3")
                    {
                        for (int i = 14; i <= 18; i++)
                        {
                            dr              = dt.NewRow();
                            dr["case_id"]   = i;
                            dr["visiofile"] = vsdFile;
                            dt.Rows.Add(dr);
                            items.Add(i);
                        }
                    }
                }
            }
            dbr.saveDataByTable(dt, vsdFile);
        }
Пример #2
0
        private void Window_Loaded_1(object sender, RoutedEventArgs e)
        {
            dbF = new DBRelief(dbFile);
            initDicCaseIndex();
            initDicCase();

            InitTabBaseCase();



            for (int i = 1; i < mainTab.Items.Count; i++)
            {
                TabItem ti = (TabItem)mainTab.Items[i];
                ti.Visibility = Visibility.Collapsed;
            }

            foreach (int i in dispCase)
            {
                TabItem ti = (TabItem)FindName("ti" + i.ToString());
                ti.Visibility = Visibility.Visible;
                if (i == 13)
                {
                    uc13.dbFile  = dbFile;
                    uc13.vsdFile = vsdFile;
                }
            }
        }
Пример #3
0
        private void checkData()
        {
            tempdir = System.IO.Path.GetDirectoryName(dbFile) + @"\temp\" + Guid.NewGuid().ToString();
            if (!Directory.Exists(tempdir))
            {
                Directory.CreateDirectory(tempdir);
            }
            backgroundWorker.ReportProgress(5);
            PRZWriter w  = new PRZWriter();
            DataTable dt = w.copyStream(przFile, eqName);

            backgroundWorker.ReportProgress(15);
            FlashCompute flashc = new FlashCompute();

            strTray1Pressure = dt.Rows[0]["pressure"].ToString();
            if (strTray1Pressure == "")
            {
                strTray1Pressure = "0";
            }
            strTray1Pressure = UnitConverter.unitConv(strTray1Pressure, "KPA", "MPAG", "{0:0.0000}");
            backgroundWorker.ReportProgress(25);
            string strTray1Temperature = dt.Rows[0]["Temperature"].ToString();

            if (strTray1Temperature == "")
            {
                strTray1Temperature = "0";
            }
            strTray1Temperature = UnitConverter.unitConv(strTray1Temperature, "K", "C", "{0:0.0000}");


            tray1_s = dt.Rows[0]["streamname"].ToString().ToUpper();
            string gd = Guid.NewGuid().ToString();

            vapor  = "S_" + gd.Substring(0, 5).ToUpper();
            liquid = "S_" + gd.Substring(gd.Length - 5, 5).ToUpper();
            backgroundWorker.ReportProgress(30);
            string content = InpReader.getUsableContent(przFile, dt.Rows[0]["streamname"].ToString(), tempdir);

            backgroundWorker.ReportProgress(40);
            tray1_f = flashc.compute(content, 1, Prelief.ToString(), 3, "", dt.Rows[0], vapor, liquid, tempdir);
            backgroundWorker.ReportProgress(60);
            PRZReader reader = new PRZReader(tray1_f);
            DataSet   ds     = reader.getDataFromFile();

            while (ds.Tables[0].Rows[0]["temperature"].ToString() == "")
            {
                ds = reader.getDataFromFile();
            }
            backgroundWorker.ReportProgress(80);
            DBRelief dbreader = new DBRelief();

            feedH           = dbreader.computeH(ds.Tables[0], tray1_s.ToUpper());
            vaporH          = dbreader.computeH(ds.Tables[0], vapor);
            liqidH          = dbreader.computeH(ds.Tables[0], liquid);
            tempTemperature = vaporH[3];

            backgroundWorker.ReportProgress(100);
        }
Пример #4
0
        public DataSet getDataFromFile()
        {
            try
            {
                DBRelief      dbRelief    = new DBRelief();
                List <string> streamList  = new List <string>();
                DataSet       dsStructure = dbRelief.getDataStructure();
                DataTable     dtEqlist    = dsStructure.Tables["eqlist"].Clone();
                DataTable     dtStream    = dsStructure.Tables["stream"].Clone();
                DataTable     dtEqType    = dsStructure.Tables["eqtype"];
                cp2File     = (CP2File)cp2Srv.OpenDatabase(przFile);
                objCompCalc = (CP2Object)cp2File.ActivateObject("CompCalc", "CompCalc");
                foreach (DataRow dr in dtEqType.Rows)
                {
                    string otype       = dr["eqtypename"].ToString();
                    object objectnames = cp2File.GetObjectNames(otype);
                    if (objectnames.ToString() != "")
                    {
                        if (objectnames is Array)
                        {
                            string[] oNames = (string[])objectnames;
                            foreach (string name in oNames)
                            {
                                getEqDataFromFile(otype, name, ref streamList, ref dtEqlist, ref dtStream);
                            }
                        }
                        else
                        {
                            string name = (string)objectnames;
                            getEqDataFromFile(otype, name, ref streamList, ref dtEqlist, ref dtStream);
                        }
                    }
                }
                Marshal.FinalReleaseComObject(cp2Srv);
                GC.ReRegisterForFinalize(cp2Srv);

                DataSet ds = new DataSet();
                ds.Tables.Add(dtStream);
                ds.Tables.Add(dtEqlist);
                return(ds);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            finally
            {
                //CloseReader();
            }
        }
Пример #5
0
        public void InitDataTable()
        {
            DBRelief dbr = new DBRelief(dbFile);

            dtFeed        = dbr.getStructure("frmfeed");
            dtProd        = dbr.getStructure("frmproduct");
            dtCondenser   = dbr.getStructure("frmcondenser");
            dtReboiler    = dbr.getStructure("frmreboiler");
            dtHxReboiler  = dtReboiler.Clone();
            dtHxCondenser = dtCondenser.Clone();

            dtSource = dbr.getStructure("frmsource");
            dtSink   = dbr.getStructure("frmsink");
        }
Пример #6
0
        //判断是否是电力启动
        private bool isMotor(string streamname)
        {
            DBRelief  dbReader = new DBRelief(dbFile);;
            DataTable dt       = dbReader.getDataByVsdFile("frmSource", vsdFile, "streamname='" + streamname + "' and sourcetype like '%%Motor%%'");

            if (dt.Rows.Count == 0)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Пример #7
0
        private void btnOK_Click(object sender, RoutedEventArgs e)
        {
            decimal water      = decimal.Parse(txtSteam.Text.Trim());
            decimal air        = decimal.Parse(txtHotOil.Text.Trim());
            decimal wetair     = decimal.Parse(txtHotStream.Text.Trim());
            decimal pumpabound = decimal.Parse(txtFurnace.Text.Trim());
            decimal duty       = decimal.Parse(txtDuty.Text.Trim());

            if (duty != (water + air + wetair + pumpabound))
            {
                //txtSteamFactor.Focus();
                txtSteamFactor.BorderBrush     = Brushes.Red;
                txtSteamFactor.BorderThickness = new Thickness(2, 2, 2, 2);
                return;
            }


            dr["heatername"]      = txtName.Text.Trim();
            dr["description"]     = txtDescription.Text.Trim();
            dr["heaterduty"]      = txtDuty.Text.Trim();
            dr["Steam"]           = txtSteam.Text.Trim();
            dr["SteamFactor"]     = txtSteamFactor.Text.Trim();
            dr["HotOil"]          = txtHotOil.Text.Trim();
            dr["HotOilFactor"]    = txtHotOilFactor.Text.Trim();
            dr["HotStream"]       = txtHotStream.Text.Trim();
            dr["HotStreamfactor"] = txtHotStreamFactor.Text.Trim();
            dr["Furnace"]         = txtFurnace.Text.Trim();
            dr["FurnaceFactor"]   = txtFurnaceFactor.Text.Trim();
            dr["iscontinued"]     = chkIsContinued.IsChecked;
            dr["visiofile"]       = vsdFile;

            getColor(ref dr, "heatername_color", txtName);
            getColor(ref dr, "heaterduty_color", txtDuty);
            getColor(ref dr, "Steam_color", txtSteam);
            getColor(ref dr, "SteamFactor_color", txtSteamFactor);
            getColor(ref dr, "HotOil_color", txtHotOil);
            getColor(ref dr, "HotOilFactor_color", txtHotOilFactor);
            getColor(ref dr, "HotStream_color", txtHotStream);
            getColor(ref dr, "HotStreamfactor_color", txtHotStreamFactor);
            getColor(ref dr, "Furnace_color", txtFurnace);
            getColor(ref dr, "FurnaceFactor_color", txtFurnaceFactor);
            getColor(ref dr, "iscontinued_color", chkIsContinued);

            DBRelief dbR = new DBRelief(dbFile);

            dbR.saveDataByRow(dr, op);
            this.DialogResult = true;
        }
Пример #8
0
        private void Window_Loaded_1(object sender, RoutedEventArgs e)
        {
            DBRelief dbR = new DBRelief(dbFile);

            dt = dbR.getDataByVsdFile("frmfire", vsdFile, "id=" + id + "");
            if (dt != null)
            {
                if (dt.Rows.Count > 0)
                {
                    op = 1;
                    dr = dt.Rows[0];

                    this.txtEquipmentNO.Text = dr["equipment_no"].ToString();
                    txtService.Text          = dr["equipment_service"].ToString();
                    txtLocation.Text         = dr["equipment_location"].ToString();
                    cbxStream.Text           = dr["stream"].ToString();

                    cbxVesselType.Text = dr["vessel_type"].ToString();
                    txtNumberOfIdentcalVessels.Text = dr["number_of_identical_vessels"].ToString();
                    txtIVDiameter.Text             = dr["diameter_identical_vessels"].ToString();
                    txtIVFactor.Text               = dr["vessel_factor"].ToString();
                    txtIVLength.Text               = dr["vessel_length"].ToString();
                    txtNumberOfWettedHeads.Text    = dr["number_of_wetted_heads"].ToString();
                    txtNormalLiquidLevel.Text      = dr["normal_liquid_level"].ToString();
                    txtFireExposedLiquidLevel.Text = dr["fire_exposed_liquid_level"].ToString();
                    txtElevationtoBottom.Text      = dr["elevation_to_bottom"].ToString();
                    txtWettedDiameter.Text         = dr["diameter_wetted_heads"].ToString();
                    txtTT.Text = dr["tt"].ToString();

                    txtHeatInput.Text           = dr["heat_input"].ToString();
                    txtC1.Text                  = dr["c1"].ToString();
                    txtC2.Text                  = dr["c2"].ToString();
                    txtC3.Text                  = dr["c3"].ToString();
                    txtC4.Text                  = dr["c4"].ToString();
                    txtC5.Text                  = dr["c5"].ToString();
                    txtInlet.Text               = dr["piping_inlet"].ToString();
                    txtInletLength.Text         = dr["inlet_length"].ToString();
                    this.txtOutLet.Text         = dr["piping_outlet"].ToString();
                    this.txtOutLength.Text      = dr["outlet_length"].ToString();
                    this.txtPipingDiameter.Text = dr["piping_diameter"].ToString();
                    txtWettedArea.Text          = dr["Wetted_Area"].ToString();
                }
                else
                {
                    dr = dt.NewRow();
                }
            }
        }
        private void btnCancel_Click(object sender, RoutedEventArgs e)
        {
            PRZReader przReader = new PRZReader(newPrzFile);
            DataSet   ds        = przReader.getDataFromFile();
            DBRelief  dbreader  = new DBRelief();

            string[] feedH  = dbreader.computeH(ds.Tables[0], txtName.Text.Trim().ToUpper());
            string[] vaporH = dbreader.computeH(ds.Tables[0], v);
            string[] liqidH = dbreader.computeH(ds.Tables[0], l);


            lblFeedH.Content  = "FEED= " + feedH[0] + " KJ/hr";
            lblVaporH.Content = "VAPOR= " + vaporH[0] + " KJ/hr";
            lblLiqidH.Content = "LIQID= " + liqidH[0] + " KJ/hr";
            lblTest.Content   = (double.Parse(vaporH[1]) - double.Parse(liqidH[1])).ToString() + " KJ/Kg";
        }
Пример #10
0
 private void importDataToDB()
 {
     try
     {
         DBRelief  dbRelief    = new DBRelief(dbFile);
         DataSet   dsStructure = dbRelief.getDataStructure();
         DataTable dtEqType    = dsStructure.Tables["eqtype"];
         PRZReader przReader   = new PRZReader(curprzFile);
         DataSet   ds          = new DataSet();
         ds = przReader.getDataFromFile();
         dbRelief.importDataByDataTable(ds);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
Пример #11
0
        private void btnOK_Click(object sender, RoutedEventArgs e)
        {
            dr["sinkname"]            = txtName.Text;
            dr["visiofile"]           = vsdFile;
            dr["description"]         = txtDescription.Text;
            dr["sinktype"]            = cbxType.Text;
            dr["maxpossiblepressure"] = txtMaxPressure.Text;
            dr["ismaintained"]        = chkIsMaintained.IsChecked;
            getColor(ref dr, "sinkname_color", txtName);
            getColor(ref dr, "sinktype_color", cbxType);
            getColor(ref dr, "maxpossiblepressure_color", txtMaxPressure);
            getColor(ref dr, "ismaintained_color", chkIsMaintained);
            DBRelief dbR = new DBRelief(dbFile);

            dbR.saveDataByRow(dr, op);
            this.DialogResult = true;
        }
Пример #12
0
        private void window_Loaded(object sender, RoutedEventArgs e)
        {
            int[]    partiStop = { 14, 15, 16, 17, 18 };
            DBRelief dbr       = new DBRelief(dbFile);
            IEnumerable <CheckBox> collection = gridDuty.FindChildren <CheckBox>();
            DataTable dt = dbr.getDataByVsdFile("frmoptionduty", vsdFile);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                DataRow dr  = dt.Rows[i];
                int     idx = int.Parse(dr["case_id"].ToString());
                if (!partiStop.Contains(idx))
                {
                    CheckBox chk = collection.ElementAt(idx - 1);
                    chk.IsChecked = true;
                }
            }
        }
Пример #13
0
        private void MetroWindow_Loaded_1(object sender, RoutedEventArgs e)
        {
            DBRelief dbR  = new DBRelief(dbFile);
            string   Name = txtName.Text;

            dt = dbR.getDataByVsdFile("frmreboiler", vsdFile, "heatername='" + Name + "'");
            if (dt != null)
            {
                if (dt.Rows.Count > 0)
                {
                    op = 1;
                    dr = dt.Rows[0];

                    txtName.Text             = Name;
                    txtDescription.Text      = dr["description"].ToString();
                    txtDuty.Text             = dr["heaterduty"].ToString();
                    txtSteam.Text            = dr["Steam"].ToString();
                    txtSteamFactor.Text      = dr["SteamFactor"].ToString();
                    txtHotOil.Text           = dr["HotOil"].ToString();
                    txtHotOilFactor.Text     = dr["HotOilFactor"].ToString();
                    txtHotStream.Text        = dr["HotStream"].ToString();
                    txtHotStreamFactor.Text  = dr["HotStreamfactor"].ToString();
                    txtFurnace.Text          = dr["Furnace"].ToString();
                    txtFurnaceFactor.Text    = dr["FurnaceFactor"].ToString();
                    chkIsContinued.IsChecked = bool.Parse(dr["iscontinued"].ToString());
                    setColor(dr, "heatername_color", txtName);
                    setColor(dr, "heaterduty_color", txtDuty);
                    setColor(dr, "Steam_color", txtSteam);
                    setColor(dr, "SteamFactor_color", txtSteamFactor);
                    setColor(dr, "HotOil_color", txtHotOil);
                    setColor(dr, "HotOilFactor_color", txtHotOilFactor);
                    setColor(dr, "HotStream_color", txtHotStream);
                    setColor(dr, "HotStreamfactor_color", txtHotStreamFactor);
                    setColor(dr, "Furnace_color", txtFurnace);
                    setColor(dr, "FurnaceFactor_color", txtFurnaceFactor);
                    setColor(dr, "iscontinued_color", chkIsContinued);
                    loadstatus = 1;
                }
                else
                {
                    dr = dt.NewRow();
                }
            }
        }
Пример #14
0
        private void bindDataGrid()
        {
            DBRelief  dbR = new DBRelief(dbFile);
            DataTable dt  = dbR.getDataByVsdFile("frmfire", vsdFile);

            if (dt != null)
            {
                if (dt.Rows.Count != 0)
                {
                    fireDataGrid.ItemsSource = dt.DefaultView;
                }
                else
                {
                    DataTable dtCondenser = dbR.getDataByVsdFile("frmcondenser", vsdFile);
                    foreach (DataRow drCondenser in dtCondenser.Rows)
                    {
                        DataRow dr = dt.NewRow();
                        dr["equipment_no"] = drCondenser["heatername"].ToString();
                        dr["visiofile"]    = vsdFile;
                        dt.Rows.Add(dr);
                    }
                    DataTable dtReboiler = dbR.getDataByVsdFile("frmreboiler", vsdFile);
                    foreach (DataRow drReboiler in dtReboiler.Rows)
                    {
                        DataRow dr = dt.NewRow();
                        dr["equipment_no"] = drReboiler["heatername"].ToString();
                        dr["visiofile"]    = vsdFile;
                        dt.Rows.Add(dr);
                    }

                    DataTable dtAccumulator = dbR.getDataByVsdFile("frmAccumulator", vsdFile);
                    foreach (DataRow drAccumulator in dtAccumulator.Rows)
                    {
                        DataRow dr = dt.NewRow();
                        dr["equipment_no"] = drAccumulator["accumulatorname"].ToString();
                        dr["visiofile"]    = vsdFile;
                        dt.Rows.Add(dr);
                    }
                    dbR.saveDataByTable(dt, vsdFile);
                    dt = dbR.getDataByVsdFile("frmfire", vsdFile);
                    fireDataGrid.ItemsSource = dt.DefaultView;
                }
            }
        }
Пример #15
0
        private void btnOK_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                dr["equipment_no"]       = this.txtEquipmentNO.Text.Trim();
                dr["equipment_service"]  = txtService.Text.Trim();
                dr["equipment_location"] = txtLocation.Text.Trim();
                dr["stream"]             = cbxStream.Text.Trim();

                dr["vessel_type"] = cbxVesselType.Text.Trim();
                dr["number_of_identical_vessels"] = txtNumberOfIdentcalVessels.Text.Trim();
                dr["diameter_identical_vessels"]  = txtIVDiameter.Text.Trim();
                dr["vessel_factor"]             = txtIVFactor.Text.Trim();
                dr["vessel_length"]             = txtIVLength.Text.Trim();
                dr["number_of_wetted_heads"]    = txtNumberOfWettedHeads.Text.Trim();
                dr["normal_liquid_level"]       = txtNormalLiquidLevel.Text.Trim();
                dr["fire_exposed_liquid_level"] = txtFireExposedLiquidLevel.Text.Trim();
                dr["elevation_to_bottom"]       = txtElevationtoBottom.Text.Trim();
                dr["diameter_wetted_heads"]     = txtWettedDiameter.Text.Trim();
                dr["tt"] = txtTT.Text.Trim();

                dr["heat_input"]      = txtHeatInput.Text.Trim();
                dr["c1"]              = txtC1.Text.Trim();
                dr["c2"]              = txtC2.Text.Trim();
                dr["c3"]              = txtC3.Text.Trim();
                dr["c4"]              = txtC4.Text.Trim();
                dr["c5"]              = txtC5.Text.Trim();
                dr["piping_inlet"]    = txtInlet.Text.Trim();
                dr["inlet_length"]    = txtInletLength.Text.Trim();
                dr["piping_outlet"]   = this.txtOutLet.Text.Trim();
                dr["outlet_length"]   = this.txtOutLength.Text.Trim();
                dr["piping_diameter"] = this.txtPipingDiameter.Text.Trim();
                dr["wetted_area"]     = this.txtWettedArea.Text.Trim();
                dr["visiofile"]       = vsdFile;
                DBRelief dbR = new DBRelief(dbFile);
                dbR.saveDataByRow(dr, op);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Action");
            }
            this.DialogResult = true;
        }
Пример #16
0
        private void MetroWindow_Loaded_1(object sender, RoutedEventArgs e)
        {
            try
            {
                txtName.BorderBrush            = Brushes.Red;
                txtName.BorderThickness        = new Thickness(2, 2, 2, 2);
                txtMaxPressure.BorderBrush     = Brushes.Red;
                txtMaxPressure.BorderThickness = new Thickness(2, 2, 2, 2);

                dbR = new DBRelief(dbFile);
                string sourceName = txtName.Text;
                dtsource = dbR.getDataByVsdFile("frmsource", vsdFile, "sourcename='" + sourceName + "'");
                if (dtsource != null)
                {
                    if (dtsource.Rows.Count > 0)
                    {
                        op = 1;
                        dr = dtsource.Rows[0];

                        txtName.Text              = sourceName;
                        txtDescription.Text       = dr["description"].ToString();
                        cbxType.Text              = dr["sourcetype"].ToString();
                        txtMaxPressure.Text       = dr["maxpossiblepressure"].ToString();
                        chkIsMaintained.IsChecked = bool.Parse(dr["ismaintained"].ToString());
                        setColor(dr, "sourcename_color", txtName);
                        setColor(dr, "sourcetype_color", cbxType);
                        setColor(dr, "maxpossiblepressure_color", txtMaxPressure);
                        setColor(dr, "ismaintained_color", chkIsMaintained);
                        loadstatus = 1;
                    }
                    else
                    {
                        dr = dtsource.NewRow();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Action");
            }
        }
Пример #17
0
        private void MetroWindow_Loaded_1(object sender, RoutedEventArgs e)
        {
            dbR = new DBRelief(dbFile);
            string condenserName = txtName.Text;

            dtCondenser = dbR.getDataByVsdFile("frmcondenser", vsdFile, "heatername='" + condenserName + "'");
            if (dtCondenser != null)
            {
                if (dtCondenser.Rows.Count > 0)
                {
                    op = 1;
                    dr = dtCondenser.Rows[0];

                    txtName.Text             = condenserName;
                    txtDescription.Text      = dr["description"].ToString();
                    txtDuty.Text             = dr["heaterduty"].ToString();
                    txtWater.Text            = dr["water"].ToString();
                    txtWaterFactor.Text      = dr["waterfactor"].ToString();
                    txtAir.Text              = dr["air"].ToString();
                    txtAirFactor.Text        = dr["airfactor"].ToString();
                    txtWetAir.Text           = dr["wetair"].ToString();
                    txtWetAirFactor.Text     = dr["wetairfactor"].ToString();
                    txtPumpAbound.Text       = dr["pumpabound"].ToString();
                    txtPumpAboundFactor.Text = dr["pumpaboundfactor"].ToString();

                    setColor(dr, "heatername_color", txtName);
                    setColor(dr, "heaterduty_color", txtDuty);
                    setColor(dr, "water_color", txtWater);
                    setColor(dr, "waterFactor_color", txtWaterFactor);
                    setColor(dr, "air_color", txtAir);
                    setColor(dr, "airFactor_color", txtAirFactor);
                    setColor(dr, "wetair_color", txtWetAir);
                    setColor(dr, "wetairfactor_color", txtWetAirFactor);
                    setColor(dr, "pumpabound_color", txtPumpAbound);
                    setColor(dr, "pumpaboundFactor_color", txtPumpAboundFactor);

                    loadstatus = 1;
                }
            }
        }
Пример #18
0
        private void btnOK_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                string name       = this.txtName.Text;
                string temp       = this.txtTemp.Text;
                string press      = this.txtPres.Text;
                string wf         = this.txtWf.Text;
                string enthalpy   = this.txtH.Text;
                string spenthalpy = this.txtSph.Text;
                string vf         = this.txtVabFrac.Text;

                dr["streamname"]    = name;
                dr["Temperature"]   = temp;
                dr["Pressure"]      = press;
                dr["Enthalpy"]      = enthalpy;
                dr["SpEnthalpy"]    = spenthalpy;
                dr["VaporFraction"] = vf;
                dr["WeightFlow"]    = wf;
                dr["Description"]   = txtDescription.Text;
                dr["visiofile"]     = vsdFile;

                getColor(ref dr, "streamname_color", txtName);
                getColor(ref dr, "Temperature_color", txtTemp);
                getColor(ref dr, "Pressure_color", txtPres);
                getColor(ref dr, "VaporFraction_color", txtVabFrac);
                getColor(ref dr, "WeightFlow_color", txtWf);
                getColor(ref dr, "Enthalpy_color", txtH);
                getColor(ref dr, "SpEnthalpy_color", txtSph);

                DBRelief dbr = new DBRelief(dbFile); //带参数,谨记
                dbr.saveDataByRow(dr, op);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Action");
            }
            this.DialogResult = true;
        }
Пример #19
0
        private void Window_Loaded_1(object sender, RoutedEventArgs e)
        {
            DBRelief dbR = new DBRelief(dbFile);

            dtpsv = dbR.getDataByVsdFile("frmpsv", vsdFile);
            if (dtpsv != null)
            {
                if (dtpsv.Rows.Count > 0)
                {
                    DataRow dr = dtpsv.Rows[0];
                    vsdFile                     = dr["visiofile"].ToString();
                    txtName.Text                = dr["psvname"].ToString();
                    txtDescription.Text         = dr["description"].ToString();
                    cbxValueType.SelectedItem   = dr["valvetype"].ToString();
                    txtValveNumber.Text         = dr["valvenumber"].ToString();
                    txtPress.Text               = dr["pressure"].ToString();
                    txtPrelief.Text             = dr["reliefmultiple"].ToString();
                    cbxLocation.SelectedItem    = dr["location"].ToString();
                    txtLocationDescription.Text = dr["locationdescription"].ToString();
                }
            }
        }
Пример #20
0
        private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            try
            {
                dbRelief = new DBRelief(dbFile);
                DataSet   dsStructure = dbRelief.getDataStructure();
                DataTable dtEqType    = dsStructure.Tables["eqtype"];
                dtEqList = dsStructure.Tables["eqlist"];
                dtStream = dsStructure.Tables["stream"];
                picker   = new PRZPicker(curprzFile);
                int total   = picker.getAllEqAndStreamCount(dtEqType, ref eqList, ref streamList);
                int eqCount = eqList.Count;
                for (int i = 1; i <= eqList.Count; i++)
                {
                    EqInfo eq = (EqInfo)eqList[i - 1];
                    picker.getEqInfo(eq.eqType, eq.eqName, ref dtEqList);
                    int percents = (i * 100) / total;
                    backgroundWorker.ReportProgress(percents, i);
                }

                for (int i = 1; i <= streamList.Count; i++)
                {
                    picker.getSteamInfo(streamList[i - 1].ToString(), ref dtStream);
                    int percents = ((eqCount + i) * 100) / total;
                    backgroundWorker.ReportProgress(percents);
                }
                backgroundWorker.ReportProgress(100);
            }
            catch (Exception ex)
            {
                string lines = ex.ToString();

                using (StreamWriter writer = new StreamWriter("log.txt", true))
                {
                    writer.WriteLine(ex.ToString());
                }
            }
        }
Пример #21
0
        private void saveData()
        {
            DBRelief dbWrite = new DBRelief(dbFile);



            if (gridStreamIn.ItemsSource != null)
            {
                DataView dvFeed = (DataView)gridStreamIn.ItemsSource;
                dtfrmcase_feed.Merge(dvFeed.Table);

                DataView dvProduct = (DataView)gridStreamOut.ItemsSource;
                dtfrmcase_product.Merge(dvProduct.Table);

                DataView dvReboiler = (DataView)gridHeatIn.ItemsSource;
                dtfrmcase_reboiler.Merge(dvReboiler.Table);

                DataView dvCondenser = (DataView)gridHeatOut.ItemsSource;
                dtfrmcase_condenser.Merge(dvCondenser.Table);

                DataRow dr = dtfrmcase.NewRow();
                dr["case_id"]     = case_id;
                dr["visiofile"]   = vsdFile;
                dr["relieftemp"]  = txtReliefTemp.Text;
                dr["reliefpress"] = txtReliefPress.Text;
                dr["reliefrate"]  = txtReliefRate.Text;
                dr["reliefmw"]    = txtReliefMW.Text;
                dtfrmcase.Rows.Add(dr);
            }

            dbWrite.saveDataByTable(dtfrmcase, vsdFile);
            dbWrite.saveDataByTable(dtfrmcase_feed, vsdFile);
            dbWrite.saveDataByTable(dtfrmcase_product, vsdFile);
            dbWrite.saveDataByTable(dtfrmcase_reboiler, vsdFile);
            dbWrite.saveDataByTable(dtfrmcase_condenser, vsdFile);
        }
Пример #22
0
        private void btnOK_Click(object sender, RoutedEventArgs e)
        {
            dr["accumulatorname"] = txtName.Text.Trim();
            if (voH.IsChecked == true)
            {
                dr["orientation"] = voH.Content.ToString();
            }
            else
            {
                dr["orientation"] = voV.Content.ToString();
            }

            dr["diameter"]      = this.txtDiameter.Text.Trim();
            dr["length"]        = this.txtLength.Text.Trim();
            dr["numberofheads"] = this.txtNumberofHeads.Text.Trim();
            dr["headratio"]     = this.txtHeadRatio.Text.Trim();

            dr["visiofile"] = vsdFile;
            DBRelief dbR = new DBRelief(dbFile);

            dbR.saveDataByRow(dr, op);
            AccumulationName  = txtName.Text.Trim();
            this.DialogResult = true;
        }
Пример #23
0
        private void MetroWindow_Loaded_1(object sender, RoutedEventArgs e)
        {
            DBRelief dbR  = new DBRelief(dbFile);
            string   Name = txtName.Text;

            dt = dbR.getDataByVsdFile("frmaccumulator", vsdFile, "accumulatorname='" + Name + "'");
            if (dt != null)
            {
                if (dt.Rows.Count > 0)
                {
                    op = 1;
                    dr = dt.Rows[0];

                    txtName.Text = Name;
                    string orientation    = voH.Content.ToString();
                    string orientation_db = dr["orientation"].ToString();
                    if (string.Compare(orientation_db, orientation) == 0)
                    {
                        voH.IsChecked = true;
                    }
                    else
                    {
                        voV.IsChecked = true;
                    }

                    this.txtDiameter.Text      = dr["diameter"].ToString();
                    this.txtLength.Text        = dr["length"].ToString();
                    this.txtNumberofHeads.Text = dr["numberofheads"].ToString();
                    this.txtHeadRatio.Text     = dr["headratio"].ToString();
                }
                else
                {
                    dr = dt.NewRow();
                }
            }
        }
Пример #24
0
        private void saveDataToDB()
        {
            DBRelief dbr = new DBRelief(dbFile);

            dtfrmbasecase = dtfrmbasecase.Clone();
            DataRow dr = dtfrmbasecase.NewRow();

            dr["description"]   = this.txtDescription.Text;
            dr["latentheat"]    = this.txtRunResult.Text;
            dr["visiofile"]     = vsdFile;
            dr["Tray1Pressure"] = strTray1Pressure;
            dr["vapor"]         = vapor;
            dr["liquid"]        = liquid;
            dr["dir"]           = tempdir;
            dr["Temperature"]   = tempTemperature;
            dtfrmbasecase.Rows.Add(dr);

            DataView dvFeed      = (DataView)gridStreamIn.ItemsSource;
            DataView dvProduct   = (DataView)gridStreamOut.ItemsSource;
            DataView dvReboiler  = (DataView)gridHeatIn.ItemsSource;
            DataView dvCondenser = (DataView)gridHeatOut.ItemsSource;

            DataTable dtFeed    = dvFeed.Table.Copy();
            DataTable dtProduct = dvProduct.Table;

            dbr.saveDataByTable(dtfrmbasecase, vsdFile);
            dbr.saveDataByTable(dtFeed, vsdFile);
            dbr.saveDataByTable(dtProduct, vsdFile);
            dbr.saveDataByTable(dvReboiler.Table, vsdFile);
            dbr.saveDataByTable(dvCondenser.Table, vsdFile);
            dbr.saveDataByTable(dtFlashResult, vsdFile);
            dtfrmcase_feed      = dtfrmcase_feed.Clone();
            dtfrmcase_product   = dtfrmcase_product.Clone();
            dtfrmcase_reboiler  = dtfrmcase_reboiler.Clone();
            dtfrmcase_condenser = dtfrmcase_condenser.Clone();
            dtfrmcase           = dtfrmcase.Clone();
            foreach (KeyValuePair <int, UC_CaseStudy> uc in dicCase)
            {
                if (uc.Value.gridStreamIn.ItemsSource != null)
                {
                    dvFeed = (DataView)uc.Value.gridStreamIn.ItemsSource;
                    dtfrmcase_feed.Merge(dvFeed.ToTable());

                    dvProduct = (DataView)uc.Value.gridStreamOut.ItemsSource;
                    dtfrmcase_product.Merge(dvProduct.ToTable());

                    dvReboiler = (DataView)uc.Value.gridHeatIn.ItemsSource;
                    dtfrmcase_reboiler.Merge(dvReboiler.ToTable());

                    dvCondenser = (DataView)uc.Value.gridHeatOut.ItemsSource;
                    dtfrmcase_condenser.Merge(dvCondenser.ToTable());

                    dr                = dtfrmcase.NewRow();
                    dr["case_id"]     = uc.Key;
                    dr["visiofile"]   = vsdFile;
                    dr["relieftemp"]  = uc.Value.txtReliefTemp.Text;
                    dr["reliefpress"] = uc.Value.txtReliefPress.Text;
                    dr["reliefrate"]  = uc.Value.txtReliefRate.Text;
                    dr["reliefmw"]    = uc.Value.txtReliefMW.Text;
                    dtfrmcase.Rows.Add(dr);
                }
            }
            dbr.saveDataByTable(dtfrmcase, vsdFile);
            dbr.saveDataByTable(dtfrmcase_feed, vsdFile);
            dbr.saveDataByTable(dtfrmcase_product, vsdFile);
            dbr.saveDataByTable(dtfrmcase_reboiler, vsdFile);
            dbr.saveDataByTable(dtfrmcase_condenser, vsdFile);
        }
Пример #25
0
        private void btnOK_Click(object sender, RoutedEventArgs e)
        {
            if (txtName.Text.ToString().Trim() == string.Empty)
            {
                CustomMessageBox msg = new CustomMessageBox();
                msg.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                msg.tipcontent.Text       = "PSV Name could not be empty";
                msg.Show();
                return;
            }
            string pressure = txtPress.Text.ToString().Trim();

            if (pressure == string.Empty)
            {
                CustomMessageBox msg = new CustomMessageBox();
                msg.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                msg.tipcontent.Text       = "Pressure Name could not be empty";
                msg.Show();
                return;
            }
            else if (isNumber(pressure) == false)
            {
                CustomMessageBox msg = new CustomMessageBox();
                msg.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                msg.tipcontent.Text       = "Pressure  could not be empty";
                msg.Show();
                return;
            }

            string relief = txtPrelief.Text.ToString().Trim();

            if (relief == string.Empty)
            {
                CustomMessageBox msg = new CustomMessageBox();
                msg.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                msg.tipcontent.Text       = "Prelief's Value could not be empty";
                msg.Show();
                return;
            }
            else if (isNumber(pressure) == false)
            {
                CustomMessageBox msg = new CustomMessageBox();
                msg.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                msg.tipcontent.Text       = "Prelief's Value must be a number";
                msg.Show();
                return;
            }


            DBRelief dbR = new DBRelief(dbFile);

            dtpsv = dtpsv.Clone();
            DataRow dr = dtpsv.NewRow();

            if (dtpsv.Rows.Count == 0)
            {
                dtpsv.Rows.Add(dr);
            }
            else
            {
                dr = dtpsv.Rows[0];
            }
            dr["visiofile"]   = vsdFile;
            dr["psvname"]     = txtName.Text;
            dr["description"] = txtDescription.Text;
            dr["valvetype"]   = cbxValueType.SelectedItem.ToString();
            dr["valvenumber"] = txtValveNumber.Text;
            dr["pressure"]    = txtPress.Text;

            dr["reliefmultiple"]      = txtPrelief.Text;
            dr["location"]            = cbxLocation.SelectedItem.ToString();
            dr["locationdescription"] = txtLocationDescription.Text;
            dbR.saveDataByTable(dtpsv, vsdFile);


            this.DialogResult = true;
        }
Пример #26
0
        public void getTowerInfo()
        {
            try
            {
                DBRelief dbR = new DBRelief(dbFile);
                dtTower = dbR.getDataByVsdFile("frmtower", vsdFile);
                if (dtTower.Rows.Count != 0)
                {
                    op = 1;
                    DataRow dr = dtTower.Rows[0];
                    txtName.Text             = dr["towername"].ToString();
                    this.txtStageNumber.Text = dr["StageNumber"].ToString();
                    this.txtDescription.Text = dr["Description"].ToString();

                    string towercolor = dr["towername_color"].ToString();
                    if (towercolor == "blue")
                    {
                        txtName.BorderBrush     = Brushes.Blue;
                        txtName.BorderThickness = new Thickness(2, 2, 2, 2);
                    }
                    else
                    {
                        txtName.BorderBrush     = Brushes.Green;
                        txtName.BorderThickness = new Thickness(2, 2, 2, 2);
                    }

                    if (dr["StageNumber_color"].ToString() == "blue")
                    {
                        txtStageNumber.BorderBrush     = Brushes.Blue;
                        txtStageNumber.BorderThickness = new Thickness(2, 2, 2, 2);
                    }
                    else
                    {
                        txtStageNumber.BorderBrush     = Brushes.Green;
                        txtStageNumber.BorderThickness = new Thickness(2, 2, 2, 2);
                    }
                }
                DataTable dt = new DataTable();
                dt = dbR.getDataByVsdFile("frmfeed", vsdFile);
                if (dt.Rows.Count != 0)
                {
                    dtFeed = dt;
                }
                dt = dbR.getDataByVsdFile("frmproduct", vsdFile);
                if (dt.Rows.Count != 0)
                {
                    dtProd = dt;
                }
                dt = dbR.getDataByVsdFile("frmcondenser", vsdFile, "ishx=false");
                if (dt.Rows.Count != 0)
                {
                    this.dtCondenser = dt;
                }
                dt = dbR.getDataByVsdFile("frmcondenser", vsdFile, "ishx=true");
                if (dt.Rows.Count != 0)
                {
                    this.dtHxCondenser = dt;
                }
                dt = dbR.getDataByVsdFile("frmreboiler", vsdFile, "ishx=false");
                if (dt.Rows.Count != 0)
                {
                    this.dtReboiler = dt;
                }
                dt = dbR.getDataByVsdFile("frmreboiler", vsdFile, "ishx=true");
                if (dt.Rows.Count != 0)
                {
                    this.dtHxReboiler = dt;
                }

                bindCombox();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Пример #27
0
        //private void CloseReader()
        //{
        //Marshal.FinalReleaseComObject(objCompCalc);
        //GC.ReRegisterForFinalize(objCompCalc);
        //Marshal.FinalReleaseComObject(cp2File);
        //GC.ReRegisterForFinalize(cp2File);


        // }

        //复制塔的首层物流
        public DataTable  copyTray1Stream2(string columnName)
        {
            DBRelief  dbR = new DBRelief();
            DataTable dt  = dbR.getStructure("stream");

            string    streamName = "TEMP" + Guid.NewGuid().ToString().Substring(0, 5).ToUpper();
            CP2Object tempStream = (CP2Object)cp2File.CreateObject("Stream", streamName);

            bool b = cp2File.CopyTrayToStream(columnName, 1, (p2Phase)2, 0, (p2TrayFlow)1, streamName);

            string  bb        = b.ToString();
            DataRow dr        = dt.NewRow();
            bool    bCalulate = cp2File.CalculateStreamProps(streamName);

            CP2Object compCalc    = (CP2Object)cp2File.ActivateObject("CompCalc", "CompCalc");
            object    ComponentId = compCalc.GetAttribute("ComponentId");

            if (ComponentId != null && ComponentId is Array)
            {
                dr["ComponentId"] = UnitConverter.convertData(ComponentId);
            }
            else
            {
                dr["ComponentId"] = ComponentId;
            }
            object CompIn = cp2File.GetObjectNames("CompIn");

            if (CompIn != null && ComponentId is Array)
            {
                dr["CompIn"] = UnitConverter.convertData(CompIn);
            }
            else
            {
                dr["CompIn"] = CompIn;
            }
            dr["streamname"] = streamName;
            dr["sourcefile"] = przFile;
            dr["tray"]       = 1;
            dr["prodtype"]   = 3;
            CP2Object curStream = (CP2Object)cp2File.ActivateObject("Stream", streamName);

            foreach (string s in arrStreamAttributes)
            {
                object v = curStream.GetAttribute(s);
                if (v != null && v is Array)
                {
                    dr[s] = UnitConverter.convertData(v);
                }
                else
                {
                    dr[s] = v;
                }
            }
            if (bCalulate)
            {
                CP2Object bulkDrop = (CP2Object)cp2File.ActivateObject("SrBulkProp", streamName);
                foreach (string s in arrBulkPropAttributes)
                {
                    object v = bulkDrop.GetAttribute(s);
                    if (v != null && v is Array)
                    {
                        dr[s] = UnitConverter.convertData(v);
                    }
                    else
                    {
                        dr[s] = v;
                    }
                }
            }

            cp2File.DeleteObject("Stream", streamName);
            dt.Rows.Add(dr);
            //CloseReader();
            //Marshal.FinalReleaseComObject(cp2Srv1);
            //GC.ReRegisterForFinalize(cp2Srv1);
            //Marshal.FinalReleaseComObject(tempStream);
            //GC.ReRegisterForFinalize(tempStream);
            // Marshal.FinalReleaseComObject(curStream);
            // GC.ReRegisterForFinalize(curStream);

            return(dt);
        }
Пример #28
0
        private void bindTowerInfo()
        {
            if (dsTower.Tables.Count > 0 && dsTower.Tables[0].Rows.Count > 0)
            {
                DataRow dr = dsTower.Tables[0].Rows[0];
                txtName.Text = dr["eqname"].ToString();
                //txtDescription.Text = dr["description"].ToString();
                txtStageNumber.Text = dr["numberoftrays"].ToString();

                DBRelief dbReader = new DBRelief(dbFile);
                Dictionary <string, string> dicFeeds    = new Dictionary <string, string>();
                Dictionary <string, string> dicProducts = new Dictionary <string, string>();
                dbReader.getMaincolumnRealFeedProduct(dr["eqname"].ToString(), ref dicFeeds, ref dicProducts);

                DBRelief dbR = new DBRelief(dbFile);
                foreach (KeyValuePair <string, string> feed in dicFeeds)
                {
                    DataRow r = dtFeed.NewRow();
                    r["streamname"] = feed.Key;
                    r["tray"]       = feed.Value;
                    r["visiofile"]  = vsdFile;
                    dbR.getAndConvertStreamInfo(feed.Key, ref r);
                    dtFeed.Rows.Add(r);

                    DataRow rsource = dtSource.NewRow();
                    rsource["streamname"]                = feed.Key;
                    rsource["sourcename"]                = feed.Key + "_Source";
                    rsource["visiofile"]                 = vsdFile;
                    rsource["ismaintained"]              = false;
                    rsource["sourcetype"]                = "Pump(Motor)";
                    rsource["maxpossiblepressure"]       = r["pressure"].ToString();
                    rsource["maxpossiblepressure_color"] = "green";
                    dtSource.Rows.Add(rsource);
                }

                foreach (KeyValuePair <string, string> prodcut in dicProducts)
                {
                    DataRow r = dtProd.NewRow();
                    r["streamname"] = prodcut.Key;
                    r["tray"]       = prodcut.Value;
                    r["visiofile"]  = vsdFile;
                    dbR.getAndConvertStreamInfo(prodcut.Key, ref r);
                    dtProd.Rows.Add(r);

                    DataRow rsink = dtSink.NewRow();
                    rsink["streamname"]                = prodcut.Key;
                    rsink["sinkname"]                  = prodcut.Key + "_Sink";
                    rsink["visiofile"]                 = vsdFile;
                    rsink["ismaintained"]              = false;
                    rsink["sinktype"]                  = "Pump(Motor)";
                    rsink["maxpossiblepressure"]       = r["pressure"].ToString();
                    rsink["maxpossiblepressure_color"] = "green";

                    dtSink.Rows.Add(rsink);
                }

                string   heaterNames      = dr["HeaterNames"].ToString();
                string   heaterDuties     = dr["HeaterDuties"].ToString();
                string   heaterTrayLoc    = dr["HeaterTrayLoc"].ToString();
                string[] arrHeaterNames   = heaterNames.Split(',');
                string[] arrHeaterDuties  = heaterDuties.Split(',');
                string[] arrHeaterTrayLoc = heaterTrayLoc.Split(',');
                for (int i = 0; i < arrHeaterNames.Length; i++)
                {
                    decimal duty = decimal.Parse(arrHeaterDuties[i]) / 1000;
                    duty = decimal.Round(duty, 4);
                    if (arrHeaterNames[i] == "CONDENSER")
                    {
                        DataRow r = dtCondenser.NewRow();
                        r["heatername"]  = arrHeaterNames[i];
                        r["heaterduty"]  = duty;
                        r["visiofile"]   = vsdFile;
                        r["water"]       = duty;
                        r["waterfactor"] = 1;
                        r["ishx"]        = false;

                        r["air"]              = 0;
                        r["airfactor"]        = 0;
                        r["wetair"]           = 0;
                        r["wetairfactor"]     = 0;
                        r["pumpabound"]       = 0;
                        r["pumpaboundfactor"] = 0;

                        r["heatername_color"]  = "green";
                        r["heaterduty_color"]  = "green";
                        r["water_color"]       = "green";
                        r["waterfactor_color"] = "green";
                        dtCondenser.Rows.Add(r);
                    }
                    else if (arrHeaterNames[i] == "REBOILER")
                    {
                        DataRow r = dtReboiler.NewRow();
                        r["heatername"]  = arrHeaterNames[i];
                        r["heaterduty"]  = duty;
                        r["visiofile"]   = vsdFile;
                        r["steam"]       = duty;
                        r["steamfactor"] = 1;

                        r["hotstream"]       = 0;
                        r["hotstreamfactor"] = 0;
                        r["hotoil"]          = 0;
                        r["hotoilfactor"]    = 0;
                        r["furnace"]         = 0;
                        r["furnacefactor"]   = 0;

                        r["ishx"]        = false;
                        r["iscontinued"] = false;


                        dtReboiler.Rows.Add(r);
                    }
                    else if (double.Parse(arrHeaterDuties[i]) <= 0 && arrHeaterNames[i] != "CONDENSER")
                    {
                        if (arrHeaterTrayLoc[i] == "1")
                        {
                            DataRow r = dtCondenser.NewRow();
                            r["heatername"]       = arrHeaterNames[i];
                            r["heaterduty"]       = duty;
                            r["visiofile"]        = vsdFile;
                            r["water"]            = duty;
                            r["waterfactor"]      = 1;
                            r["ishx"]             = false;
                            r["air"]              = 0;
                            r["airfactor"]        = 0;
                            r["wetair"]           = 0;
                            r["wetairfactor"]     = 0;
                            r["pumpabound"]       = 0;
                            r["pumpaboundfactor"] = 0;
                            dtCondenser.Rows.Add(r);
                        }
                        else
                        {
                            DataRow r = dtHxCondenser.NewRow();
                            r["heatername"]  = arrHeaterNames[i];
                            r["heaterduty"]  = duty;
                            r["visiofile"]   = vsdFile;
                            r["water"]       = duty;
                            r["waterfactor"] = 1;
                            r["ishx"]        = true;

                            r["air"]              = 0;
                            r["airfactor"]        = 0;
                            r["wetair"]           = 0;
                            r["wetairfactor"]     = 0;
                            r["pumpabound"]       = 0;
                            r["pumpaboundfactor"] = 0;
                            dtHxCondenser.Rows.Add(r);
                        }
                    }
                    else if (double.Parse(arrHeaterDuties[i]) > 0 && arrHeaterNames[i] != "REBOILER")
                    {
                        if (arrHeaterTrayLoc[i] == dr["numberoftrays"].ToString())
                        {
                            DataRow r = dtReboiler.NewRow();
                            r["heatername"]  = arrHeaterNames[i];
                            r["heaterduty"]  = duty;
                            r["visiofile"]   = vsdFile;
                            r["steam"]       = duty;
                            r["steamfactor"] = 1;
                            r["ishx"]        = false;
                            r["iscontinued"] = false;

                            r["hotstream"]       = 0;
                            r["hotstreamfactor"] = 0;
                            r["hotoil"]          = 0;
                            r["hotoilfactor"]    = 0;
                            r["furnace"]         = 0;
                            r["furnacefactor"]   = 0;
                            dtReboiler.Rows.Add(r);
                        }
                        else
                        {
                            DataRow r = dtHxReboiler.NewRow();
                            r["heatername"]  = arrHeaterNames[i];
                            r["heaterduty"]  = duty;
                            r["visiofile"]   = vsdFile;
                            r["steam"]       = duty;
                            r["steamfactor"] = 1;
                            r["ishx"]        = true;
                            r["iscontinued"] = false;

                            r["hotstream"]       = 0;
                            r["hotstreamfactor"] = 0;
                            r["hotoil"]          = 0;
                            r["hotoilfactor"]    = 0;
                            r["furnace"]         = 0;
                            r["furnacefactor"]   = 0;



                            dtHxReboiler.Rows.Add(r);
                        }
                    }
                }
            }
            dtFeed_init        = dtFeed.Copy();
            dtProd_init        = dtProd.Copy();
            dtCondenser_init   = dtCondenser.Copy();
            dtHxCondenser_init = dtHxCondenser.Copy();
            dtReboiler_init    = dtReboiler.Copy();
            dtHxReboiler_init  = dtHxReboiler.Copy();
        }
Пример #29
0
        private void btnOK_Click(object sender, RoutedEventArgs e)
        {
            DBRelief dbR = new DBRelief(dbFile);
            DataRow  dr  = dtTower.NewRow();

            if (op == 0)
            {
                Application.Current.Properties.Add("FeedData", dtFeed);
                Application.Current.Properties.Add("Condenser", dtCondenser);
                Application.Current.Properties.Add("HxCondenser", dtHxCondenser);
                Application.Current.Properties.Add("Reboiler", dtReboiler);
                Application.Current.Properties.Add("HxReboiler", dtHxReboiler);
                Application.Current.Properties.Add("ProdData", dtProd);


                dtTower.Rows.Add(dr);
                dr["towername"]   = txtName.Text;
                dr["stagenumber"] = this.txtStageNumber.Text;
                dr["description"] = this.txtDescription.Text;
                dr["visiofile"]   = vsdFile;

                if (!string.IsNullOrEmpty(przFile))
                {
                    dr["przfile"] = przFile;
                }
                DataTable dtCondenserTemp = dtCondenser.Clone();
                dtCondenserTemp.Merge(dtCondenser);
                dtCondenserTemp.Merge(dtHxCondenser);
                DataTable dtReboilerTemp = dtReboiler.Clone();
                dtReboilerTemp.Merge(dtReboiler);
                dtReboilerTemp.Merge(dtHxReboiler);


                dbR.saveDataByTable(dtFeed, vsdFile);
                dbR.saveDataByTable(dtProd, vsdFile);
                dbR.saveDataByTable(dtSource, vsdFile);
                dbR.saveDataByTable(dtSink, vsdFile);
                dbR.saveDataByTable(dtCondenserTemp, vsdFile);
                dbR.saveDataByTable(dtReboilerTemp, vsdFile);
                dbR.saveDataByTable(dtTower, vsdFile);
            }
            else
            {
                dr = dtTower.Rows[0];
                dr["towername"]   = txtName.Text;
                dr["stagenumber"] = this.txtStageNumber.Text;
                dr["description"] = this.txtDescription.Text;
                dr["visiofile"]   = vsdFile;

                if (!string.IsNullOrEmpty(przFile))
                {
                    dr["przfile"] = przFile;
                }
                if (txtName.BorderBrush == Brushes.Green)
                {
                    dr["towername_color"] = "green";
                }
                else
                {
                    dr["towername_color"] = "blue";
                }
                if (txtStageNumber.BorderBrush == Brushes.Green)
                {
                    dr["stagenumber_color"] = "green";
                }
                else
                {
                    dr["stagenumber_color"] = "blue";
                }
                dbR.saveDataByRow(dr, 1);
            }
            this.DialogResult = true;
        }
Пример #30
0
        private void Window_Loaded_1(object sender, RoutedEventArgs e)
        {
            try
            {
                FocusManager.SetFocusedElement(grid1, txtName);
                DBRelief dbR  = new DBRelief(dbFile);
                string   Name = txtName.Text;
                dt = dbR.getDataByVsdFile("frmfeed", vsdFile, "streamname='" + Name + "'");
                if (dt != null)
                {
                    if (dt.Rows.Count > 0)
                    {
                        op = 1;
                        dr = dt.Rows[0];

                        txtName.Text        = Name;
                        txtDescription.Text = dr["description"].ToString();
                        txtTemp.Text        = dr["Temperature"].ToString();
                        txtPres.Text        = dr["Pressure"].ToString();
                        txtVabFrac.Text     = dr["VaporFraction"].ToString();
                        txtWf.Text          = dr["WeightFlow"].ToString();
                        txtH.Text           = dr["Enthalpy"].ToString();
                        txtSph.Text         = dr["SpEnthalpy"].ToString();

                        setColor(dr, "streamname_color", txtName);
                        setColor(dr, "Temperature_color", txtTemp);
                        setColor(dr, "Pressure_color", txtPres);
                        setColor(dr, "VaporFraction_color", txtVabFrac);
                        setColor(dr, "WeightFlow_color", txtWf);
                        setColor(dr, "Enthalpy_color", txtH);
                        setColor(dr, "SpEnthalpy_color", txtSph);
                        loadstatus = 1;
                    }
                    else
                    {
                        op = 1;
                        dt = dbR.getDataByVsdFile("frmproduct", vsdFile, "streamname='" + Name + "'");
                        dr = dt.Rows[0];

                        txtName.Text        = Name;
                        txtDescription.Text = dr["description"].ToString();
                        txtTemp.Text        = dr["Temperature"].ToString();
                        txtPres.Text        = dr["Pressure"].ToString();
                        txtVabFrac.Text     = dr["VaporFraction"].ToString();
                        txtWf.Text          = dr["WeightFlow"].ToString();
                        txtH.Text           = dr["Enthalpy"].ToString();
                        txtSph.Text         = dr["SpEnthalpy"].ToString();

                        setColor(dr, "streamname_color", txtName);
                        setColor(dr, "Temperature_color", txtTemp);
                        setColor(dr, "Pressure_color", txtPres);
                        setColor(dr, "VaporFraction_color", txtVabFrac);
                        setColor(dr, "WeightFlow_color", txtWf);
                        setColor(dr, "Enthalpy_color", txtH);
                        setColor(dr, "SpEnthalpy_color", txtSph);
                        loadstatus = 1;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Action");
            }
        }