public RW_COATING getData(int ID, string corrosionRate)
        {
            RW_COATING coat     = new RW_COATING();
            BUS_UNITS  convUnit = new BUS_UNITS();

            coat.ID = ID;
            coat.ExternalCoating            = chkExternalCoat.Checked ? 1 : 0;
            coat.ExternalInsulation         = chkExternalIsulation.Checked ? 1 : 0;
            coat.InternalCladding           = chkInternalCladding.Checked ? 1 : 0;
            coat.InternalCoating            = chkInternalCoat.Checked ? 1 : 0;
            coat.InternalLining             = chkInternalLining.Checked ? 1 : 0;
            coat.ExternalCoatingDate        = dateExternalCoating.DateTime;
            coat.ExternalCoatingQuality     = cbExternalCoatQuality.Text;
            coat.ExternalInsulationType     = cbExternalIsulation.Text;
            coat.InternalLinerCondition     = cbInternalLinerCondition.Text;
            coat.InsulationContainsChloride = chkInsulationContainsChlorides.Checked ? 1 : 0;
            coat.InternalLinerType          = cbInternalLinerType.Text;
            if (corrosionRate == "mm/yr")
            {
                coat.CladdingCorrosionRate = txtCladdingCorrosionRate.Text == "" ? 0 : float.Parse(txtCladdingCorrosionRate.Text);
            }
            else
            {
                coat.CladdingCorrosionRate = txtCladdingCorrosionRate.Text == "" ? 0 : (float.Parse(txtCladdingCorrosionRate.Text) * (float)convUnit.mil);
            }
            coat.SupportConfigNotAllowCoatingMaint = chkSupport.Checked ? 1 : 0;
            coat.InsulationCondition = cbIsulationCondition.Text;
            return(coat);
        }
Exemplo n.º 2
0
        public RW_EQUIPMENT getData(int ID, string temUnit, string volUnit)
        {
            RW_EQUIPMENT      eq       = new RW_EQUIPMENT();
            RW_ASSESSMENT_BUS assBus   = new RW_ASSESSMENT_BUS();
            BUS_UNITS         convUnit = new BUS_UNITS();

            eq.ID = ID;
            eq.AdminUpsetManagement   = chkAministrativeControl.Checked ? 1 : 0;
            eq.ContainsDeadlegs       = chkContainsDeadlegs.Checked ? 1 : 0;
            eq.CyclicOperation        = chkCylicOperation.Checked ? 1 : 0;
            eq.HighlyDeadlegInsp      = chkHighlyEffectiveInspection.Checked ? 1 : 0;
            eq.DowntimeProtectionUsed = chkDowntimeProtection.Checked ? 1 : 0;
            eq.ExternalEnvironment    = cbExternalEnvironment.Text;
            eq.HeatTraced             = chkHeatTraced.Checked ? 1 : 0;
            eq.InterfaceSoilWater     = chkInterfaceSoilWater.Checked ? 1 : 0;
            eq.LinerOnlineMonitoring  = chkLinerOnlineMonitoring.Checked ? 1 : 0;
            eq.MaterialExposedToClExt = chkMaterialExposedFluid.Checked ? 1 : 0;
            double minReqTem = 0;

            if (temUnit == "DEG_C")
            {
                minReqTem = txtMinRequiredTemperature.Text != "" ? double.Parse(txtMinRequiredTemperature.Text) : 0;
            }
            else if (temUnit == "DEG_F")
            {
                minReqTem = txtMinRequiredTemperature.Text != "" ? convUnit.FahToCel(double.Parse(txtMinRequiredTemperature.Text)) : 0;                          // mai
            }
            else
            {
                minReqTem = txtMinRequiredTemperature.Text != "" ? convUnit.KenvinToCel(double.Parse(txtMinRequiredTemperature.Text)) : 0;  // mai
            }
            eq.MinReqTemperaturePressurisation = (float)minReqTem;
            eq.OnlineMonitoring            = cbOnlineMonitoring.Text;
            eq.PresenceSulphidesO2         = chkPresenceSulphideOperation.Checked ? 1 : 0;
            eq.PresenceSulphidesO2Shutdown = chkPresenceSulphideShutdown.Checked ? 1 : 0;
            eq.PressurisationControlled    = chkPressurisationControlled.Checked ? 1 : 0;
            eq.PWHT = chkPWHT.Checked ? 1 : 0;
            eq.SteamOutWaterFlush = chkSteamedOutPriorWaterFlushing.Checked ? 1 : 0;
            int   equipmentID = assBus.getEquipmentID(ID);
            float FMS         = busFacility.getFMS(busEquipmentMaster.getFacilityID(equipmentID));

            eq.ManagementFactor  = FMS;
            eq.ThermalHistory    = cbThermalHistory.Text;
            eq.YearLowestExpTemp = chkEquipmentOperatingManyYear.Checked ? 1 : 0;
            double equipVolume = 0;

            if (volUnit == "m3")
            {
                equipVolume = txtEquipmentVolume.Text != "" ? float.Parse(txtEquipmentVolume.Text) : 0;
            }
            else
            {
                equipVolume = txtMinRequiredTemperature.Text != "" ? (float.Parse(txtEquipmentVolume.Text) * convUnit.ft3) : 0; // mai
            }
            eq.Volume = (float)equipVolume;
            //eq.CommissionDate =
            return(eq);
        }
        public RW_INPUT_CA_LEVEL_1 getDataforCA(int id, string temperatureUnit, string pressureUnit)//thao
        {
            RW_INPUT_CA_LEVEL_1 ca       = new RW_INPUT_CA_LEVEL_1();
            BUS_UNITS           convUnit = new BUS_UNITS();

            ca.ID = id;
            switch (temperatureUnit)
            {
            case "DEG_C":
                ca.Stored_Temp = txtMinimumOperatingTemp.Text != "" ? float.Parse(txtMinimumOperatingTemp.Text) + 273 : 0;
                break;

            case "DEG_F":
                ca.Stored_Temp = txtMinimumOperatingTemp.Text != "" ? (float)convUnit.FahToCel(float.Parse(txtMinimumOperatingTemp.Text)) + 273 : 0;
                break;

            case "K":
                ca.Stored_Temp = txtMinimumOperatingTemp.Text != "" ? (float)convUnit.KenvinToCel(float.Parse(txtMinimumOperatingTemp.Text)) + 273 : 0;
                break;
            }
            switch (pressureUnit)
            {
            case "psi":
                ca.Stored_Pressure = txtMinOperatingPressure.Text != "" ? float.Parse(txtMinOperatingPressure.Text) * 6.895f : 0;
                break;

            case "KSI":
                ca.Stored_Pressure = txtMinOperatingPressure.Text != "" ? float.Parse(txtMinOperatingPressure.Text) * (float)convUnit.ksi * 6.895f : 0;
                break;

            case "bar":
                ca.Stored_Pressure = txtMinOperatingPressure.Text != "" ? float.Parse(txtMinOperatingPressure.Text) * (float)convUnit.bar * 6.895f : 0;
                break;

            case "MPa":
                ca.Stored_Pressure = txtMinOperatingPressure.Text != "" ? float.Parse(txtMinOperatingPressure.Text) * (float)convUnit.MPa * 6.895f : 0;
                break;

            case "NpM2":
                ca.Stored_Pressure = txtMinOperatingPressure.Text != "" ? float.Parse(txtMinOperatingPressure.Text) * (float)convUnit.NpM2 * 6.895f : 0;
                break;

            case "NpCM2":
                ca.Stored_Pressure = txtMinOperatingPressure.Text != "" ? float.Parse(txtMinOperatingPressure.Text) * (float)convUnit.NpCM2 * 6.895f : 0;
                break;
            }
            return(ca);
        }
        public RW_INPUT_CA_TANK getDataforTank(int ID, string diameter)
        {
            RW_INPUT_CA_TANK tank     = new RW_INPUT_CA_TANK();
            BUS_UNITS        convUnit = new BUS_UNITS();

            tank.ID = ID;
            if (diameter == "MM")
            {
                tank.TANK_DIAMETTER = txtTankDiameter.Text != "" ? float.Parse(txtTankDiameter.Text) : 0;
            }
            else if (diameter == "INCH")
            {
                tank.TANK_DIAMETTER = txtTankDiameter.Text != "" ? (float)(double.Parse(txtTankDiameter.Text) * convUnit.inch) : 0;                          // in sang mm
            }
            //else tank.TANK_DIAMETTER = txtTankDiameter.Text != "" ? float.Parse(txtTankDiameter.Text)  : 0; // m sang mm
            tank.ConcreteFoundation = chkConcreteAsphalt.Checked ? 1 : 0;
            tank.Prevention_Barrier = chkPreventionBarrier.Checked ? 1 : 0;
            return(tank);
        }
Exemplo n.º 5
0
        public RW_INPUT_CA_TANK getDataforTank(int ID, string diameter)
        {
            RW_INPUT_CA_TANK tank     = new RW_INPUT_CA_TANK();
            BUS_UNITS        convUnit = new BUS_UNITS();

            tank.ID = ID;
            if (diameter == "mm")
            {
                tank.TANK_DIAMETTER = txtTankDiameter.Text != "" ? float.Parse(txtTankDiameter.Text) : 0;
            }
            else if (diameter == "in")
            {
                tank.TANK_DIAMETTER = txtTankDiameter.Text != "" ? (float)(double.Parse(txtTankDiameter.Text) * convUnit.inch) : 0;                        // in sang mm
            }
            else
            {
                tank.TANK_DIAMETTER = txtTankDiameter.Text != "" ? float.Parse(txtTankDiameter.Text) * 1000 : 0;  // m sang mm
            }
            tank.TANK_DIAMETTER      = txtTankDiameter.Text != "" ? float.Parse(txtTankDiameter.Text) : 0;
            tank.Prevention_Barrier  = chkPreventionBarrier.Checked ? 1 : 0;
            tank.SHELL_COURSE_HEIGHT = txtShellCourseHeight.Text != "" ? float.Parse(txtShellCourseHeight.Text) : 0;
            return(tank);
        }
        public void ShowDatatoControl(int ID, string temUnit, string volumeUnit)
        {
            RW_EQUIPMENT_BUS    eqBus    = new RW_EQUIPMENT_BUS();
            BUS_UNITS           convUnit = new BUS_UNITS();
            List <RW_EQUIPMENT> listEq   = eqBus.getDataSource();

            foreach (RW_EQUIPMENT e in listEq)
            {
                if (e.ID == ID)
                {
                    chkAministrativeControl.Checked      = e.AdminUpsetManagement == 1 ? true : false;
                    chkHighlyEffectiveInspection.Checked = e.HighlyDeadlegInsp == 1 ? true : false;
                    chkDowntimeProtection.Checked        = e.DowntimeProtectionUsed == 1 ? true : false;
                    chkHeatTraced.Checked                   = e.HeatTraced == 1 ? true : false;
                    chkInterfaceSoilWater.Checked           = e.InterfaceSoilWater == 1 ? true : false;
                    chkEquipmentOperatingManyYear.Checked   = e.YearLowestExpTemp == 1 ? true : false;
                    chkMaterialExposedFluid.Checked         = e.MaterialExposedToClExt == 1 ? true : false;
                    chkPresenceSulphideOperation.Checked    = e.PresenceSulphidesO2 == 1 ? true : false;
                    chkContainsDeadlegs.Checked             = e.ContainsDeadlegs == 1 ? true : false;
                    chkCylicOperation.Checked               = e.CyclicOperation == 1 ? true : false;
                    chkSteamedOutPriorWaterFlushing.Checked = e.SteamOutWaterFlush == 1 ? true : false;
                    chkPWHT.Checked = e.PWHT == 1 ? true : false;
                    chkLinerOnlineMonitoring.Checked    = e.LinerOnlineMonitoring == 1 ? true : false;
                    chkPresenceSulphideShutdown.Checked = e.PresenceSulphidesO2Shutdown == 1 ? true : false;
                    if (temUnit == "DEG_C")
                    {
                        txtMinRequiredTemperature.Text = e.MinReqTemperaturePressurisation.ToString();
                    }
                    else if (temUnit == "DEG_F")
                    {
                        txtMinRequiredTemperature.Text = (convUnit.CelToFah(e.MinReqTemperaturePressurisation)).ToString();
                    }
                    else
                    {
                        txtMinRequiredTemperature.Text = (convUnit.CelToKenvin(e.MinReqTemperaturePressurisation)).ToString();
                    }
                    for (int i = 0; i < itemsExternalEnvironment.Length; i++)
                    {
                        if (itemsExternalEnvironment[i] == e.ExternalEnvironment)
                        {
                            cbExternalEnvironment.SelectedIndex = i + 1;
                        }
                    }
                    for (int j = 0; j < itemsOnlineMonitoring.Length; j++)
                    {
                        if (itemsOnlineMonitoring[j] == e.OnlineMonitoring)
                        {
                            cbOnlineMonitoring.SelectedIndex = j + 1;
                        }
                    }
                    for (int i = 0; i < itemsThermalHistory.Length; i++)
                    {
                        if (itemsThermalHistory[i] == e.ThermalHistory)
                        {
                            cbThermalHistory.SelectedIndex = i + 1;
                        }
                    }
                    if (volumeUnit == "m3")
                    {
                        txtEquipmentVolume.Text = e.Volume.ToString();
                    }
                    else if (volumeUnit == "ft3")
                    {
                        txtEquipmentVolume.Text = (e.Volume * convUnit.ft3).ToString();
                    }
                }
            }
        }
        public RW_COMPONENT getData(int ID, string diameter, string thickness, string corrosionRate, string volumeUnit, string stressUnit)
        {
            RW_COMPONENT comp = new RW_COMPONENT();

            comp.ID = ID;
            BUS_UNITS convUnit = new BUS_UNITS();

            //Generic Properties
            if (diameter == "MM")
            {
                comp.NominalDiameter = txtTankDiameter.Text != "" ? float.Parse(txtTankDiameter.Text) : 0;
            }
            else if (diameter == "INCH")
            {
                comp.NominalDiameter = txtTankDiameter.Text != "" ? (float)(double.Parse(txtTankDiameter.Text) * convUnit.inch) : 0;                          // in sang mm
            }
            if (thickness == "MM")
            {
                comp.NominalThickness         = txtNominalThickness.Text != "" ? float.Parse(txtNominalThickness.Text) : 0;
                comp.MinReqThickness          = txtMinRequiredThickness.Text != "" ? float.Parse(txtMinRequiredThickness.Text) : 0;
                comp.BrittleFractureThickness = txtBrittleFractureThickness.Text != "" ? float.Parse(txtBrittleFractureThickness.Text) : 0;
                comp.StructuralThickness      = txtStructuralThickness.Text != "" ? float.Parse(txtStructuralThickness.Text) : 0;
            }
            else if (thickness == "INCH")
            {
                comp.NominalThickness         = txtNominalThickness.Text != "" ? (float)(double.Parse(txtNominalThickness.Text) * convUnit.inch) : 0;         // in sang mm
                comp.MinReqThickness          = txtMinRequiredThickness.Text != "" ? (float)(double.Parse(txtMinRequiredThickness.Text) * convUnit.inch) : 0; // in sang mm
                comp.BrittleFractureThickness = txtBrittleFractureThickness.Text != "" ? (float)(double.Parse(txtBrittleFractureThickness.Text) * convUnit.inch) : 0;
                comp.StructuralThickness      = txtStructuralThickness.Text != "" ? (float)(double.Parse(txtStructuralThickness.Text) * convUnit.inch) : 0;
            }
            if (corrosionRate == "MMYR")
            {
                comp.CurrentCorrosionRate = txtCurrentCorrosionRate.Text != "" ? (float)double.Parse(txtCurrentCorrosionRate.Text) : 0;
            }
            else
            {
                comp.CurrentCorrosionRate = txtCurrentCorrosionRate.Text != "" ? (float)(double.Parse(txtCurrentCorrosionRate.Text) * convUnit.mil) : 0;  // mil/yr sang mm/yr
            }
            if (volumeUnit == "M3")
            {
                comp.ComponentVolume = txtComponentVolume.Text != "" ? float.Parse(txtComponentVolume.Text) : 0;
            }
            else
            {
                comp.ComponentVolume = txtComponentVolume.Text != "" ? (float)(double.Parse(txtComponentVolume.Text) * convUnit.ft3) : 0;
            }
            if (stressUnit == "KSI")
            {
                comp.AllowableStress = txtAllowableStress.Text != "" ? (float)(double.Parse(txtAllowableStress.Text) * convUnit.ksi) : 0;
            }
            else if (stressUnit == "PSI")
            {
                comp.AllowableStress = txtAllowableStress.Text != "" ? (float)(double.Parse(txtAllowableStress.Text) * convUnit.psi) : 0;
            }
            else if (stressUnit == "MPA")
            {
                comp.AllowableStress = txtAllowableStress.Text != "" ? float.Parse(txtAllowableStress.Text) : 0;
            }
            else if (stressUnit == "BAR")
            {
                comp.AllowableStress = txtAllowableStress.Text != "" ? (float)(double.Parse(txtAllowableStress.Text) * convUnit.bar) : 0;
            }
            else if (stressUnit == "NM2")
            {
                comp.AllowableStress = txtAllowableStress.Text != "" ? (float)(double.Parse(txtAllowableStress.Text) * convUnit.NpM2) : 0;
            }
            else
            {
                comp.AllowableStress = txtAllowableStress.Text != "" ? (float)(double.Parse(txtAllowableStress.Text) * convUnit.NpCM2) : 0;
            }
            comp.WeldJointEfficiency               = txtWeldJointEfficiency.Text != "" ? float.Parse(txtWeldJointEfficiency.Text) : 0;
            comp.ConfidenceCorrosionRate           = cbConfidenceCorrosionRate.Text;
            comp.CracksPresent                     = chkPresenceCracks.Checked ? 1 : 0;
            comp.MinimumStructuralThicknessGoverns = chkMinimumStructuralThicknessGoverns.Checked ? 1 : 0;
            //Governing Stress Corrosion Cracking Damage Factor
            comp.BrinnelHardness = cbMaxBrillnessHardness.Text;
            //Governing Brittle Fracture Damage Factor
            comp.FabricatedSteel               = chkFabricatedSteel.Checked ? 1 : 0;
            comp.EquipmentSatisfied            = chkEquipmentSatisfied.Checked ? 1 : 0;
            comp.NominalOperatingConditions    = chkNominalOperatingConditions.Checked ? 1 : 0;
            comp.CETGreaterOrEqual             = chkCETGreaterOrEqual.Checked ? 1 : 0;
            comp.CyclicServiceFatigueVibration = chkCyclicServiceFatigueVibration.Checked ? 1 : 0;
            comp.EquipmentCircuitShock         = chkEquipmentCircuitShock.Checked ? 1 : 0;
            //Governing Fatigue Damage Factor
            comp.SeverityOfVibration = cbSeverityVibration.Text;
            //Governing External Damage Factor
            comp.ComplexityProtrusion = cbComplexityProtrusion.Text;
            //Tank Consequence of Falure
            comp.ConcreteFoundation       = chkConcreteAsphalt.Checked ? 1 : 0;
            comp.ShellHeight              = txtShellHeight.Text != "" ? float.Parse(txtShellHeight.Text) : 0;
            comp.ReleasePreventionBarrier = chkPreventionBarrier.Checked ? 1 : 0;
            return(comp);
        }
Exemplo n.º 8
0
        public RW_COMPONENT getData(int ID, string diameter, string thickness, string corrosionRate)
        {
            RW_COMPONENT comp = new RW_COMPONENT();

            comp.ID = ID;
            BUS_UNITS convUnit = new BUS_UNITS();

            if (diameter == "mm")
            {
                comp.NominalDiameter = txtTankDiameter.Text != "" ? float.Parse(txtTankDiameter.Text) : 0;
            }
            else if (diameter == "in")
            {
                comp.NominalDiameter = txtTankDiameter.Text != "" ? (float)(double.Parse(txtTankDiameter.Text) * convUnit.inch) : 0;                        // in sang mm
            }
            else
            {
                comp.NominalDiameter = txtTankDiameter.Text != "" ? float.Parse(txtTankDiameter.Text) * 1000 : 0;  // m sang mm
            }
            //comp.NominalDiameter = txtTankDiameter.Text != "" ? float.Parse(txtTankDiameter.Text) : 0;
            if (thickness == "mm")
            {
                comp.NominalThickness = txtNominalThickness.Text != "" ? float.Parse(txtNominalThickness.Text) : 0;
                comp.CurrentThickness = txtCurrentThickness.Text != "" ? float.Parse(txtCurrentThickness.Text) : 0;
                comp.MinReqThickness  = txtMinRequiredThickness.Text != "" ? float.Parse(txtMinRequiredThickness.Text) : 0;
            }
            else if (thickness == "in")
            {
                comp.NominalThickness = txtNominalThickness.Text != "" ? (float)(double.Parse(txtNominalThickness.Text) * convUnit.inch) : 0;         // in sang mm
                comp.CurrentThickness = txtCurrentThickness.Text != "" ? (float)(double.Parse(txtCurrentThickness.Text) * convUnit.inch) : 0;         // in sang mm
                comp.MinReqThickness  = txtMinRequiredThickness.Text != "" ? (float)(double.Parse(txtMinRequiredThickness.Text) * convUnit.inch) : 0; // in sang mm
            }
            else
            {
                comp.NominalThickness = txtNominalThickness.Text != "" ? (float)(double.Parse(txtNominalThickness.Text) * 1000) : 0;         // m sang mm
                comp.CurrentThickness = txtCurrentThickness.Text != "" ? (float)(double.Parse(txtCurrentThickness.Text) * 1000) : 0;         // m sang mm
                comp.MinReqThickness  = txtMinRequiredThickness.Text != "" ? (float)(double.Parse(txtMinRequiredThickness.Text) * 1000) : 0; // m sang mm
            }
            //comp.NominalThickness = txtNominalThickness.Text != "" ? float.Parse(txtNominalThickness.Text) : 0;
            //comp.CurrentThickness = txtCurrentThickness.Text != "" ? float.Parse(txtCurrentThickness.Text) : 0;
            //comp.MinReqThickness = txtMinRequiredThickness.Text != "" ? float.Parse(txtMinRequiredThickness.Text) : 0;
            if (corrosionRate == "mm/yr")
            {
                comp.CurrentCorrosionRate = txtCurrentCorrosionRate.Text != "" ? (float)double.Parse(txtCurrentCorrosionRate.Text) : 0;
            }
            else
            {
                comp.CurrentCorrosionRate = txtCurrentCorrosionRate.Text != "" ? (float)(double.Parse(txtCurrentCorrosionRate.Text) * convUnit.mil) : 0;  // mil/yr sang mm/yr
            }
            //comp.CurrentCorrosionRate = txtCurrentCorrosionRate.Text != "" ? float.Parse(txtCurrentCorrosionRate.Text) : 0;
            comp.BrinnelHardness       = cbMaxBrillnessHardness.Text;
            comp.SeverityOfVibration   = cbSeverityVibration.Text;
            comp.ComplexityProtrusion  = cbComplexityProtrusion.Text;
            comp.DamageFoundInspection = chkDamageFoundDuringInspection.Checked ? 1 : 0;
            comp.CracksPresent         = chkPresenceCracks.Checked ? 1 : 0;
            comp.TrampElements         = chkTrampElements.Checked ? 1 : 0;
            //kiem tra dieu kien API Component Type -> Disable control cua shell hoac cua bottom
            //tank Shell Course
            comp.ShellHeight = txtShellCourseHeight.Text != "" ? float.Parse(txtShellCourseHeight.Text) : 0;
            //tank bottom
            comp.ConcreteFoundation       = chkConcreteAsphalt.Checked ? 1 : 0;
            comp.ReleasePreventionBarrier = chkPreventionBarrier.Checked ? 1 : 0;
            return(comp);
        }
        public void ShowDataToControl(int ID, string temUnit, string pressureUnit, string stressUnit, string thicknessUnit, string corrosionUnit)
        {
            RW_MATERIAL_BUS      BUS      = new RW_MATERIAL_BUS();
            RW_MATERIAL          obj      = BUS.getData(ID);
            RW_INPUT_CA_TANK_BUS busTank  = new RW_INPUT_CA_TANK_BUS();
            BUS_UNITS            convUnit = new BUS_UNITS();
            float tank = busTank.getProductionCost(ID);

            switch (temUnit)
            {
            case "DEG_C":
                txtMaxDesignTemperature.Text = obj.DesignTemperature.ToString();
                txtMinDesignTemperature.Text = obj.MinDesignTemperature.ToString();
                txtReferenceTemperature.Text = obj.ReferenceTemperature.ToString();
                break;

            case "DEG_F":
                txtMaxDesignTemperature.Text = (convUnit.CelToFah(obj.DesignTemperature)).ToString();
                txtMinDesignTemperature.Text = (convUnit.CelToFah(obj.MinDesignTemperature)).ToString();
                txtReferenceTemperature.Text = (convUnit.CelToFah(obj.ReferenceTemperature)).ToString();
                break;

            case "K":
                txtMaxDesignTemperature.Text = (convUnit.CelToKenvin(obj.DesignTemperature)).ToString();
                txtMinDesignTemperature.Text = (convUnit.CelToKenvin(obj.MinDesignTemperature)).ToString();
                txtReferenceTemperature.Text = (convUnit.CelToKenvin(obj.ReferenceTemperature)).ToString();
                break;
            }

            switch (pressureUnit)
            {
            case "psi":
                txtDesignPressure.Text = obj.DesignPressure.ToString();
                break;

            case "KSI":
                txtDesignPressure.Text = (obj.DesignPressure / convUnit.ksi).ToString();
                break;

            case "bar":
                txtDesignPressure.Text = (obj.DesignPressure / convUnit.bar).ToString();
                break;

            case "MPa":
                txtDesignPressure.Text = (obj.DesignPressure / convUnit.MPa).ToString();
                break;

            case "N/m2":
                txtDesignPressure.Text = (obj.DesignPressure / convUnit.NpM2).ToString();
                break;

            case "N/cm2":
                txtDesignPressure.Text = (obj.DesignPressure / convUnit.NpCM2).ToString();
                break;
            }

            switch (thicknessUnit)
            {
            case "mm":
                txtBrittleFracture.Text = obj.BrittleFractureThickness.ToString();
                break;

            case "in":
                txtBrittleFracture.Text = (obj.BrittleFractureThickness / convUnit.inch).ToString();
                break;

            case "m":
                txtBrittleFracture.Text = (obj.BrittleFractureThickness / convUnit.meter).ToString();
                break;
            }

            switch (corrosionUnit)
            {
            case "mm":
                txtCorrosionAllowance.Text = obj.CorrosionAllowance.ToString();
                break;

            case "mil":
                txtCorrosionAllowance.Text = (obj.CorrosionAllowance / convUnit.mil).ToString();
                break;
            }

            switch (stressUnit)
            {
            case "psi":
                txtAllowableStress.Text = obj.AllowableStress.ToString();
                break;

            case "KSI":
                txtAllowableStress.Text = (obj.AllowableStress / convUnit.ksi).ToString();
                break;

            case "bar":
                txtAllowableStress.Text = (obj.AllowableStress / convUnit.bar).ToString();
                break;

            case "MPa":
                txtAllowableStress.Text = (obj.AllowableStress / convUnit.MPa).ToString();
                break;

            case "N/m2":
                txtAllowableStress.Text = (obj.AllowableStress / convUnit.NpM2).ToString();
                break;

            case "N/cm2":
                txtAllowableStress.Text = (obj.AllowableStress / convUnit.NpCM2).ToString();
                break;
            }
            txtMaterial.Text = obj.MaterialName;
            for (int i = 0; i < itemsSulfurContent.Length; i++)
            {
                if (obj.SulfurContent == itemsSulfurContent[i])
                {
                    cbSulfurContent.SelectedIndex = i + 1;
                    break;
                }
            }
            for (int i = 0; i < itemsHeatTreatment.Length; i++)
            {
                if (obj.HeatTreatment == itemsHeatTreatment[i])
                {
                    cbHeatTreatment.SelectedIndex = i + 1;
                    break;
                }
            }

            for (int i = 0; i < itemsPTAMterial.Length; i++)
            {
                if (obj.PTAMaterialCode == itemsPTAMterial[i])
                {
                    cbPTAMaterialGrade.SelectedIndex = i + 1;
                    break;
                }
            }
            chkIsPTASeverity.Checked       = Convert.ToBoolean(obj.IsPTA);
            chkAusteniticSteel.Checked     = Convert.ToBoolean(obj.Austenitic);
            chkCarbonLowAlloySteel.Checked = Convert.ToBoolean(obj.CarbonLowAlloy);
            chkNickelAlloy.Checked         = Convert.ToBoolean(obj.NickelBased);
            chkChromium.Checked            = Convert.ToBoolean(obj.ChromeMoreEqual12);
            txtMaterialCostFactor.Text     = obj.CostFactor.ToString();
            txtProductionCost.Text         = tank.ToString();
        }
        public RW_COMPONENT getData(int ID, string diameter, string thickness, string corrosionRate) // save vao base
        {
            RW_COMPONENT      comp     = new RW_COMPONENT();
            RW_ASSESSMENT_BUS assBus   = new RW_ASSESSMENT_BUS();
            BUS_UNITS         convUnit = new BUS_UNITS();

            comp.ID = ID;
            // mai
            if (diameter == "mm")
            {
                comp.NominalDiameter = txtNominalDiameter.Text != "" ? float.Parse(txtNominalDiameter.Text) : 0;
            }
            else if (diameter == "in")
            {
                comp.NominalDiameter = txtNominalDiameter.Text != "" ? (float)(double.Parse(txtNominalDiameter.Text) * convUnit.inch) : 0;                      // in sang mm
            }
            else
            {
                comp.NominalDiameter = txtNominalDiameter.Text != "" ? float.Parse(txtNominalDiameter.Text) * 1000 : 0; // m sang mm
            }
            if (thickness == "mm")
            {
                comp.NominalThickness = txtNominalThickness.Text != "" ? float.Parse(txtNominalThickness.Text) : 0;
                comp.CurrentThickness = txtCurrentThickness.Text != "" ? float.Parse(txtCurrentThickness.Text) : 0;
                comp.MinReqThickness  = txtMinRequiredThickness.Text != "" ? float.Parse(txtMinRequiredThickness.Text) : 0;
            }
            else if (thickness == "in")
            {
                comp.NominalThickness = txtNominalThickness.Text != "" ? (float)(double.Parse(txtNominalThickness.Text) * convUnit.inch) : 0;         // in sang mm
                comp.CurrentThickness = txtCurrentThickness.Text != "" ? (float)(double.Parse(txtCurrentThickness.Text) * convUnit.inch) : 0;         // in sang mm
                comp.MinReqThickness  = txtMinRequiredThickness.Text != "" ? (float)(double.Parse(txtMinRequiredThickness.Text) * convUnit.inch) : 0; // in sang mm
            }
            else
            {
                comp.NominalThickness = txtNominalThickness.Text != "" ? (float)(double.Parse(txtNominalThickness.Text) * 1000) : 0;         // m sang mm
                comp.CurrentThickness = txtCurrentThickness.Text != "" ? (float)(double.Parse(txtCurrentThickness.Text) * 1000) : 0;         // m sang mm
                comp.MinReqThickness  = txtMinRequiredThickness.Text != "" ? (float)(double.Parse(txtMinRequiredThickness.Text) * 1000) : 0; // m sang mm
            }

            if (corrosionRate == "mm/yr")
            {
                comp.CurrentCorrosionRate = txtCurrentCorrosionRate.Text != "" ? (float)double.Parse(txtCurrentCorrosionRate.Text) : 0;
            }
            else
            {
                comp.CurrentCorrosionRate = txtCurrentCorrosionRate.Text != "" ? (float)(double.Parse(txtCurrentCorrosionRate.Text) * convUnit.mil) : 0;  // mil/yr sang mm/yr
            }
            // end mai
            comp.BranchDiameter           = cbBranchDiameter.Text;
            comp.BranchJointType          = cbJointTypeBranch.Text;
            comp.BrinnelHardness          = cbMaxBrillnessHardness.Text;
            comp.CracksPresent            = chkPresenceCracks.Checked ? 1 : 0;
            comp.ComplexityProtrusion     = cbComplexityProtrusion.Text;
            comp.ChemicalInjection        = chkPresenceInjectionMixPoint.Checked ? 1 : 0;
            comp.HighlyInjectionInsp      = chkHighlyEffectiveMixPoint.Checked ? 1 : 0;
            comp.CorrectiveAction         = cbCorrectiveAction.Text;
            comp.CyclicLoadingWitin15_25m = cbCyclicLoading.Text;
            comp.DamageFoundInspection    = chkDamageFoundDuringInspection.Checked ? 1 : 0;
            comp.DeltaFATT          = txtDeltaFATT.Text != "" ? float.Parse(txtDeltaFATT.Text) : 0;
            comp.NumberPipeFittings = cbNumberFittingPipe.Text;
            comp.PipeCondition      = cbPipeCondition.Text;
            comp.PreviousFailures   = cbPreviousFailures.Text;
            comp.ShakingAmount      = cbAmountShakingPipe.Text;
            comp.ShakingDetected    = chkVisibleAudible.Checked ? 1 : 0;
            comp.ShakingTime        = cbAccumalatedTimeShakingPipe.Text;
            comp.TrampElements      = chkTrampElements.Checked ? 1 : 0;
            //comp.ShellHeight cua shell
            //comp.ReleasePreventionBarrier =  cua tank
            //comp.ConcreteFoundation = cua tank bottom
            //comp.SeverityOfVibration cua tank
            return(comp);
        }
        public RW_COMPONENT getData(int ID, string diameter, string thickness, string corrosionRate, string volumeUnit, string stressUnit) // save vao base
        {
            RW_COMPONENT      comp     = new RW_COMPONENT();
            RW_ASSESSMENT_BUS assBus   = new RW_ASSESSMENT_BUS();
            BUS_UNITS         convUnit = new BUS_UNITS();

            comp.ID = ID;
            // Generic Properties
            if (diameter == "MM")
            {
                comp.NominalDiameter = txtNominalDiameter.Text != "" ? float.Parse(txtNominalDiameter.Text) : 0;
            }
            else if (diameter == "INCH")
            {
                comp.NominalDiameter = txtNominalDiameter.Text != "" ? (float)(double.Parse(txtNominalDiameter.Text) * convUnit.inch) : 0; // in sang mm
            }
            if (thickness == "MM")
            {
                comp.CurrentThickness         = txtCurrentThickness.Text != "" ? float.Parse(txtCurrentThickness.Text) : 0;
                comp.NominalThickness         = txtNominalThickness.Text != "" ? float.Parse(txtNominalThickness.Text) : 0;
                comp.MinReqThickness          = txtMinRequiredThickness.Text != "" ? float.Parse(txtMinRequiredThickness.Text) : 0;
                comp.BrittleFractureThickness = txtBrittleFractureThickness.Text != "" ? float.Parse(txtBrittleFractureThickness.Text) : 0;
                comp.StructuralThickness      = txtStructuralThickness.Text != "" ? float.Parse(txtStructuralThickness.Text) : 0;
            }
            else if (thickness == "INCH")
            {
                comp.CurrentThickness         = txtCurrentThickness.Text != "" ? (float)(double.Parse(txtCurrentThickness.Text) * convUnit.inch) : 0;
                comp.NominalThickness         = txtNominalThickness.Text != "" ? (float)(double.Parse(txtNominalThickness.Text) * convUnit.inch) : 0;         // in sang mm
                comp.MinReqThickness          = txtMinRequiredThickness.Text != "" ? (float)(double.Parse(txtMinRequiredThickness.Text) * convUnit.inch) : 0; // in sang mm
                comp.BrittleFractureThickness = txtBrittleFractureThickness.Text != "" ? (float)(double.Parse(txtBrittleFractureThickness.Text) * convUnit.inch) : 0;
                comp.StructuralThickness      = txtStructuralThickness.Text != "" ? (float)(double.Parse(txtStructuralThickness.Text) * convUnit.inch) : 0;
            }

            if (corrosionRate == "MMYR")
            {
                comp.CurrentCorrosionRate = txtCurrentCorrosionRate.Text != "" ? (float)double.Parse(txtCurrentCorrosionRate.Text) : 0;
            }
            else
            {
                comp.CurrentCorrosionRate = txtCurrentCorrosionRate.Text != "" ? (float)(double.Parse(txtCurrentCorrosionRate.Text) * convUnit.mil) : 0;  // mil/yr sang mm/yr
            }
            if (volumeUnit == "M3")
            {
                comp.ComponentVolume = txtComponentVolume.Text != "" ? float.Parse(txtComponentVolume.Text) : 0;
            }
            else
            {
                comp.ComponentVolume = txtComponentVolume.Text != "" ? (float)(double.Parse(txtComponentVolume.Text) * convUnit.ft3) : 0;
            }
            if (stressUnit == "KSI")
            {
                comp.AllowableStress = txtAllowableStress.Text != "" ? (float)(double.Parse(txtAllowableStress.Text) * convUnit.ksi) : 0;
            }
            else if (stressUnit == "PSI")
            {
                comp.AllowableStress = txtAllowableStress.Text != "" ? (float)(double.Parse(txtAllowableStress.Text) * convUnit.psi) : 0;
            }
            else if (stressUnit == "MPA")
            {
                comp.AllowableStress = txtAllowableStress.Text != "" ? float.Parse(txtAllowableStress.Text) : 0;
            }
            else if (stressUnit == "BAR")
            {
                comp.AllowableStress = txtAllowableStress.Text != "" ? (float)(double.Parse(txtAllowableStress.Text) * convUnit.bar) :0;
            }
            else if (stressUnit == "NM2")
            {
                comp.AllowableStress = txtAllowableStress.Text != "" ? (float)(double.Parse(txtAllowableStress.Text) * convUnit.NpM2) :0;
            }
            else
            {
                comp.AllowableStress = txtAllowableStress.Text != "" ? (float)(double.Parse(txtAllowableStress.Text) * convUnit.NpCM2) : 0;
            }
            comp.WeldJointEfficiency               = txtWeldJointEfficiency.Text != "" ? float.Parse(txtWeldJointEfficiency.Text) : 0;
            comp.ConfidenceCorrosionRate           = cbConfidenceCorrosionRate.Text;
            comp.CracksPresent                     = chkPresenceCracks.Checked ? 1 : 0;
            comp.MinimumStructuralThicknessGoverns = chkMinimumStructuralThicknessGoverns.Checked ? 1 : 0;
            //Governing Brittle Fracture Damage Factor
            comp.DeltaFATT                     = txtDeltaFATT.Text != "" ? float.Parse(txtDeltaFATT.Text) : 0;
            comp.FabricatedSteel               = chkFabricatedSteel.Checked ? 1 : 0;
            comp.EquipmentSatisfied            = chkEquipmentSatisfied.Checked ? 1 : 0;
            comp.NominalOperatingConditions    = chkNominalOperating.Checked ? 1 : 0;
            comp.CETGreaterOrEqual             = chkCETGreaterOrEqual.Checked ? 1 : 0;
            comp.CyclicServiceFatigueVibration = chkCyclicServiceFatigueVibration.Checked ? 1 : 0;
            comp.EquipmentCircuitShock         = chkEquipmentCircuitShock.Checked ? 1 : 0;
            //High Temperatur Hydrogen Attack Damage Factor
            comp.HTHADamageObserved = chkHTHADamageObserved.Checked ? 1 : 0;
            //Governing Stress Corrosion Cracking Damage Factor
            comp.BrinnelHardness = cbMaxBrillnessHardness.Text;
            //Governing External Damage Factor
            comp.ComplexityProtrusion = cbComplexityProtrusion.Text;
            //Fatigue Damage Factor
            comp.BranchDiameter           = cbBranchDiameter.Text;
            comp.BranchJointType          = cbJointTypeBranch.Text;
            comp.CorrectiveAction         = cbCorrectiveAction.Text;
            comp.CyclicLoadingWitin15_25m = cbCyclicLoading.Text;
            comp.NumberPipeFittings       = cbNumberFittingPipe.Text;
            comp.PipeCondition            = cbPipeCondition.Text;
            comp.PreviousFailures         = cbPreviousFailures.Text;
            comp.ShakingAmount            = cbAmountShakingPipe.Text;
            comp.ShakingDetected          = chkVisibleAudible.Checked ? 1 : 0;
            comp.ShakingTime = cbAccumalatedTimeShakingPipe.Text;
            return(comp);
        }
        public void ShowDatatoControl(int ID, string diameter, string thickness, string corrosionRate, string volumeUnit, string stressUnit)
        {
            RW_COMPONENT_BUS    comBus        = new RW_COMPONENT_BUS();
            BUS_UNITS           convUnit      = new BUS_UNITS();
            List <RW_COMPONENT> listComponent = comBus.getDataSource();

            foreach (RW_COMPONENT comp in listComponent)
            {
                if (comp.ID == ID)
                {
                    // mai
                    if (diameter == "INCH")
                    {
                        txtNominalDiameter.Text = (comp.NominalDiameter / convUnit.inch).ToString();                     // converst mm sang in
                    }
                    else if (diameter == "MM")
                    {
                        txtNominalDiameter.Text = comp.NominalDiameter.ToString();                       // giữ nguyên
                    }
                    if (thickness == "MM")
                    {
                        txtNominalThickness.Text         = comp.NominalThickness.ToString(); //giữ nguyên
                        txtMinRequiredThickness.Text     = comp.MinReqThickness.ToString();  //  giữ nguyên
                        txtCurrentThickness.Text         = comp.CurrentThickness.ToString();
                        txtBrittleFractureThickness.Text = comp.BrittleFractureThickness.ToString();
                        txtStructuralThickness.Text      = comp.StructuralThickness.ToString();
                    }
                    else if (thickness == "INCH")
                    {
                        txtNominalThickness.Text         = (comp.NominalThickness / convUnit.inch).ToString(); //converst mm sang in
                        txtMinRequiredThickness.Text     = (comp.MinReqThickness / convUnit.inch).ToString();  //convert mm sang in
                        txtCurrentThickness.Text         = (comp.CurrentThickness / convUnit.inch).ToString();
                        txtBrittleFractureThickness.Text = (comp.BrittleFractureThickness / convUnit.inch).ToString();
                        txtStructuralThickness.Text      = (comp.StructuralThickness / convUnit.inch).ToString();
                    }
                    if (corrosionRate == "MMYR")
                    {
                        txtCurrentCorrosionRate.Text = comp.CurrentCorrosionRate.ToString(); // converst mm sang mm
                    }
                    else
                    {
                        txtCurrentCorrosionRate.Text = (comp.CurrentCorrosionRate / convUnit.mil).ToString();  // converst mm sang mil
                    }
                    if (stressUnit == "KSI")
                    {
                        txtAllowableStress.Text = (comp.AllowableStress / convUnit.ksi).ToString();
                    }
                    else if (stressUnit == "PSI")
                    {
                        txtAllowableStress.Text = (comp.AllowableStress / convUnit.psi).ToString();
                    }
                    else if (stressUnit == "MPA")
                    {
                        txtAllowableStress.Text = (comp.AllowableStress).ToString();
                    }
                    else if (stressUnit == "BAR")
                    {
                        txtAllowableStress.Text = (comp.AllowableStress / convUnit.bar).ToString();
                    }
                    else if (stressUnit == "NM2")
                    {
                        txtAllowableStress.Text = (comp.AllowableStress / convUnit.NpM2).ToString();
                    }
                    else
                    {
                        txtAllowableStress.Text = (comp.AllowableStress / convUnit.NpCM2).ToString();
                    }

                    if (volumeUnit == "M3")
                    {
                        txtComponentVolume.Text = comp.ComponentVolume.ToString();
                    }
                    else
                    {
                        txtComponentVolume.Text = (comp.ComponentVolume / convUnit.ft3).ToString();
                    }

                    txtWeldJointEfficiency.Text = comp.WeldJointEfficiency.ToString();

                    //// end mai
                    chkMinimumStructuralThicknessGoverns.Checked = comp.MinimumStructuralThicknessGoverns == 1 ? true : false;
                    chkPresenceCracks.Checked                = comp.CracksPresent == 1 ? true : false;
                    txtDeltaFATT.Text                        = comp.DeltaFATT.ToString();
                    chkVisibleAudible.Checked                = comp.ShakingDetected == 1 ? true : false;
                    chkFabricatedSteel.Checked               = comp.FabricatedSteel == 1 ? true : false;
                    chkEquipmentSatisfied.Checked            = comp.EquipmentSatisfied == 1 ? true : false;
                    chkNominalOperating.Checked              = comp.NominalOperatingConditions == 1 ? true : false;
                    chkCETGreaterOrEqual.Checked             = comp.CETGreaterOrEqual == 1 ? true : false;
                    chkCyclicServiceFatigueVibration.Checked = comp.CyclicServiceFatigueVibration == 1 ? true : false;
                    chkEquipmentCircuitShock.Checked         = comp.EquipmentCircuitShock == 1 ? true : false;
                    chkHTHADamageObserved.Checked            = comp.HTHADamageObserved == 1 ? true : false;

                    for (int i = 0; i < itemsConfidenceCorrosionRate.Length; i++)
                    {
                        if (comp.ConfidenceCorrosionRate == itemsConfidenceCorrosionRate[i])
                        {
                            cbConfidenceCorrosionRate.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsAccumulatedTimeShaking.Length; i++)
                    {
                        if (comp.ShakingTime == itemsAccumulatedTimeShaking[i])
                        {
                            cbAccumalatedTimeShakingPipe.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsCorrectiveAction.Length; i++)
                    {
                        if (comp.CorrectiveAction == itemsCorrectiveAction[i])
                        {
                            cbCorrectiveAction.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsCyclicLoading.Length; i++)
                    {
                        if (comp.CyclicLoadingWitin15_25m == itemsCyclicLoading[i])
                        {
                            cbCyclicLoading.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsBranchDiameter.Length; i++)
                    {
                        if (comp.BranchDiameter == itemsBranchDiameter[i])
                        {
                            cbBranchDiameter.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsBranchJointType.Length; i++)
                    {
                        if (comp.BranchJointType == itemsBranchJointType[i])
                        {
                            cbJointTypeBranch.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsBrinnellHardness.Length; i++)
                    {
                        if (comp.BrinnelHardness == itemsBrinnellHardness[i])
                        {
                            cbMaxBrillnessHardness.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsNumberPipeFittings.Length; i++)
                    {
                        if (comp.NumberPipeFittings == itemsNumberPipeFittings[i])
                        {
                            cbNumberFittingPipe.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsPipeCondition.Length; i++)
                    {
                        if (comp.PipeCondition == itemsPipeCondition[i])
                        {
                            cbPipeCondition.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsPreviousFailure.Length; i++)
                    {
                        if (comp.PreviousFailures == itemsPreviousFailure[i])
                        {
                            cbPreviousFailures.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsAmountShaking.Length; i++)
                    {
                        if (comp.ShakingAmount == itemsAmountShaking[i])
                        {
                            cbAmountShakingPipe.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsComplexityProtrusion.Length; i++)
                    {
                        if (comp.ComplexityProtrusion == itemsComplexityProtrusion[i])
                        {
                            cbComplexityProtrusion.SelectedIndex = i + 1;
                        }
                    }
                }
            }
        }
Exemplo n.º 13
0
        public void ShowDatatoControl(int ID, string corrosionRate, string thicknessUnit)
        {
            RW_COATING_BUS BUS      = new RW_COATING_BUS();
            RW_COATING     coat     = BUS.getData(ID);
            BUS_UNITS      convUnit = new BUS_UNITS();

            String[] extQuality = { "No coating or poor quality", "Medium coating quality", "High coating quality" };
            String[] inType     = { "Organic - High Quality", "Organic - Medium Quality", "Organic - Low Quality", "Castable refractory", "Strip lined alloy", "Castable refractory severe condition", "Glass lined", "Acid Brick", "Fibreglass" };
            String[] inCon      = { "Good", "Average", "Poor", "Unknown" };
            String[] extType    = { "Foam Glass", "Pearlite", "Fibreglass", "Mineral Wool", "Calcium Silicate", "Asbestos" };
            String[] isuCon     = { "Above average", "Average", "Below average" };
            if (coat.ExternalCoating == 1)
            {
                chkExternalCoat.Checked = true;
            }
            else
            {
                chkExternalCoat.Checked = false;
            }

            if (coat.ExternalInsulation == 1)
            {
                chkExternalIsulation.Checked = true;
            }
            else
            {
                chkExternalIsulation.Checked = false;
            }

            if (coat.InternalCladding == 1)
            {
                chkInternalCladding.Checked = true;
            }
            else
            {
                chkInternalCladding.Checked = false;
            }

            if (coat.InternalCoating == 1)
            {
                chkInternalCoat.Checked = true;
            }
            else
            {
                chkInternalCoat.Checked = false;
            }

            if (coat.InternalLining == 1)
            {
                chkInternalLining.Checked = true;
            }
            else
            {
                chkInternalLining.Checked = false;
            }

            dateExternalCoating.DateTime = coat.ExternalCoatingDate;


            for (int i = 0; i < extQuality.Length; i++)
            {
                if (coat.ExternalCoatingQuality == extQuality[i])
                {
                    cbExternalCoatQuality.SelectedIndex = i;
                    break;
                }
            }
            for (int i = 0; i < extType.Length; i++)
            {
                if (coat.ExternalInsulationType == extType[i])
                {
                    cbExternalIsulation.SelectedIndex = i + 1;
                    break;
                }
            }
            for (int i = 0; i < inCon.Length; i++)
            {
                if (coat.InternalLinerCondition == inCon[i])
                {
                    cbInternalLinerCondition.SelectedIndex = i + 1;
                    break;
                }
            }

            if (coat.InsulationContainsChloride == 1)
            {
                chkInsulationContainsChlorides.Checked = true;
            }
            else
            {
                chkInsulationContainsChlorides.Checked = false;
            }

            for (int i = 0; i < inType.Length; i++)
            {
                if (coat.InternalLinerType == inType[i])
                {
                    cbInternalLinerType.SelectedIndex = i + 1;
                    break;
                }
            }
            if (thicknessUnit == "INCH")
            {
                txtCladdingThickness.Text = (coat.CladdingThickness / convUnit.inch).ToString();
            }
            else
            {
                txtCladdingThickness.Text = coat.CladdingThickness.ToString();
            }

            if (corrosionRate == "MMYR")
            {
                txtCladdingCorrosionRate.Text = coat.CladdingCorrosionRate.ToString();
            }
            else
            {
                txtCladdingCorrosionRate.Text = (coat.CladdingCorrosionRate / convUnit.mil).ToString();
            }

            if (coat.SupportConfigNotAllowCoatingMaint == 1)
            {
                chkSupport.Checked = true;
            }
            else
            {
                chkSupport.Checked = false;
            }

            for (int i = 0; i < isuCon.Length; i++)
            {
                if (coat.InsulationCondition == isuCon[i])
                {
                    cbIsulationCondition.SelectedIndex = i + 1;
                    break;
                }
            }
        }
Exemplo n.º 14
0
        private void ShowDataToControl(int ID, string diameter, string thickness, string corrosionRate)
        {
            RW_COMPONENT_BUS busCom   = new RW_COMPONENT_BUS();
            RW_COMPONENT     com      = busCom.getData(ID);
            BUS_UNITS        convUnit = new BUS_UNITS();

            if (diameter == "in")
            {
                txtTankDiameter.Text = (com.NominalDiameter / convUnit.inch).ToString();                  // converst mm sang in
            }
            else if (diameter == "mm")
            {
                txtTankDiameter.Text = com.NominalDiameter.ToString();                        // giữ nguyên
            }
            else
            {
                txtTankDiameter.Text = (com.NominalDiameter / 1000).ToString();  // converst mm sang m
            }
            if (thickness == "mm")
            {
                txtNominalThickness.Text     = com.NominalThickness.ToString(); //giữ nguyên
                txtCurrentThickness.Text     = com.CurrentThickness.ToString(); // giữ nguyên
                txtMinRequiredThickness.Text = com.MinReqThickness.ToString();  //  giữ nguyên
            }
            else if (thickness == "in")
            {
                txtNominalThickness.Text     = (com.NominalThickness / convUnit.inch).ToString(); //converst mm sang in
                txtCurrentThickness.Text     = (com.CurrentThickness / convUnit.inch).ToString(); //converst mm sang in
                txtMinRequiredThickness.Text = (com.MinReqThickness / convUnit.inch).ToString();  //converst mm sang in
            }
            else
            {
                txtNominalThickness.Text     = (com.NominalThickness / 1000).ToString(); // converst mm sang m
                txtCurrentThickness.Text     = (com.CurrentThickness / 1000).ToString(); // converst mm sang m
                txtMinRequiredThickness.Text = (com.MinReqThickness / 1000).ToString();  // converst mm sang m
            }

            if (corrosionRate == "mm/yr")
            {
                txtCurrentCorrosionRate.Text = com.CurrentCorrosionRate.ToString();                           // converst mm sang mm
            }
            else
            {
                txtCurrentCorrosionRate.Text = (com.CurrentCorrosionRate / convUnit.mil).ToString();  // converst mm sang mil
            }
            txtShellCourseHeight.Text = com.ShellHeight.ToString();
            chkDamageFoundDuringInspection.Checked = com.DamageFoundInspection == 1 ? true : false;
            chkConcreteAsphalt.Checked             = com.ConcreteFoundation == 1 ? true : false;
            chkPresenceCracks.Checked    = com.CracksPresent == 1 ? true : false;
            chkPreventionBarrier.Checked = com.ReleasePreventionBarrier == 1 ? true : false;
            chkTrampElements.Checked     = com.TrampElements == 1 ? true : false;
            for (int i = 0; i < itemsBrinnellHardness.Length; i++)
            {
                if (itemsBrinnellHardness[i] == com.BrinnelHardness)
                {
                    cbMaxBrillnessHardness.SelectedIndex = i + 1;
                    break;
                }
            }
            for (int i = 0; i < itemsComplexityProtrusion.Length; i++)
            {
                if (itemsComplexityProtrusion[i] == com.ComplexityProtrusion)
                {
                    cbComplexityProtrusion.SelectedIndex = i + 1;
                    break;
                }
            }
            for (int i = 0; i < itemsSeverity.Length; i++)
            {
                if (itemsSeverity[i] == com.SeverityOfVibration)
                {
                    cbSeverityVibration.SelectedIndex = i + 1;
                    break;
                }
            }
        }
        public RW_MATERIAL getData(int ID, string temUnit, string pressureUnit, string corrosionUnit)
        {
            RW_MATERIAL ma       = new RW_MATERIAL();
            BUS_UNITS   convUnit = new BUS_UNITS();

            ma.ID           = ID;
            ma.MaterialName = txtMaterial.Text;
            switch (temUnit)
            {
            case "DEG_C":
                ma.DesignTemperature    = txtMaxDesignTemperature.Text != "" ? float.Parse(txtMaxDesignTemperature.Text) : 0;
                ma.MinDesignTemperature = txtMinDesignTemperature.Text != "" ? float.Parse(txtMinDesignTemperature.Text) : 0;
                ma.ReferenceTemperature = txtReferenceTemperature.Text != "" ? float.Parse(txtReferenceTemperature.Text) : 0;
                break;

            case "DEG_F":
                ma.DesignTemperature    = txtMaxDesignTemperature.Text != "" ? (float)convUnit.FahToCel(float.Parse(txtMaxDesignTemperature.Text)) : 0;
                ma.MinDesignTemperature = txtMinDesignTemperature.Text != "" ? (float)convUnit.FahToCel(float.Parse(txtMinDesignTemperature.Text)) : 0;
                ma.ReferenceTemperature = txtReferenceTemperature.Text != "" ? (float)convUnit.FahToCel(float.Parse(txtReferenceTemperature.Text)) : 0;
                break;

            case "K":
                ma.DesignTemperature    = txtMaxDesignTemperature.Text != "" ? (float)convUnit.KenvinToCel(float.Parse(txtMaxDesignTemperature.Text)) : 0;
                ma.MinDesignTemperature = txtMinDesignTemperature.Text != "" ? (float)convUnit.KenvinToCel(float.Parse(txtMinDesignTemperature.Text)) : 0;
                ma.ReferenceTemperature = txtReferenceTemperature.Text != "" ? (float)convUnit.KenvinToCel(float.Parse(txtReferenceTemperature.Text)) : 0;
                break;
            }

            switch (pressureUnit)
            {
            case "PSI":
                ma.YieldStrength   = txtYieldStrength.Text != "" ? float.Parse(txtYieldStrength.Text) * (float)convUnit.psi : 0;
                ma.TensileStrength = txtTensileStrength.Text != "" ? float.Parse(txtTensileStrength.Text) * (float)convUnit.psi : 0;
                ma.DesignPressure  = txtDesignPressure.Text != "" ? float.Parse(txtDesignPressure.Text) * (float)convUnit.psi : 0;
                break;

            case "KSI":
                ma.YieldStrength   = txtYieldStrength.Text != "" ? float.Parse(txtYieldStrength.Text) * (float)convUnit.ksi : 0;
                ma.TensileStrength = txtTensileStrength.Text != "" ? float.Parse(txtTensileStrength.Text) * (float)convUnit.ksi : 0;
                ma.DesignPressure  = txtDesignPressure.Text != "" ? float.Parse(txtDesignPressure.Text) * (float)convUnit.ksi : 0;
                break;

            case "BAR":
                ma.YieldStrength   = txtYieldStrength.Text != "" ? float.Parse(txtYieldStrength.Text) * (float)convUnit.bar : 0;
                ma.TensileStrength = txtTensileStrength.Text != "" ? float.Parse(txtTensileStrength.Text) * (float)convUnit.bar : 0;
                ma.DesignPressure  = txtDesignPressure.Text != "" ? float.Parse(txtDesignPressure.Text) * (float)convUnit.bar : 0;
                break;

            case "MPA":
                ma.YieldStrength   = txtYieldStrength.Text != "" ? float.Parse(txtYieldStrength.Text) : 0;
                ma.TensileStrength = txtTensileStrength.Text != "" ? float.Parse(txtTensileStrength.Text) : 0;
                ma.DesignPressure  = txtDesignPressure.Text != "" ? float.Parse(txtDesignPressure.Text) : 0;
                break;

            case "NM2":
                ma.YieldStrength   = txtYieldStrength.Text != "" ? float.Parse(txtYieldStrength.Text) * (float)convUnit.NpM2 : 0;
                ma.TensileStrength = txtTensileStrength.Text != "" ? float.Parse(txtTensileStrength.Text) * (float)convUnit.NpM2 : 0;
                ma.DesignPressure  = txtDesignPressure.Text != "" ? float.Parse(txtDesignPressure.Text) * (float)convUnit.NpM2 : 0;
                break;

            case "NCM2":
                ma.YieldStrength   = txtYieldStrength.Text != "" ? float.Parse(txtYieldStrength.Text) * (float)convUnit.NpCM2 : 0;
                ma.TensileStrength = txtTensileStrength.Text != "" ? float.Parse(txtTensileStrength.Text) * (float)convUnit.NpCM2 : 0;
                ma.DesignPressure  = txtDesignPressure.Text != "" ? float.Parse(txtDesignPressure.Text) * (float)convUnit.NpCM2 : 0;
                break;
            }

            switch (corrosionUnit)
            {
            case "mm":
                ma.CorrosionAllowance = txtCorrosionAllowance.Text != "" ? float.Parse(txtCorrosionAllowance.Text) : 0;
                break;

            case "mil":
                ma.CorrosionAllowance = txtCorrosionAllowance.Text != "" ? float.Parse(txtCorrosionAllowance.Text) * (float)convUnit.mil : 0;
                break;
            }

            ma.SulfurContent     = cbSulfurContent.Text;
            ma.PTAMaterialCode   = cbPTAMaterialGrade.Text;
            ma.IsPTA             = chkIsPTASeverity.Checked ? 1 : 0;
            ma.Austenitic        = chkAusteniticSteel.Checked ? 1 : 0;
            ma.CarbonLowAlloy    = chkCarbonLowAlloySteel.Checked ? 1 : 0;
            ma.NickelBased       = chkNickelAlloy.Checked ? 1 : 0;
            ma.ChromeMoreEqual12 = chkChromium.Checked ? 1 : 0;
            ma.CostFactor        = txtMaterialCostFactor.Text != "" ? float.Parse(txtMaterialCostFactor.Text) : 0;
            return(ma);
        }
Exemplo n.º 16
0
        public RW_MATERIAL getData(int ID, string temUnit, string pressureUnit, string stressUnit, string thicknessUnit, string corrosionUnit)
        {
            RW_MATERIAL ma       = new RW_MATERIAL();
            BUS_UNITS   convUnit = new BUS_UNITS();

            ma.ID           = ID;
            ma.MaterialName = txtMaterial.Text;
            switch (temUnit)
            {
            case "DEG_C":
                ma.DesignTemperature    = txtMaxDesignTemperature.Text != "" ? float.Parse(txtMaxDesignTemperature.Text) : 0;
                ma.MinDesignTemperature = txtMinDesignTemperature.Text != "" ? float.Parse(txtMinDesignTemperature.Text) : 0;
                ma.ReferenceTemperature = txtReferenceTemperature.Text != "" ? float.Parse(txtReferenceTemperature.Text) : 0;
                break;

            case "DEG_F":
                ma.DesignTemperature    = txtMaxDesignTemperature.Text != "" ? (float)convUnit.FahToCel(float.Parse(txtMaxDesignTemperature.Text)) : 0;
                ma.MinDesignTemperature = txtMinDesignTemperature.Text != "" ? (float)convUnit.FahToCel(float.Parse(txtMinDesignTemperature.Text)) : 0;
                ma.ReferenceTemperature = txtReferenceTemperature.Text != "" ? (float)convUnit.FahToCel(float.Parse(txtReferenceTemperature.Text)) : 0;
                break;

            case "K":
                ma.DesignTemperature    = txtMaxDesignTemperature.Text != "" ? (float)convUnit.KenvinToCel(float.Parse(txtMaxDesignTemperature.Text)) : 0;
                ma.MinDesignTemperature = txtMinDesignTemperature.Text != "" ? (float)convUnit.KenvinToCel(float.Parse(txtMinDesignTemperature.Text)) : 0;
                ma.ReferenceTemperature = txtReferenceTemperature.Text != "" ? (float)convUnit.KenvinToCel(float.Parse(txtReferenceTemperature.Text)) : 0;
                break;
            }

            switch (pressureUnit)
            {
            case "psi":
                ma.DesignPressure = txtDesignPressure.Text != "" ? float.Parse(txtDesignPressure.Text) : 0;
                break;

            case "KSI":
                ma.DesignPressure = txtDesignPressure.Text != "" ? float.Parse(txtDesignPressure.Text) * (float)convUnit.ksi : 0;
                break;

            case "bar":
                ma.DesignPressure = txtDesignPressure.Text != "" ? float.Parse(txtDesignPressure.Text) * (float)convUnit.bar : 0;
                break;

            case "MPa":
                ma.DesignPressure = txtDesignPressure.Text != "" ? float.Parse(txtDesignPressure.Text) * (float)convUnit.MPa : 0;
                break;

            case "N/m2":
                ma.DesignPressure = txtDesignPressure.Text != "" ? float.Parse(txtDesignPressure.Text) * (float)convUnit.NpM2 : 0;
                break;

            case "N/cm2":
                ma.DesignPressure = txtDesignPressure.Text != "" ? float.Parse(txtDesignPressure.Text) * (float)convUnit.NpCM2 : 0;
                break;
            }

            switch (stressUnit)
            {
            case "psi":
                ma.AllowableStress = txtAllowableStress.Text != "" ? float.Parse(txtAllowableStress.Text) : 0;
                break;

            case "KSI":
                ma.AllowableStress = txtAllowableStress.Text != "" ? float.Parse(txtAllowableStress.Text) * (float)convUnit.ksi : 0;
                break;

            case "bar":
                ma.AllowableStress = txtAllowableStress.Text != "" ? float.Parse(txtAllowableStress.Text) * (float)convUnit.bar : 0;
                break;

            case "MPa":
                ma.AllowableStress = txtAllowableStress.Text != "" ? float.Parse(txtAllowableStress.Text) * (float)convUnit.MPa : 0;
                break;

            case "N/m2":
                ma.AllowableStress = txtAllowableStress.Text != "" ? float.Parse(txtAllowableStress.Text) * (float)convUnit.NpM2 : 0;
                break;

            case "N/cm2":
                ma.AllowableStress = txtAllowableStress.Text != "" ? float.Parse(txtAllowableStress.Text) * (float)convUnit.NpCM2 : 0;
                break;
            }

            switch (corrosionUnit)
            {
            case "mm":
                ma.CorrosionAllowance = txtCorrosionAllowance.Text != "" ? float.Parse(txtCorrosionAllowance.Text) : 0;
                break;

            case "mil":
                ma.CorrosionAllowance = txtCorrosionAllowance.Text != "" ? float.Parse(txtCorrosionAllowance.Text) * (float)convUnit.mil : 0;
                break;
            }

            switch (thicknessUnit)
            {
            case "mm":
                ma.BrittleFractureThickness = txtBrittleFracture.Text != "" ? float.Parse(txtBrittleFracture.Text) : 0;
                break;

            case "in":
                ma.BrittleFractureThickness = txtBrittleFracture.Text != "" ? float.Parse(txtBrittleFracture.Text) * (float)convUnit.inch : 0;
                break;

            case "m":
                ma.BrittleFractureThickness = txtBrittleFracture.Text != "" ? float.Parse(txtBrittleFracture.Text) * (float)convUnit.meter : 0;
                break;
            }
            ma.SulfurContent     = cbSulfurContent.Text;
            ma.HeatTreatment     = cbHeatTreatment.Text;
            ma.PTAMaterialCode   = cbPTAMaterialGrade.Text;
            ma.IsPTA             = chkIsPTASeverity.Checked ? 1 : 0;
            ma.Austenitic        = chkAusteniticSteel.Checked ? 1 : 0;
            ma.CarbonLowAlloy    = chkCarbonLowAlloySteel.Checked ? 1 : 0;
            ma.NickelBased       = chkNickelAlloy.Checked ? 1 : 0;
            ma.ChromeMoreEqual12 = chkChromium.Checked ? 1 : 0;
            ma.CostFactor        = txtMaterialCostFactor.Text != "" ? float.Parse(txtMaterialCostFactor.Text) : 0;
            return(ma);
        }
        public void ShowDatatoControl(int ID, string diameter, string thickness, string corrosionRate)
        {
            RW_COMPONENT_BUS    comBus        = new RW_COMPONENT_BUS();
            BUS_UNITS           convUnit      = new BUS_UNITS();
            List <RW_COMPONENT> listComponent = comBus.getDataSource();

            foreach (RW_COMPONENT comp in listComponent)
            {
                if (comp.ID == ID)
                {
                    ////// mai
                    if (diameter == "in")
                    {
                        txtNominalDiameter.Text = (comp.NominalDiameter / convUnit.inch).ToString();                   // converst mm sang in
                    }
                    else if (diameter == "mm")
                    {
                        txtNominalDiameter.Text = comp.NominalDiameter.ToString();                        // giữ nguyên
                    }
                    else
                    {
                        txtNominalDiameter.Text = (comp.NominalDiameter / 1000).ToString(); // converst mm sang m
                    }
                    if (thickness == "mm")
                    {
                        txtNominalThickness.Text     = comp.NominalThickness.ToString(); //giữ nguyên
                        txtCurrentThickness.Text     = comp.CurrentThickness.ToString(); // giữ nguyên
                        txtMinRequiredThickness.Text = comp.MinReqThickness.ToString();  //  giữ nguyên
                    }
                    else if (thickness == "in")
                    {
                        txtNominalThickness.Text     = (comp.NominalThickness / convUnit.inch).ToString(); //converst mm sang in
                        txtCurrentThickness.Text     = (comp.CurrentThickness / convUnit.inch).ToString(); //converst mm sang in
                        txtMinRequiredThickness.Text = (comp.MinReqThickness / convUnit.inch).ToString();  //converst mm sang in
                    }
                    else
                    {
                        txtNominalThickness.Text     = (comp.NominalThickness / 1000).ToString(); // converst mm sang m
                        txtCurrentThickness.Text     = (comp.CurrentThickness / 1000).ToString(); // converst mm sang m
                        txtMinRequiredThickness.Text = (comp.MinReqThickness / 1000).ToString();  // converst mm sang m
                    }

                    if (corrosionRate == "mm/yr")
                    {
                        txtCurrentCorrosionRate.Text = comp.CurrentCorrosionRate.ToString();                           // converst mm sang mm
                    }
                    else
                    {
                        txtCurrentCorrosionRate.Text = (comp.CurrentCorrosionRate / convUnit.mil).ToString(); // converst mm sang mil
                    }
                    //// end mai

                    chkPresenceCracks.Checked              = comp.CracksPresent == 1 ? true : false;
                    chkPresenceInjectionMixPoint.Checked   = comp.ChemicalInjection == 1 ? true : false;
                    chkHighlyEffectiveMixPoint.Checked     = comp.HighlyInjectionInsp == 1 ? true : false;
                    chkDamageFoundDuringInspection.Checked = comp.DamageFoundInspection == 1 ? true : false;
                    txtDeltaFATT.Text         = comp.DeltaFATT.ToString();
                    chkVisibleAudible.Checked = comp.ShakingDetected == 1 ? true : false;
                    chkTrampElements.Checked  = comp.TrampElements == 1 ? true : false;

                    for (int i = 0; i < itemsAccumulatedTimeShaking.Length; i++)
                    {
                        if (comp.ShakingTime == itemsAccumulatedTimeShaking[i])
                        {
                            cbAccumalatedTimeShakingPipe.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsCorrectiveAction.Length; i++)
                    {
                        if (comp.CorrectiveAction == itemsCorrectiveAction[i])
                        {
                            cbCorrectiveAction.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsCyclicLoading.Length; i++)
                    {
                        if (comp.CyclicLoadingWitin15_25m == itemsCyclicLoading[i])
                        {
                            cbCyclicLoading.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsBranchDiameter.Length; i++)
                    {
                        if (comp.BranchDiameter == itemsBranchDiameter[i])
                        {
                            cbBranchDiameter.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsBranchJointType.Length; i++)
                    {
                        if (comp.BranchJointType == itemsBranchJointType[i])
                        {
                            cbJointTypeBranch.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsBrinnellHardness.Length; i++)
                    {
                        if (comp.BrinnelHardness == itemsBrinnellHardness[i])
                        {
                            cbMaxBrillnessHardness.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsNumberPipeFittings.Length; i++)
                    {
                        if (comp.NumberPipeFittings == itemsNumberPipeFittings[i])
                        {
                            cbNumberFittingPipe.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsPipeCondition.Length; i++)
                    {
                        if (comp.PipeCondition == itemsPipeCondition[i])
                        {
                            cbPipeCondition.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsPreviousFailure.Length; i++)
                    {
                        if (comp.PreviousFailures == itemsPreviousFailure[i])
                        {
                            cbPreviousFailures.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsAmountShaking.Length; i++)
                    {
                        if (comp.ShakingAmount == itemsAmountShaking[i])
                        {
                            cbAmountShakingPipe.SelectedIndex = i + 1;
                        }
                    }
                    for (int i = 0; i < itemsProtrusionComplexity.Length; i++)
                    {
                        if (comp.ComplexityProtrusion == itemsProtrusionComplexity[i])
                        {
                            cbComplexityProtrusion.SelectedIndex = i + 1;
                        }
                    }
                }
            }
        }
        public RW_STREAM getDataforStream(int ID, string temperatureUnit, string pressureUnit, string flowRateUnit)
        {
            RW_STREAM str      = new RW_STREAM();
            BUS_UNITS convUnit = new BUS_UNITS();

            str.ID = ID;
            if (flowRateUnit == "m3/hr")
            {
                str.FlowRate = txtFlowRate.Text != "" ? float.Parse(txtFlowRate.Text) : 0;
            }
            else
            {
                str.FlowRate = txtFlowRate.Text != "" ? float.Parse(txtFlowRate.Text) * (float)convUnit.ft3 : 0;
            }
            switch (temperatureUnit)
            {
            case "DEG_C":
                str.MaxOperatingTemperature     = txtMaximumOperatingTemp.Text != "" ? float.Parse(txtMaximumOperatingTemp.Text) : 0;
                str.MinOperatingTemperature     = txtMinimumOperatingTemp.Text != "" ? float.Parse(txtMinimumOperatingTemp.Text) : 0;
                str.CriticalExposureTemperature = txtCriticalExposure.Text != "" ? float.Parse(txtCriticalExposure.Text) : 0;
                break;

            case "DEG_F":
                str.MaxOperatingTemperature     = txtMaximumOperatingTemp.Text != "" ? (float)convUnit.FahToCel(float.Parse(txtMaximumOperatingTemp.Text)) : 0;
                str.MinOperatingTemperature     = txtMinimumOperatingTemp.Text != "" ? (float)convUnit.FahToCel(float.Parse(txtMinimumOperatingTemp.Text)) : 0;
                str.CriticalExposureTemperature = txtCriticalExposure.Text != "" ? (float)convUnit.FahToCel(float.Parse(txtCriticalExposure.Text)) : 0;
                break;

            case "K":
                str.MaxOperatingTemperature     = txtMaximumOperatingTemp.Text != "" ? (float)convUnit.KenvinToCel(float.Parse(txtMaximumOperatingTemp.Text)) : 0;
                str.MinOperatingTemperature     = txtMinimumOperatingTemp.Text != "" ? (float)convUnit.KenvinToCel(float.Parse(txtMinimumOperatingTemp.Text)) : 0;
                str.CriticalExposureTemperature = txtCriticalExposure.Text != "" ? (float)convUnit.KenvinToCel(float.Parse(txtCriticalExposure.Text)) : 0;
                break;
            }
            switch (pressureUnit)
            {
            case "psi":
                str.MaxOperatingPressure = txtMaxOperatingPressure.Text != "" ? float.Parse(txtMaxOperatingPressure.Text) : 0;
                str.MinOperatingPressure = txtMinOperatingPressure.Text != "" ? float.Parse(txtMinOperatingPressure.Text) : 0;
                str.H2SPartialPressure   = txtOperatingHydrogen.Text != "" ? float.Parse(txtOperatingHydrogen.Text) : 0;
                break;

            case "KSI":
                str.MaxOperatingPressure = txtMaxOperatingPressure.Text != "" ? float.Parse(txtMaxOperatingPressure.Text) * (float)convUnit.ksi : 0;
                str.MinOperatingPressure = txtMinOperatingPressure.Text != "" ? float.Parse(txtMinOperatingPressure.Text) * (float)convUnit.ksi : 0;
                str.H2SPartialPressure   = txtOperatingHydrogen.Text != "" ? float.Parse(txtOperatingHydrogen.Text) * (float)convUnit.ksi : 0;
                break;

            case "bar":
                str.MaxOperatingPressure = txtMaxOperatingPressure.Text != "" ? float.Parse(txtMaxOperatingPressure.Text) * (float)convUnit.bar : 0;
                str.MinOperatingPressure = txtMinOperatingPressure.Text != "" ? float.Parse(txtMinOperatingPressure.Text) * (float)convUnit.bar : 0;
                str.H2SPartialPressure   = txtOperatingHydrogen.Text != "" ? float.Parse(txtOperatingHydrogen.Text) * (float)convUnit.bar : 0;
                break;

            case "MPa":
                str.MaxOperatingPressure = txtMaxOperatingPressure.Text != "" ? float.Parse(txtMaxOperatingPressure.Text) * (float)convUnit.MPa : 0;
                str.MinOperatingPressure = txtMinOperatingPressure.Text != "" ? float.Parse(txtMinOperatingPressure.Text) * (float)convUnit.MPa : 0;
                str.H2SPartialPressure   = txtOperatingHydrogen.Text != "" ? float.Parse(txtOperatingHydrogen.Text) * (float)convUnit.MPa : 0;
                break;

            case "NpM2":
                str.MaxOperatingPressure = txtMaxOperatingPressure.Text != "" ? float.Parse(txtMaxOperatingPressure.Text) * (float)convUnit.NpM2 : 0;
                str.MinOperatingPressure = txtMinOperatingPressure.Text != "" ? float.Parse(txtMinOperatingPressure.Text) * (float)convUnit.NpM2 : 0;
                str.H2SPartialPressure   = txtOperatingHydrogen.Text != "" ? float.Parse(txtOperatingHydrogen.Text) * (float)convUnit.NpM2 : 0;
                break;

            case "NpCM2":
                str.MaxOperatingPressure = txtMaxOperatingPressure.Text != "" ? float.Parse(txtMaxOperatingPressure.Text) * (float)convUnit.NpCM2 : 0;
                str.MinOperatingPressure = txtMinOperatingPressure.Text != "" ? float.Parse(txtMinOperatingPressure.Text) * (float)convUnit.NpCM2 : 0;
                str.H2SPartialPressure   = txtOperatingHydrogen.Text != "" ? float.Parse(txtOperatingHydrogen.Text) * (float)convUnit.NpCM2 : 0;
                break;
            }

            return(str);
        }
Exemplo n.º 19
0
        public void ShowDatatoControl(int id, string temperatureUnit, string pressureUnit, string corrosionUnit)
        {
            RW_MATERIAL_BUS BUS      = new RW_MATERIAL_BUS();
            RW_MATERIAL     obj      = BUS.getData(id);
            BUS_UNITS       convUnit = new BUS_UNITS();

            txtMaterial.Text = obj.MaterialName;
            switch (temperatureUnit)
            {
            case "DEG_C":
                txtMaxDesignTemperature.Text = obj.DesignTemperature.ToString();
                txtMinDesignTemperature.Text = obj.MinDesignTemperature.ToString();
                txtReferenceTemperature.Text = obj.ReferenceTemperature.ToString();
                break;

            case "DEG_F":
                txtMaxDesignTemperature.Text = (convUnit.CelToFah(obj.DesignTemperature)).ToString();
                txtMinDesignTemperature.Text = (convUnit.CelToFah(obj.MinDesignTemperature)).ToString();
                txtReferenceTemperature.Text = (convUnit.CelToFah(obj.ReferenceTemperature)).ToString();
                break;

            case "K":
                txtMaxDesignTemperature.Text = (convUnit.CelToKenvin(obj.DesignTemperature)).ToString();
                txtMinDesignTemperature.Text = (convUnit.CelToKenvin(obj.MinDesignTemperature)).ToString();
                txtReferenceTemperature.Text = (convUnit.CelToKenvin(obj.ReferenceTemperature)).ToString();
                break;
            }

            switch (pressureUnit)
            {
            case "PSI":
                txtDesignPressure.Text  = (obj.DesignPressure / convUnit.psi).ToString();
                txtYieldStrength.Text   = (obj.YieldStrength / convUnit.psi).ToString();
                txtTensileStrength.Text = (obj.TensileStrength / convUnit.psi).ToString();
                break;

            case "KSI":
                txtDesignPressure.Text  = (obj.DesignPressure / convUnit.ksi).ToString();
                txtYieldStrength.Text   = (obj.YieldStrength / convUnit.ksi).ToString();
                txtTensileStrength.Text = (obj.TensileStrength / convUnit.ksi).ToString();
                break;

            case "BAR":
                txtDesignPressure.Text  = (obj.DesignPressure / convUnit.bar).ToString();
                txtYieldStrength.Text   = (obj.YieldStrength / convUnit.bar).ToString();
                txtTensileStrength.Text = (obj.TensileStrength / convUnit.bar).ToString();
                break;

            case "MPA":
                txtDesignPressure.Text  = (obj.DesignPressure).ToString();
                txtYieldStrength.Text   = (obj.YieldStrength).ToString();
                txtTensileStrength.Text = (obj.TensileStrength).ToString();
                break;

            case "NM2":
                txtDesignPressure.Text  = (obj.DesignPressure / convUnit.NpM2).ToString();
                txtYieldStrength.Text   = (obj.YieldStrength / convUnit.NpM2).ToString();
                txtTensileStrength.Text = (obj.TensileStrength / convUnit.NpM2).ToString();
                break;

            case "NCM2":
                txtDesignPressure.Text  = (obj.DesignPressure / convUnit.NpCM2).ToString();
                txtYieldStrength.Text   = (obj.YieldStrength / convUnit.NpCM2).ToString();
                txtTensileStrength.Text = (obj.TensileStrength / convUnit.NpCM2).ToString();
                break;
            }

            switch (corrosionUnit)
            {
            case "MM":
                txtCorrosionAllowance.Text = obj.CorrosionAllowance.ToString();
                break;

            case "MIL":
                txtCorrosionAllowance.Text = (obj.CorrosionAllowance / convUnit.mil).ToString();
                break;
            }
            txtSigmaPhase.Text = obj.SigmaPhase.ToString();
            for (int i = 0; i < itemsSulfurContent.Length; i++)
            {
                if (obj.SulfurContent == itemsSulfurContent[i])
                {
                    cbSulfurContent.SelectedIndex = i + 1;
                    break;
                }
            }
            for (int i = 0; i < itemsPTAMterial.Length; i++)
            {
                if (obj.PTAMaterialCode == itemsPTAMterial[i])
                {
                    cbPTAMaterialGrade.SelectedIndex = i + 1;
                    break;
                }
            }
            for (int i = 0; i < itemsHTHAMaterial.Length; i++)
            {
                if (obj.HTHAMaterialCode == itemsHTHAMaterial[i])
                {
                    cbHTHAMaterial.SelectedIndex = i + 1;
                    break;
                }
            }
            chkIsPTASeverity.Checked       = Convert.ToBoolean(obj.IsPTA);
            chkIsHTHASeverity.Checked      = Convert.ToBoolean(obj.IsHTHA);
            chkAusteniticSteel.Checked     = Convert.ToBoolean(obj.Austenitic);
            chkSusceptibleTemper.Checked   = Convert.ToBoolean(obj.Temper);
            chkCarbonLowAlloySteel.Checked = Convert.ToBoolean(obj.CarbonLowAlloy);
            chkNickelAlloy.Checked         = Convert.ToBoolean(obj.NickelBased);
            chkChromium.Checked            = Convert.ToBoolean(obj.ChromeMoreEqual12);
            txtTensileStrength.Text        = obj.TensileStrength.ToString();
            txtYieldStrength.Text          = obj.YieldStrength.ToString();
            txtMaterialCostFactor.Text     = obj.CostFactor.ToString();
        }
        private void ShowDataToForm(int ID, string temperatureUnit, string pressureUnit, string flowRateUnit)
        {
            RW_STREAM_BUS             SteamBus = new RW_STREAM_BUS();
            RW_EXTCOR_TEMPERATURE_BUS tempBus  = new RW_EXTCOR_TEMPERATURE_BUS();
            RW_STREAM             objSteam     = SteamBus.getData(ID);
            RW_EXTCOR_TEMPERATURE extTemp      = tempBus.getData(ID);
            BUS_UNITS             convUnit     = new BUS_UNITS();

            switch (temperatureUnit)
            {
            case "DEG_C":
                txtMaximumOperatingTemp.Text = objSteam.MaxOperatingTemperature.ToString();
                txtMinimumOperatingTemp.Text = objSteam.MinOperatingTemperature.ToString();
                txtCriticalExposure.Text     = objSteam.CriticalExposureTemperature.ToString();
                break;

            case "DEG_F":
                txtMaximumOperatingTemp.Text = convUnit.CelToFah(objSteam.MaxOperatingTemperature).ToString();
                txtMinimumOperatingTemp.Text = convUnit.CelToFah(objSteam.MinOperatingTemperature).ToString();
                txtCriticalExposure.Text     = convUnit.CelToFah(objSteam.CriticalExposureTemperature).ToString();
                Console.WriteLine("Hha");
                break;

            case "K":
                txtMaximumOperatingTemp.Text = convUnit.CelToKenvin(objSteam.MaxOperatingTemperature).ToString();
                txtMinimumOperatingTemp.Text = convUnit.CelToKenvin(objSteam.MinOperatingTemperature).ToString();
                txtCriticalExposure.Text     = convUnit.CelToKenvin(objSteam.CriticalExposureTemperature).ToString();
                break;
            }
            switch (pressureUnit)
            {
            case "psi":
                txtMaxOperatingPressure.Text = objSteam.MaxOperatingPressure.ToString();
                txtMinOperatingPressure.Text = objSteam.MinOperatingPressure.ToString();
                txtOperatingHydrogen.Text    = objSteam.H2SPartialPressure.ToString();
                break;

            case "KSI":
                txtMaxOperatingPressure.Text = (objSteam.MaxOperatingPressure / convUnit.ksi).ToString();
                txtMinOperatingPressure.Text = (objSteam.MinOperatingPressure / convUnit.ksi).ToString();
                txtOperatingHydrogen.Text    = (objSteam.H2SPartialPressure / convUnit.ksi).ToString();
                break;

            case "bar":
                txtMaxOperatingPressure.Text = (objSteam.MaxOperatingPressure / convUnit.bar).ToString();
                txtMinOperatingPressure.Text = (objSteam.MinOperatingPressure / convUnit.bar).ToString();
                txtOperatingHydrogen.Text    = (objSteam.H2SPartialPressure / convUnit.bar).ToString();
                break;

            case "MPa":
                txtMaxOperatingPressure.Text = (objSteam.MaxOperatingPressure / convUnit.MPa).ToString();
                txtMinOperatingPressure.Text = (objSteam.MinOperatingPressure / convUnit.MPa).ToString();
                txtOperatingHydrogen.Text    = (objSteam.H2SPartialPressure / convUnit.MPa).ToString();
                break;

            case "N/m2":
                txtMaxOperatingPressure.Text = (objSteam.MaxOperatingPressure / convUnit.NpM2).ToString();
                txtMinOperatingPressure.Text = (objSteam.MinOperatingPressure / convUnit.NpM2).ToString();
                txtOperatingHydrogen.Text    = (objSteam.H2SPartialPressure / convUnit.NpM2).ToString();
                break;

            case "N/cm2":
                txtMaxOperatingPressure.Text = (objSteam.MaxOperatingPressure / convUnit.NpCM2).ToString();
                txtMinOperatingPressure.Text = (objSteam.MinOperatingPressure / convUnit.NpCM2).ToString();
                txtOperatingHydrogen.Text    = (objSteam.H2SPartialPressure / convUnit.NpCM2).ToString();
                break;
            }
            switch (flowRateUnit)
            {
            case "ft3/hr":
                txtFlowRate.Text = (objSteam.FlowRate / convUnit.ft3).ToString();
                break;

            case "m3/hr":
                txtFlowRate.Text = objSteam.FlowRate.ToString();
                break;
            }

            txtOp12.Text  = extTemp.Minus12ToMinus8.ToString();
            txtOp8.Text   = extTemp.Minus8ToPlus6.ToString();
            txtOp6.Text   = extTemp.Plus6ToPlus32.ToString();
            txtOp32.Text  = extTemp.Plus32ToPlus71.ToString();
            txtOp71.Text  = extTemp.Plus71ToPlus107.ToString();
            txtOp107.Text = extTemp.Plus107ToPlus121.ToString();
            txtOp121.Text = extTemp.Plus121ToPlus135.ToString();
            txtOp135.Text = extTemp.Plus135ToPlus162.ToString();
            txtOp162.Text = extTemp.Plus162ToPlus176.ToString();
            txtOp176.Text = extTemp.MoreThanPlus176.ToString();
        }
        private void ShowDataToControl(int ID, string diameter, string thickness, string corrosionRate, string volumeUnit, string stressUnit)
        {
            RW_COMPONENT_BUS busCom   = new RW_COMPONENT_BUS();
            RW_COMPONENT     comp     = busCom.getData(ID);
            BUS_UNITS        convUnit = new BUS_UNITS();

            if (diameter == "INCH")
            {
                txtTankDiameter.Text = (comp.NominalDiameter / convUnit.inch).ToString();                    // converst mm sang in
            }
            else if (diameter == "MM")
            {
                txtTankDiameter.Text = comp.NominalDiameter.ToString();                        // giữ nguyên
            }
            if (thickness == "MM")
            {
                txtNominalThickness.Text         = comp.NominalThickness.ToString(); //giữ nguyên
                txtMinRequiredThickness.Text     = comp.MinReqThickness.ToString();  //  giữ nguyên
                txtCurrentThickness.Text         = comp.CurrentThickness.ToString();
                txtBrittleFractureThickness.Text = comp.BrittleFractureThickness.ToString();
                txtStructuralThickness.Text      = comp.StructuralThickness.ToString();
            }
            else if (thickness == "INCH")
            {
                txtNominalThickness.Text         = (comp.NominalThickness / convUnit.inch).ToString(); //converst mm sang in
                txtMinRequiredThickness.Text     = (comp.MinReqThickness / convUnit.inch).ToString();  //convert mm sang in
                txtCurrentThickness.Text         = (comp.CurrentThickness / convUnit.inch).ToString();
                txtBrittleFractureThickness.Text = (comp.BrittleFractureThickness / convUnit.inch).ToString();
                txtStructuralThickness.Text      = (comp.StructuralThickness / convUnit.inch).ToString();
            }
            if (corrosionRate == "MMYR")
            {
                txtCurrentCorrosionRate.Text = comp.CurrentCorrosionRate.ToString(); // converst mm sang mm
            }
            else
            {
                txtCurrentCorrosionRate.Text = (comp.CurrentCorrosionRate / convUnit.mil).ToString();  // converst mm sang mil
            }
            if (stressUnit == "KSI")
            {
                txtAllowableStress.Text = (comp.AllowableStress / convUnit.ksi).ToString();
            }
            else if (stressUnit == "PSI")
            {
                txtAllowableStress.Text = (comp.AllowableStress / convUnit.psi).ToString();
            }
            else if (stressUnit == "MPA")
            {
                txtAllowableStress.Text = (comp.AllowableStress).ToString();
            }
            else if (stressUnit == "BAR")
            {
                txtAllowableStress.Text = (comp.AllowableStress / convUnit.bar).ToString();
            }
            else if (stressUnit == "NM2")
            {
                txtAllowableStress.Text = (comp.AllowableStress / convUnit.NpM2).ToString();
            }
            else
            {
                txtAllowableStress.Text = (comp.AllowableStress / convUnit.NpCM2).ToString();
            }

            if (volumeUnit == "M3")
            {
                txtComponentVolume.Text = comp.ComponentVolume.ToString();
            }
            else
            {
                txtComponentVolume.Text = (comp.ComponentVolume / convUnit.ft3).ToString();
            }

            chkConcreteAsphalt.Checked   = comp.ConcreteFoundation == 1 ? true : false;
            chkPresenceCracks.Checked    = comp.CracksPresent == 1 ? true : false;
            chkPreventionBarrier.Checked = comp.ReleasePreventionBarrier == 1 ? true : false;
            for (int i = 0; i < itemsBrinnellHardness.Length; i++)
            {
                if (itemsBrinnellHardness[i] == comp.BrinnelHardness)
                {
                    cbMaxBrillnessHardness.SelectedIndex = i + 1;
                    break;
                }
            }
            for (int i = 0; i < itemsComplexityProtrusion.Length; i++)
            {
                if (itemsComplexityProtrusion[i] == comp.ComplexityProtrusion)
                {
                    cbComplexityProtrusion.SelectedIndex = i + 1;
                    break;
                }
            }
            for (int i = 0; i < itemsSeverity.Length; i++)
            {
                if (itemsSeverity[i] == comp.SeverityOfVibration)
                {
                    cbSeverityVibration.SelectedIndex = i + 1;
                    break;
                }
            }
        }