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); }