Exemple #1
0
        private void FixMonthYear(ref int year, ref int month)
        {
            if (year > maxYear || year < minYear)
            {
                throw new Exception("مقدار سال نا معتبر است");
            }
            int maxMonth = DateCalendar.GetMonthsInYear(year);

            if (month < 1 || month > maxMonth)
            {
                if (month < 1)
                {
                    while (month < 1)
                    {
                        year--;
                        maxMonth = DateCalendar.GetMonthsInYear(year);
                        month   += maxMonth;
                    }
                }
                else
                {
                    while (month > maxMonth)
                    {
                        year++;
                        maxMonth = DateCalendar.GetMonthsInYear(year);
                        month   -= maxMonth;
                    }
                }
            }
            if (year > maxYear || year < minYear)
            {
                throw new Exception("مقادیر سال و ماه نامعتبر است");
            }
        }