public static int Find1StDayOfMonth(int year, int monthIndex, CalendarType calendarType = CalendarType.PersianCalendar)
{
if (calendarType == CalendarType.GregorianCalendar)
return (int)new DateTime(year, monthIndex, 1).DayOfWeek;
int outYear, outMonth, outDay, dayWeek = 1;
HijriToGregorian(year, monthIndex, 1, out outYear, out outMonth, out outDay);
var res = new DateTime(outYear, outMonth, outDay);
switch (res.DayOfWeek)
{
case DayOfWeek.Saturday:
dayWeek = 0;
break;
case DayOfWeek.Sunday:
dayWeek = 1;
break;
case DayOfWeek.Monday:
dayWeek = 2;
break;
case DayOfWeek.Tuesday:
dayWeek = 3;
break;
case DayOfWeek.Wednesday:
dayWeek = 4;
break;
case DayOfWeek.Thursday:
dayWeek = 5;
break;
case DayOfWeek.Friday:
dayWeek = 6;
break;
}
return dayWeek;
}