public void EnsureBienniumCalculationIsLikelyCorrectTest() { int currentBienniumAccordingToTheDatabase = CurrentBiennium.GetCurrentBienniumFiscalYearFromDatabase(); int currentFiscalYear = LtInfo.Common.DateUtilities.GetCurrentFiscalYear(); Assert.That(currentFiscalYear - currentBienniumAccordingToTheDatabase < 2, $"We now appear to be outside the current biennium, which is [{currentBienniumAccordingToTheDatabase}-{currentBienniumAccordingToTheDatabase + 1}]. Current Fiscal year is {currentFiscalYear}."); }
public void DownloadGrantExpendituresTableForAllFiscalYears() { Logger.Info($"Starting '{JobName}' DownloadGrantExpendituresTableForAllFiscalYears"); ClearOutdatedSocrataDataMartRawJsonImportsTableEntries(); // See how current the data is DateTime lastFinanceApiLoadDate = FinanceApiLastLoadUtil.GetLastLoadDate(); // 2001 is the first biennium for which API returned data. This is WAY farther back than needed, but // harmless to overreach, since we only use data for which we have matching PI/PC. const int beginBienniumFiscalYear = 2001; const int bienniumStep = 2; // Go at least one biennium beyond the current one var endBienniumFiscalYear = CurrentBiennium.GetCurrentBienniumFiscalYearFromDatabase() + bienniumStep; // Step through all the desired Bienniums for (var bienniumFiscalYear = beginBienniumFiscalYear; bienniumFiscalYear <= endBienniumFiscalYear; bienniumFiscalYear += bienniumStep) { // Since only 2007 current blows up, we want to process all the other available years in the meantime. // This sends us and email reminding us something is wrong, and there is also good data about success in the tables itself. // -- SLG 6/27/2019 -- https://projects.sitkatech.com/projects/wa_dnr_forest_health_tracker/cards/1635 try { ImportExpendituresForGivenBienniumFiscalYear(bienniumFiscalYear, lastFinanceApiLoadDate); } catch (Exception e) { Logger.Error($"Error importing Expenditures for Biennium Fiscal Year {bienniumFiscalYear}: {e.Message}"); } } Logger.Info($"Ending '{JobName}' DownloadGrantExpendituresTableForAllFiscalYears"); }
public void CheckBienniumFiscalYearCalculation() { int currentFiscalYear = LtInfo.Common.DateUtilities.GetCurrentFiscalYear(); Assert.That(CurrentBiennium.GetBienniumFiscalYearForDate(new DateTime(2019, 7, 1)) == 2019); Assert.That(CurrentBiennium.GetBienniumFiscalYearForDate(new DateTime(2020, 1, 1)) == 2019); Assert.That(CurrentBiennium.GetBienniumFiscalYearForDate(new DateTime(2020, 7, 1)) == 2019); Assert.That(CurrentBiennium.GetBienniumFiscalYearForDate(new DateTime(2021, 1, 1)) == 2019); Assert.That(CurrentBiennium.GetBienniumFiscalYearForDate(new DateTime(2021, 7, 1)) == 2021); Assert.That(CurrentBiennium.GetBienniumFiscalYearForDate(new DateTime(2022, 1, 1)) == 2021); Assert.That(CurrentBiennium.GetBienniumFiscalYearForDate(new DateTime(2022, 7, 1)) == 2021); Assert.That(CurrentBiennium.GetBienniumFiscalYearForDate(new DateTime(2023, 1, 1)) == 2021); }