/// <summary> /// Run a stn report. It counts the number of occurrences of each /// stn in the given year. /// </summary> /// <param name="year">chosen year</param> /// <param name="fullList">fullList</param> /// <returns>success flag</returns> public static ReportCounterManager <LocationCounter> RunStnAnnualReport( string year, bool fullList) { ReportCounterManager <LocationCounter> locationTotals = LocationReportFactory.CreateLocations(); LocationReportFactory.UpdateStnsForYear( locationTotals, year); if (!fullList) { locationTotals.RemoveEmptyClasses(); } return(locationTotals); //string writeName = $"StnReport_{year}_{DateTime.Now.ToString(ReportFactoryCommon.DatePattern)}.csv"; //string faultMessage = $"ReportBuilder: ReportBuilder: Failed to write Annual Stn Report for {year}."; //locationTotals.WriteCSVFile( // writeName, // faultMessage); }
/// <summary> /// Run a report based on a stn. It counts the number of other /// stns visited from the given stn across all records. /// </summary> /// <param name="stn">stn name</param> /// <param name="fullList">full list of locations</param> /// <returns>is successful</returns> public static ReportCounterManager <LocationCounter> RunSingleStnGeneralReport( string stn, bool fullList) { string[] dirNamesArray = System.IO.Directory.GetDirectories( BasePathReader.GetBasePath() + StaticResources.baPath); ReportCounterManager <LocationCounter> locationTotals = LocationReportFactory.CreateLocations(); for (int i = 0; i < dirNamesArray.Count(); ++i) { // get directory name from the path and convert it into it's integer value. string dirName = dirNamesArray[i].Substring(dirNamesArray[i].LastIndexOf('\\') + 1); LocationReportFactory.UpdateStnsForYear( locationTotals, dirName, stn); } if (!fullList) { locationTotals.RemoveEmptyClasses(); } return(locationTotals); //string writeName = $"{stn}_Report_Gen_{DateTime.Now.ToString(ReportFactoryCommon.DatePattern)}.csv"; //string faultMessage = $"ReportBuilder: ReportBuilder: Failed to write General Stn Report for {stn}."; //locationTotals.WriteCSVFile( // writeName, // faultMessage); }
/// <summary> /// Run a stn report. It counts the number of occurrences of each /// stn across all records. /// </summary> /// <returns>is successful</returns> public static ReportCounterManager <LocationCounter> RunStnGeneralReport() { string[] dirNamesArray = System.IO.Directory.GetDirectories( $"{BasePathReader.GetBasePath()}{StaticResources.baPath}"); ReportCounterManager <LocationCounter> locationTotals = LocationReportFactory.CreateLocations(); for (int index = 0; index < dirNamesArray.Count(); ++index) { // get directory name from the path and convert it into it's integer value. string dirName = dirNamesArray[index].Substring( dirNamesArray[index].LastIndexOf('\\') + 1); LocationReportFactory.UpdateStnsForYear( locationTotals, dirName); } return(locationTotals); //locationTotals.WriteCSVFile( // $"StnReport_Gen_{DateTime.Now.ToString(ReportFactoryCommon.DatePattern)}.csv", // "ReportBuilder: Failed to write General Stn Report."); }