public static DateTime LastReportingPeriodEndDate()
        {
            var startDayOfReportingPeriod = MultiTenantHelpers.GetStartDayOfReportingPeriod();
            var startDate = new DateTime(CalculateCurrentYearToUseForRequiredReporting(), startDayOfReportingPeriod.Month, startDayOfReportingPeriod.Day);
            var endDateOfReportingPeriod = MultiTenantHelpers.GetEndDayOfReportingPeriod();
            var endYear = CalculateCurrentYearToUseForEndOfReportingImpl(startDate.Year, startDayOfReportingPeriod.Month, startDayOfReportingPeriod.Day, endDateOfReportingPeriod.Month, endDateOfReportingPeriod.Day);

            return(new DateTime(endYear, endDateOfReportingPeriod.Month, endDateOfReportingPeriod.Day));
        }
        public static DateTime LastReportingPeriodStartDate()
        {
            var startDayOfReportingPeriod = MultiTenantHelpers.GetStartDayOfReportingPeriod();

            return(new DateTime(CalculateCurrentYearToUseForRequiredReporting(), startDayOfReportingPeriod.Month, startDayOfReportingPeriod.Day));
        }
        public static int CalculateCurrentYearToUseForRequiredReporting()
        {
            var startDayOfReportingPeriod = MultiTenantHelpers.GetStartDayOfReportingPeriod();

            return(CalculateCurrentYearToUseForReportingImpl(DateTime.Today, startDayOfReportingPeriod.Month, startDayOfReportingPeriod.Day));
        }