コード例 #1
0
        private void MeasureReport(string _name_report)
        {
            DataSet Factor      = new DataSet();
            DataSet Criteria    = new DataSet();
            DataSet Metric      = new DataSet();
            DataSet Infa        = new DataSet();
            double  reportValue = 0.0;

            Factor = dbw1.ReadFartorsByReport(_name_report);
            for (int i = 0; i < Factor.Tables[0].Rows.Count; i++)
            {
                double factValue = 0.0;
                Criteria = dbw1.ReadCriteriasByReportFactor(_name_report, Factor.Tables[0].Rows[i].ItemArray[0].ToString());
                for (int j = 0; j < Criteria.Tables[0].Rows.Count; j++)
                {
                    double criteriaValue = 0.0;
                    Metric = dbw1.ReadMetricsByReportCriteria(_name_report, Criteria.Tables[0].Rows[j].ItemArray[0].ToString());
                    for (int k = 0; k < Metric.Tables[0].Rows.Count; k++)
                    {
                        Infa           = dbw1.ReadInfoMetricByReportMetric(_name_report, Metric.Tables[0].Rows[k].ItemArray[0].ToString());
                        criteriaValue += Double.Parse(Infa.Tables[0].Rows[0].ItemArray[4].ToString()) * Double.Parse(Infa.Tables[0].Rows[0].ItemArray[5].ToString());
                    }
                    Infa = dbw1.ReadInfoCriteriaByReportCriteriaFactor(_name_report, Criteria.Tables[0].Rows[j].ItemArray[0].ToString(), Factor.Tables[0].Rows[i].ItemArray[0].ToString());
                    dbw1.UpdateCriteriaFactorInRep(_name_report, Criteria.Tables[0].Rows[j].ItemArray[0].ToString(), Factor.Tables[0].Rows[i].ItemArray[0].ToString(), Double.Parse(Infa.Tables[0].Rows[0].ItemArray[1].ToString()), criteriaValue);
                    factValue += criteriaValue * Double.Parse(Infa.Tables[0].Rows[0].ItemArray[1].ToString());
                }
                Infa = dbw1.ReadInfoFactorByReportFactor(_name_report, Factor.Tables[0].Rows[i].ItemArray[0].ToString());
                dbw1.UpdateFactorInRep(_name_report, Factor.Tables[0].Rows[i].ItemArray[0].ToString(), Double.Parse(Infa.Tables[0].Rows[0].ItemArray[1].ToString()), factValue);
                reportValue += factValue * Double.Parse(Infa.Tables[0].Rows[0].ItemArray[1].ToString());
            }
            dbw1.UpdateValueInRep(_name_report, reportValue);
            MessageBox.Show(this, "Measure complete!", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }