Пример #1
0
        void AssignValues(CBatch_detail_aa_twofold current_row)
        {
            CSignificantValue oSignificantValue = new CSignificantValue(Convert.ToInt32(current_row.Idtemplate_method));

            string factor1 = "", factor2 = "", reading1 = "", reading2 = "", law1 = "", law2 = "";
            double law_avg;

            //law_avg = parser.SimplifyDouble("Result_analysis");

            object evalReading1 = current_row.Reading1;
            object evalReading2 = current_row.Reading2;

            if (current_row.Reading1 != null)
                reading1 = current_row.Reading1;
            if (current_row.Reading2 != null)
                reading2 = current_row.Reading2;

            factor1 = current_row.Factor1;
            law1 = current_row.Law1;

            factor2 = current_row.Factor2;
            law2 = current_row.Law2;

            double reading_value1 = 0;
            double reading_value2 = 0;

            if (double.TryParse(current_row.Reading1, out reading_value1))
            {
                law1 = parser.SimplifyDouble("law1").ToString();
                factor1 = parser.DicVar["factor1"].FloatNumber.ToString();

                oSignificantValue.ApplySignificant2(factor1, reading1, law1);
                current_row.Law1 = oSignificantValue.Law;
                current_row.Factor1 = oSignificantValue.Factor;
                current_row.Reading1 = oSignificantValue.Reading;
            }

            if (double.TryParse(current_row.Reading2, out reading_value2))
            {
                law2 = parser.SimplifyDouble("law2").ToString();
                factor2 = parser.DicVar["factor2"].FloatNumber.ToString();

                oSignificantValue.ApplySignificant2(factor2, reading2, law2);
                current_row.Law2 = oSignificantValue.Law;
                current_row.Factor2 = oSignificantValue.Factor;
                current_row.Reading2 = oSignificantValue.Reading;
            }

            // --- the avg law convert to significative value
            // --- calculate only the rows aren't mri
            if (!RowIsMri(current_row))
            {
                if (Contain_all_reading(current_row))
                {
                    law_avg = parser.SimplifyDouble("Result_analysis");
                    current_row.Result_analysis = Convert.ToDecimal(law_avg);
                    current_row.Str_result_analysis = oSignificantValue.GetReportLaw(law_avg);
                }
            }
            else
            {
                current_row.Result_analysis = Convert.ToDecimal(current_row.Law2_long);
                current_row.Str_result_analysis = current_row.Law2;
            }
        }
Пример #2
0
        void AssignValues(CBatch_detail_aa_twofold current_row)
        {
            CSignificantValue oSignificantValue = new CSignificantValue(Convert.ToInt32(current_row.Idtemplate_method));

            string factor1 = "", factor2 = "", reading1 = "", reading2 = "", law1 = "", law2 = "";
            double law_avg;

            //law_avg = parser.SimplifyDouble("Result_analysis");

            object evalReading1 = current_row.Reading1;
            object evalReading2 = current_row.Reading2;

            if (current_row.Reading1 != null)
            {
                reading1 = current_row.Reading1;
            }
            if (current_row.Reading2 != null)
            {
                reading2 = current_row.Reading2;
            }

            factor1 = current_row.Factor1;
            law1    = current_row.Law1;

            factor2 = current_row.Factor2;
            law2    = current_row.Law2;

            double reading_value1 = 0;
            double reading_value2 = 0;

            if (double.TryParse(current_row.Reading1, out reading_value1))
            {
                law1    = parser.SimplifyDouble("law1").ToString();
                factor1 = parser.DicVar["factor1"].FloatNumber.ToString();

                oSignificantValue.ApplySignificant2(factor1, reading1, law1);
                current_row.Law1     = oSignificantValue.Law;
                current_row.Factor1  = oSignificantValue.Factor;
                current_row.Reading1 = oSignificantValue.Reading;
            }

            if (double.TryParse(current_row.Reading2, out reading_value2))
            {
                law2    = parser.SimplifyDouble("law2").ToString();
                factor2 = parser.DicVar["factor2"].FloatNumber.ToString();

                oSignificantValue.ApplySignificant2(factor2, reading2, law2);
                current_row.Law2     = oSignificantValue.Law;
                current_row.Factor2  = oSignificantValue.Factor;
                current_row.Reading2 = oSignificantValue.Reading;
            }

            // --- the avg law convert to significative value
            // --- calculate only the rows aren't mri
            if (!RowIsMri(current_row))
            {
                if (Contain_all_reading(current_row))
                {
                    law_avg = parser.SimplifyDouble("Result_analysis");
                    current_row.Result_analysis     = Convert.ToDecimal(law_avg);
                    current_row.Str_result_analysis = oSignificantValue.GetReportLaw(law_avg);
                }
            }
            else
            {
                current_row.Result_analysis     = Convert.ToDecimal(current_row.Law2_long);
                current_row.Str_result_analysis = current_row.Law2;
            }
        }