private DateTime HebrewToGregorian(int hebrewYear, int hebrewMonth, int hebrewDay, int hour, int minute, int second, int millisecond)
{
int gregorianYear = hebrewYear - 0xeb0;
__DateBuffer lunarDate = new __DateBuffer();
int lunarMonthDay = this.GetLunarMonthDay(gregorianYear, lunarDate);
if ((hebrewMonth == lunarDate.month) && (hebrewDay == lunarDate.day))
{
return(new DateTime(gregorianYear, 1, 1, hour, minute, second, millisecond));
}
int num3 = this.GetDayDifference(lunarMonthDay, hebrewMonth, hebrewDay, lunarDate.month, lunarDate.day);
DateTime time = new DateTime(gregorianYear, 1, 1);
return(new DateTime((time.Ticks + (num3 * 0xc92a69c000L)) + Calendar.TimeToTicks(hour, minute, second, millisecond)));
}