GetDaysInMonth() публичный Метод

public GetDaysInMonth ( int year, int month, int era ) : int
year int
month int
era int
Результат int
    private void InitializeMonthlyCalendar(int year, int month)
    {
        DateTime DateDay;
        DateTime MonthStart     = new DateTime();
        DateTime MonthEnd       = new DateTime();
        int      MonthDayCount  = 0;
        int      day            = 0;
        string   DayWithDateDay = string.Empty;
        string   DayWeek        = string.Empty;

        System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
        GregorianCalendar gCal = new GregorianCalendar();

        ComponentArt.Web.UI.GridColumn DateColumn = null;

        IList <GTS.Clock.Model.Concepts.Calendar> calendarlist = null;

        switch (BLanguage.CurrentSystemLanguage)
        {
        case LanguagesName.Parsi:

            MonthDayCount = pc.GetDaysInMonth(year, month);
            MonthStart    = pc.ToDateTime(year, month, 1, 0, 0, 0, 0);
            MonthEnd      = pc.ToDateTime(year, month, MonthDayCount, 0, 0, 0, 0);
            calendarlist  = this.CalendarTypeBusiness.GetMonthlyHoliday(MonthStart, MonthEnd);
            for (int i = 1; i <= MonthDayCount; i++)
            {
                DateDay = pc.ToDateTime(year, month, i, 0, 0, 0, 0);
                DayOfWeek Day            = pc.GetDayOfWeek(DateDay);
                string    DateDayPersian = Utility.ToPersianDate(DateDay);
                day            = GetDayOfWeek(Day);
                DayWeek        = this.GetAxises_Calendar(day);
                DayWithDateDay = DayWeek + "  " + DateDayPersian;

                DateColumn                      = new ComponentArt.Web.UI.GridColumn();
                DateColumn.HeadingText          = DayWithDateDay;
                DateColumn.DefaultSortDirection = GridSortDirection.Ascending;
                DateColumn.Align                = ComponentArt.Web.UI.TextAlign.Center;
                DateColumn.Width                = 75;
                DateColumn.DataField            = "Day" + i;
                GTS.Clock.Model.Concepts.Calendar calendar = calendarlist.Where(x => x.Date == DateDay).FirstOrDefault();
                if (calendar != null)
                {
                    DateColumn.HeadingTextCssClass = "HeadingTextRed";
                }
                else
                {
                    DateColumn.HeadingTextCssClass = "HeadingText";
                }
                this.GridMonthlyExceptionShifts_MonthlyExceptionShifts.Levels[0].Columns.Add(DateColumn);
            }

            DateColumn = new ComponentArt.Web.UI.GridColumn();
            DateColumn.AllowSorting             = InheritBool.False;
            DateColumn.DataCellClientTemplateId = "EditTemplate";
            DateColumn.EditControlType          = GridColumnEditControlType.EditCommand;
            DateColumn.Width = 50;
            DateColumn.Align = ComponentArt.Web.UI.TextAlign.Center;
            this.GridMonthlyExceptionShifts_MonthlyExceptionShifts.Levels[0].Columns.Add(DateColumn);
            break;

        case LanguagesName.English:

            MonthDayCount = gCal.GetDaysInMonth(year, month);
            MonthStart    = gCal.ToDateTime(year, month, 1, 0, 0, 0, 0);
            MonthEnd      = gCal.ToDateTime(year, month, MonthDayCount, 0, 0, 0, 0);
            calendarlist  = this.CalendarTypeBusiness.GetMonthlyHoliday(MonthStart, MonthEnd);

            for (int i = 1; i <= MonthDayCount; i++)
            {
                DateDay = gCal.ToDateTime(year, month, i, 0, 0, 0, 0);
                DayOfWeek Day = gCal.GetDayOfWeek(DateDay);
                day            = GetDayOfWeek(Day);
                DayWeek        = this.GetAxises_Calendar(day);
                DayWithDateDay = DayWeek + "  " + DateDay;


                DateColumn                      = new ComponentArt.Web.UI.GridColumn();
                DateColumn.HeadingText          = DayWithDateDay;
                DateColumn.DefaultSortDirection = GridSortDirection.Ascending;
                DateColumn.Align                = ComponentArt.Web.UI.TextAlign.Center;
                DateColumn.Width                = 75;
                DateColumn.DataField            = "Day" + i;
                GTS.Clock.Model.Concepts.Calendar calendar = calendarlist.Where(x => x.Date == DateDay).FirstOrDefault();
                if (calendar != null)
                {
                    DateColumn.HeadingTextCssClass = "HeadingTextRed";
                }
                else
                {
                    DateColumn.HeadingTextCssClass = "HeadingText";
                }
                this.GridMonthlyExceptionShifts_MonthlyExceptionShifts.Levels[0].Columns.Add(DateColumn);
            }

            DateColumn = new ComponentArt.Web.UI.GridColumn();
            DateColumn.AllowSorting             = InheritBool.False;
            DateColumn.DataCellClientTemplateId = "EditTemplate";
            DateColumn.EditControlType          = GridColumnEditControlType.EditCommand;
            DateColumn.Width = 50;
            DateColumn.Align = ComponentArt.Web.UI.TextAlign.Center;
            this.GridMonthlyExceptionShifts_MonthlyExceptionShifts.Levels[0].Columns.Add(DateColumn);
            break;
        }
    }