/// <summary> /// Helper method to check that well rights sum to the well station capacity. This /// is called by the well right and well station checks. The check is performed /// by formatting the capacity and decree sum to .NN precision. /// </summary> private void checkWellRights_CapacityData() { // get component data System.Collections.IList wes_Vector = (System.Collections.IList)getComponentData(StateMod_DataSet.COMP_WELL_STATIONS); System.Collections.IList wer_Vector = (System.Collections.IList)getComponentData(StateMod_DataSet.COMP_WELL_RIGHTS); if (wes_Vector == null || wer_Vector == null) { return; } System.Collections.IList data = new List <object>(); int size = 0; // initialize some info for the check file string[] header = StateMod_Well.getCapacityHeader(); string title = "Well Station Capacity"; // check that there data available StateMod_Well wes_i = null; if (wes_Vector == null) { return; } // loop through the vector of data and perform specific // data checks size = wes_Vector.Count; for (int i = 0; i < size; i++) { wes_i = (StateMod_Well)wes_Vector[i]; if (wes_i == null) { continue; } string[] checks = wes_i.checkComponentData_Capacity(wer_Vector, i); // add the data to the data vector if (checks != null && checks.Length > 0) { data.Add(checks); } } // add the data and checks to the check file if (data.Count > 0) { // provides basic header information for this data table string info = "The following well stations (" + data.Count + " out of " + size + ") have capacity different\nfrom the sum of well rights for " + "the station.\n" + "Parcel count and area in the following table are available " + "only if well rights are read from HydroBase.\n"; // create data models for Check file CheckFile_DataModel dm = new CheckFile_DataModel(data, header, title, info, data.Count, size); __check_file.addData(dm, null); } }