コード例 #1
0
        /// <summary>
        /// Get list of Quarters between two dates
        /// </summary>
        /// <remarks>WARNING: NEEDS TESTING</remarks>
        /// <param name="StartDate"></param>
        /// <param name="EndDate"></param>
        /// <returns></returns>
        public static IEnumerable <CalendarQuarter> GetAllQuarters(DateTime StartDate, DateTime EndDate)
        {
            var qtrs = new List <CalendarQuarter>();

            var firstQuarter = new CalendarQuarter(StartDate);

            var lastQuarter = new CalendarQuarter(EndDate);

            var startDate = firstQuarter.StartDate;

            qtrs.Add(lastQuarter);

            CalendarQuarter quarter;

            quarter = lastQuarter.GetPriorQuarter();
            qtrs.Add(quarter);
            do
            {
                quarter = quarter.GetPriorQuarter();
                qtrs.Add(quarter);
            } while (quarter.StartDate > startDate);

            qtrs.Add(firstQuarter);

            return(qtrs);
        }
コード例 #2
0
        public static IEnumerable <CalendarQuarter> GetPreviousQuarters(int NumberToReturn, DateTime Date,
                                                                        bool IncludeCurrent = false)
        {
            var qtrs = new List <CalendarQuarter>();

            CalendarQuarter quarter;
            //var lastQuarterYear = 0;

            var currentQuarter = new CalendarQuarter(Date);

            if (IncludeCurrent)
            {
                quarter = currentQuarter;
                //qtrs.Add(currentQuarter);
                //numToGet = numToGet - 1;
            }
            else
            {
                quarter = currentQuarter.GetPriorQuarter();
            }

            qtrs.Add(quarter);
            var numToGet = NumberToReturn - 1;

            for (int i = 0; i < numToGet; i++)
            {
                quarter = quarter.GetPriorQuarter();
                qtrs.Add(quarter);
            }

            return(qtrs);
        }