public string MidnightByDate(string ActiveDate) { var Day = CalendarClass.DayNumber(ActiveDate); var Month = CalendarClass.MonthCode(ActiveDate); var tmpmidday = MiddayPrayer(byte.Parse(Month), byte.Parse(Day), _Longitude).ToString().Substring(0, 5); var hrs = int.Parse(tmpmidday.Substring(0, 2)) + 11; var min = int.Parse(tmpmidday.Substring(3, 2)) + 17; if (min > 60) { min -= 60; hrs += 1; } if (hrs > 24) { hrs = 0; } var strmin = min.ToString(); if (min < 10) { strmin = "0" + strmin; } return((hrs).ToString() + ":" + strmin); }
public string SunsetPrayerByDate(string ActiveDate) { var Day = CalendarClass.DayNumber(ActiveDate); var Month = CalendarClass.MonthCode(ActiveDate); return(SunsetPrayer(byte.Parse(Month), byte.Parse(Day), _Longitude, _Latitude).ToString().Substring(0, 5)); }
public static int ActiveWeekOfYear(string ActiveDate) { CultureInfo CI = new CultureInfo("fa-Ir"); var Cal = CI.Calendar; CalendarWeekRule CWR = CI.DateTimeFormat.CalendarWeekRule; DayOfWeek FirstDOW = CI.DateTimeFormat.FirstDayOfWeek; int FirstWeek = Cal.GetWeekOfYear(DateToDateTime(CalendarClass.YearName(ActiveDate) + "/01/01"), CWR, FirstDOW); int week = Cal.GetWeekOfYear(DateToDateTime(ActiveDate), CWR, FirstDOW); return(week - FirstWeek); }
public void CreateYearDays() { try { var curyear = int.Parse(CalendarClass.YearName(CalendarClass.TodayDate())); var curday = 1; var curmonth = 1; var curweekno = 1; var curweekday = CalendarClass.WeekDay(curyear + "/01/01"); var isleapyear = CalendarClass.IsLeapYear(curyear); int yeardays; if (isleapyear) { yeardays = 366; } else { yeardays = 365; } for (int i = 1; i <= yeardays; i++) { AddItem(i, curday, curmonth, CalendarClass.MonthNameByCode(curmonth), curyear, curweekday, CalendarClass.WeekDayName(curweekday), curweekno); curday++; curweekday++; if (curmonth <= 6 && curday > 31) { curmonth++; curday = 1; } if (curmonth > 6 && curday > 30) { curmonth++; curday = 1; } if (curweekday > 6) { curweekday = 0; curweekno++; } ; } } catch (Exception ex) { var er = ex.Message; } }
private void AddItem(int id, int day, int month, string monthName, int year, int weekday, string weekdayname, int weekno) { var cdt = new CalendarDataStruct(); var adate = CalendarClass.FullDate(year, month, day); cdt.ID = id; cdt.Day = day; cdt.Month = month; cdt.MonthName = monthName; cdt.Year = year; cdt.WeekDay = weekday; cdt.WeekDayName = weekdayname; cdt.WeekNo = weekno; cdt.FullDate = adate; cdt.DayEvent = CalendarClass.Events(CalendarClass.DateToDateTime(adate)); CalendarDataList.Add(cdt); }
public Grid CreateWeekGrid(string ActiveDate, int ActiveWeekDay) { int ActiveDay = int.Parse(CalendarClass.DayNumber(ActiveDate)); var grdTemp = new Grid(); grdTemp.RowDefinitions.Add(new RowDefinition { Height = 30 * FixParams.AspectRate }); grdTemp.RowDefinitions.Add(new RowDefinition { Height = 40 * FixParams.AspectRate }); grdTemp.RowSpacing = 0; grdTemp.ColumnSpacing = 2 * FixParams.AspectRate; grdTemp.Padding = 2 * FixParams.AspectRate; grdTemp.BackgroundColor = FixParams.PanelColor; for (int i = 0; i < 7; i++) { grdTemp.Children.Add(new Label { TextColor = FixParams.AlterFontColor, BackgroundColor = FixParams.PanelColor, Text = " " + CalendarClass.ShortDayNames[6 - i], XAlign = TextAlignment.Center, YAlign = TextAlignment.Center, FontSize = FixParams.StandardSize }, i, 0); var clr = new Color(); if (ActiveWeekDay == i) { clr = FixParams.SpecFontColor; } else { clr = FixParams.FontColor; } var lblDayNum = new MyLabel { TextColor = clr, BackgroundColor = FixParams.BackgroundColor, Text = " " + CalendarClass.DayNumber(CalendarClass.AddDayToDate(ActiveDate, i - ActiveWeekDay).ToString()), XAlign = TextAlignment.Center, YAlign = TextAlignment.Center, FontSize = FixParams.MediumSize, Property1 = i.ToString(), Property2 = CalendarClass.AddDayToDate(ActiveDate, i - ActiveWeekDay).ToString() }; if (CalendarClass.IsHolyDay(CalendarClass.DateToDateTime(lblDayNum.Property2))) { lblDayNum.TextColor = FixParams.AlterFontColor; } if (i == 6) { lblDayNum.TextColor = FixParams.AlterFontColor; } lblDayNum.GestureRecognizers.Add(new TapGestureRecognizer { Command = new Command(() => { _ActiveDate = lblDayNum.Property2; _ActiveWeekDay = int.Parse(lblDayNum.Property1); DayNumber.Text = lblDayNum.Text; DayName.Text = CalendarClass.WeekDayName(_ActiveWeekDay); MonthName.Text = CalendarClass.MonthName(_ActiveDate) + " ماه " + CalendarClass.YearName(_ActiveDate); grdWeekDays = CreateWeekGrid(_ActiveDate, _ActiveWeekDay); Animateview(_pnlDayNote, 400); _layout.Children.Remove(DayNumber); _layout.Children.Remove(DayName); _layout.Children.Remove(MonthName); _layout.Children.Remove(grdWeekDays); _layout.Children.Add(DayNumber, Constraint.RelativeToParent((p) => { return(_layout.Width - (65 * FixParams.AspectRate)); }), Constraint.RelativeToParent((p) => { return(5 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(60 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(55 * FixParams.AspectRate); }) ); _layout.Children.Add(MonthName, Constraint.RelativeToParent((p) => { return(_layout.Width - (180 * FixParams.AspectRate)); }), Constraint.RelativeToParent((p) => { return(1 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(120 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(30 * FixParams.AspectRate); }) ); _layout.Children.Add(DayName, Constraint.RelativeToParent((p) => { return(_layout.Width - (180 * FixParams.AspectRate)); }), Constraint.RelativeToParent((p) => { return(25 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(120 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(30 * FixParams.AspectRate); }) ); _layout.Children.Add(grdWeekDays, Constraint.RelativeToParent((p) => { return(10 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(DayNumber.Height); }), Constraint.RelativeToParent((p) => { return(_layout.Width - (20 * FixParams.AspectRate)); }), Constraint.RelativeToParent((p) => { return(75 * FixParams.AspectRate); }) ); for (int j = 11; j >= 6; j--) { grdPryingTimes.Children.RemoveAt(j); } prayer _prayer = new prayer(); _prayer.UpdatePryTimes(_ActiveDate); grdPryingTimes.Children.Add(new Label { FontSize = FixParams.SmallSize, Text = prayer._MP, XAlign = TextAlignment.Center, YAlign = TextAlignment.Center, TextColor = FixParams.FontColor, BackgroundColor = FixParams.BackgroundColor }, 5, 1); grdPryingTimes.Children.Add(new Label { FontSize = FixParams.SmallSize, Text = prayer._SR, XAlign = TextAlignment.Center, YAlign = TextAlignment.Center, TextColor = FixParams.FontColor, BackgroundColor = FixParams.BackgroundColor }, 4, 1); grdPryingTimes.Children.Add(new Label { FontSize = FixParams.SmallSize, Text = prayer._MD, XAlign = TextAlignment.Center, YAlign = TextAlignment.Center, TextColor = FixParams.FontColor, BackgroundColor = FixParams.BackgroundColor }, 3, 1); grdPryingTimes.Children.Add(new Label { FontSize = FixParams.SmallSize, Text = prayer._SS, XAlign = TextAlignment.Center, YAlign = TextAlignment.Center, TextColor = FixParams.FontColor, BackgroundColor = FixParams.BackgroundColor }, 2, 1); grdPryingTimes.Children.Add(new Label { FontSize = FixParams.SmallSize, Text = prayer._NP, XAlign = TextAlignment.Center, YAlign = TextAlignment.Center, TextColor = FixParams.FontColor, BackgroundColor = FixParams.BackgroundColor }, 1, 1); grdPryingTimes.Children.Add(new Label { FontSize = FixParams.SmallSize, Text = prayer._MN, XAlign = TextAlignment.Center, YAlign = TextAlignment.Center, TextColor = FixParams.FontColor, BackgroundColor = FixParams.BackgroundColor }, 0, 1); _pnlDayNote.Children.Clear(); lblNote.Text = CalendarClass.Events(CalendarClass.DateToDateTime(_ActiveDate)); if (CalendarClass.IsHolyDay(CalendarClass.DateToDateTime(_ActiveDate))) { lblNote.TextColor = FixParams.AlterFontColor; } _pnlDayNote.Children.Add(lblNote); }), NumberOfTapsRequired = 1 }); grdTemp.Children.Add(lblDayNum, 6 - i, 1); } return(grdTemp); }
public CalendarDayView() { if (FixParams.FromOut && FixParams.ActiveDate != "") { _ActiveDate = FixParams.ActiveDate; _ActiveWeekDay = CalendarClass.WeekDay(FixParams.ActiveDate); FixParams.FromOut = false; FixParams.ActiveDate = ""; showbtmbar = false; } else { _ActiveDate = CalendarClass.TodayDate(); _ActiveWeekDay = CalendarClass.WeekDay(CalendarClass.TodayDate()); } MonthName.Text = CalendarClass.MonthName(_ActiveDate) + " ماه " + CalendarClass.YearName(_ActiveDate); DayNumber.Text = CalendarClass.DayNumber(_ActiveDate); DayName.Text = CalendarClass.WeekDayName(CalendarClass.WeekDay(_ActiveDate)); lblNote.Text = CalendarClass.Events(CalendarClass.DateToDateTime(_ActiveDate)); grdWeekDays = CreateWeekGrid(_ActiveDate, _ActiveWeekDay); _layout.Children.Clear(); _layout.Children.Add(DayNumber, Constraint.RelativeToParent((p) => { return(_layout.Width - (65 * FixParams.AspectRate)); }), Constraint.RelativeToParent((p) => { return(5 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(60 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(55 * FixParams.AspectRate); }) ); _layout.Children.Add(MonthName, Constraint.RelativeToParent((p) => { return(_layout.Width - (180 * FixParams.AspectRate)); }), Constraint.RelativeToParent((p) => { return(1 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(120 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(30 * FixParams.AspectRate); }) ); _layout.Children.Add(DayName, Constraint.RelativeToParent((p) => { return(_layout.Width - (180 * FixParams.AspectRate)); }), Constraint.RelativeToParent((p) => { return(25 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(120 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(30 * FixParams.AspectRate); }) ); _layout.Children.Add(grdWeekDays, Constraint.RelativeToParent((p) => { return(10 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(DayNumber.Height); }), Constraint.RelativeToParent((p) => { return(_layout.Width - (20 * FixParams.AspectRate)); }), Constraint.RelativeToParent((p) => { return(75 * FixParams.AspectRate); }) ); grdPryingTimes = CreatePryingTimeGrid(_ActiveDate); _layout.Children.Add(grdPryingTimes, Constraint.RelativeToParent((p) => { return(10 * FixParams.AspectRate); }), Constraint.RelativeToParent((p) => { return(_layout.Height - (100 * FixParams.AspectRate)); }), Constraint.RelativeToParent((p) => { return(_layout.Width - (20 * FixParams.AspectRate)); }), Constraint.RelativeToParent((p) => { return(50 * FixParams.AspectRate); }) ); _layout.Children.Add(ButtomLayout, Constraint.RelativeToParent((p) => { return(0); }), Constraint.RelativeToParent((p) => { return(_layout.Height - (40 * FixParams.AspectRate)); }), Constraint.RelativeToParent((p) => { return(_layout.Width); }), Constraint.RelativeToParent((p) => { return(40 * FixParams.AspectRate); }) ); Button btnGotoWeekView = new Button() { BackgroundColor = FixParams.PanelColor, Text = "هفته", FontSize = FixParams.StandardSize, TextColor = FixParams.FontColor, HeightRequest = 40 * FixParams.AspectRate, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.StartAndExpand, }; btnGotoWeekView.Clicked += OnWeekClicked; if (showbtmbar) { ButtomLayout.Children.Insert(0, btnGotoWeekView); } CreatePanel(_layout, _ActiveDate); Task.Run(() => { CalendarMenu cm = new CalendarMenu(); cm.CreateYearDays(); App.YearDays = cm.CalendarDataList; cm.CreateWeekLayout(App.YearDays); App.GridOfWeeks = cm.GridList; wv = new CalendarWeekView(); }); Content = _layout; }
public static bool IsHolyDay(DateTime mydate) { PersianCalendar PersianCalEvents = new PersianCalendar(); HijriCalendar HijriCalEvents = new HijriCalendar(); var PerDay = PersianCalEvents.GetDayOfMonth(mydate); var HijDay = HijriCalEvents.GetDayOfMonth(CalendarClass.Yesterday(mydate)); var PerMonth = PersianCalEvents.GetMonth(mydate); var HijMonth = HijriCalEvents.GetMonth(CalendarClass.Yesterday(mydate)); switch (PerMonth) { case 1: switch (PerDay) { case 1: return(true); case 2: return(true); case 3: return(true); case 4: return(true); case 12: return(true); case 13: return(true); } break; case 3: switch (PerDay) { case 14: return(true); case 15: return(true); } break; case 11: switch (PerDay) { case 22: return(true); } break; case 12: switch (PerDay) { case 29: return(true); } break; } switch (HijMonth) { case 1: switch (HijDay) { case 9: return(true); case 10: return(true); } break; case 2: switch (HijDay) { case 20: return(true); case 28: return(true); case 30: return(true); } break; case 3: switch (HijDay) { case 17: return(true); } break; case 6: switch (HijDay) { case 3: return(true); } break; case 7: switch (HijDay) { case 13: return(true); case 27: return(true); } break; case 8: switch (HijDay) { case 15: return(true); } break; case 9: switch (HijDay) { case 21: return(true); } break; case 10: switch (HijDay) { case 1: return(true); case 2: return(true); case 25: return(true); } break; case 12: switch (HijDay) { case 10: return(true); case 18: return(true); } break; } return(false); }
public static string Events(DateTime mydate) { PersianCalendar PersianCalEvents = new PersianCalendar(); HijriCalendar HijriCalEvents = new HijriCalendar(); var PerDay = PersianCalEvents.GetDayOfMonth(mydate); var HijDay = HijriCalEvents.GetDayOfMonth(CalendarClass.Yesterday(mydate)); var PerMonth = PersianCalEvents.GetMonth(mydate); var HijMonth = HijriCalEvents.GetMonth(CalendarClass.Yesterday(mydate)); string PerisnEvents = ""; string HijriEvents = ""; string ReturnValue = ""; switch (PerMonth) { case 1: switch (PerDay) { case 1: PerisnEvents = "سال نو بر شما مبارک باد"; break; case 2: PerisnEvents = "هجوم ماموران ستم شاهی به مدرسه ی فیضیه ی -- تعطیل"; break; case 12: PerisnEvents = "روز جمهوری اسلامی ایران -- تعطیل"; break; case 13: PerisnEvents = "روز طبیعت -- تعطیل"; break; case 18: PerisnEvents = "روز سلامتی - روز جهانی بهداشت"; break; case 19: PerisnEvents = "شهادت آیت اله سید محمد باقر صدر و خواهر ایشان بنت الهدی توسط رژیم بعث عراق"; break; case 20: PerisnEvents = "روز ملی فناوری هسته ای"; break; case 21: PerisnEvents = "شهادت امیر سپهبد علی صیاد شیرازی"; break; case 25: PerisnEvents = "روز بزرگداشت عطار نیشابوری"; break; case 29: PerisnEvents = "روز ارتش جمهوری اسلامی ایران"; break; } break; case 2: switch (PerDay) { case 1: PerisnEvents = "روز بزرگداشت سعدی"; break; case 2: PerisnEvents = "تاسیس سپاه پاسداران انتقلاب اسلامی - سالروز اعلام انقلاب فرهنگی - روز زمین پاک"; break; case 3: PerisnEvents = "روز بزرگداشت شیخ بهایی - روز ملی کار آفرینی"; break; case 5: PerisnEvents = "شکست حمله نظامی آمریکا به ایران در طبس"; break; case 9: PerisnEvents = "روز شوراها"; break; case 10: PerisnEvents = " روز ملی خلیج فارس - آغاز عملیات بیت المقدس"; break; case 12: PerisnEvents = "شهادت استاد مرتضی مطهری - روز معلم - روز جهانی کار و کارگر"; break; case 15: PerisnEvents = "روز بزرگداشت شیخ صدوق"; break; case 17: PerisnEvents = "روز اسناد ملی"; break; case 19: PerisnEvents = "روز جهانی صلیب سرخ و حلال احمر"; break; case 24: PerisnEvents = "لغو امتیاز تنباکو به فتوای آیت الله میرزا حسن شیرازی"; break; case 25: PerisnEvents = "روز بزرگداشت فردوسی"; break; case 27: PerisnEvents = "روز جهانی ارتباطات و روابط عمومی"; break; case 28: PerisnEvents = "روز بزرگداشت حکیم عمر خیام"; break; case 29: PerisnEvents = "روز جهانی موزه و میراث فرهنگی"; break; } break; case 3: switch (PerDay) { case 1: PerisnEvents = "روز بهره وری و بهینه سازی مصرف - روز بزرگداشت ملا صدرا"; break; case 3: PerisnEvents = "فتح خرم شهر در عملیات بیت امقدس و روز مقاومت ، ایثار و پیروزی"; break; case 14: PerisnEvents = "رحلت حضرت امام خمینی -- تعطیل"; break; case 15: PerisnEvents = "قیام خونین 15 خرداد -- تعطیل"; break; case 16: PerisnEvents = "روز جهانی محیط زیست"; break; case 20: PerisnEvents = "شهادت آیت الله سعیدی به دست ماموران ستم شاهی پهلوی"; break; case 24: PerisnEvents = "روز جهانی صنایع دستی"; break; case 25: PerisnEvents = "روز گل و گیاه"; break; case 26: PerisnEvents = "شهادت سربازان دلیر اسلام،بخارایی،امانی،صفار هرندی و نیک نژاد"; break; case 27: PerisnEvents = "روز جهاد کشاورزی -- تشکیل جهاد سازندگی به فرمان امام"; break; case 28: PerisnEvents = "روز جهانی بیابان زدایی"; break; case 29: PerisnEvents = "درگذشت دکتر علی شریعتی"; break; case 30: PerisnEvents = "انفجار در حرم حضرت امام رضا به دست منافقین کور دل"; break; case 31: PerisnEvents = "شهادت دکتر مصطفی چمران"; break; } break; case 4: switch (PerDay) { case 1: PerisnEvents = "روز تبلیغ و اطلاع رسانی دینی - روز اصناف"; break; case 6: PerisnEvents = "روز جهانی مبارزه با مواد مخدر"; break; case 7: PerisnEvents = "شهادت آیت الله دکتر بهشتی و 72 تن از یاران امام - روز قوه قضاییه"; break; case 8: PerisnEvents = "روز مبارزه با صلاح های میکروبی و شیمیایی"; break; case 10: PerisnEvents = "روز صنعت و معدن"; break; case 11: PerisnEvents = "شهادت آیت الله صدوقی چهارمین شهید محراب به دست به دست منافقین"; break; case 12: PerisnEvents = "سقوط هواپیمای مسافر بری جمهوری اسلامی ایران توسط آمریکا"; break; case 14: PerisnEvents = "روز قلم"; break; case 16: PerisnEvents = "روز مالیات"; break; case 25: PerisnEvents = "روز بهزیستی و تامین اجتماعی"; break; case 27: PerisnEvents = "اعلام پذیرش قطعنامه شورای امنیت از سوی ایران"; break; } break; case 5: switch (PerDay) { case 5: PerisnEvents = "سالروز عملیات افتخار آفرین مرصاد"; break; case 6: PerisnEvents = "روز ترویج آموزش های فنی و حرفه ای"; break; case 8: PerisnEvents = "روز بزرگداشت شیخ شهاب الدین سهروردی شیخ اشراق"; break; case 9: PerisnEvents = "روز اهدای خون"; break; case 14: PerisnEvents = "صدور فرمان مشروطیت"; break; case 16: PerisnEvents = "تشکیل جهاد دانشگاهی "; break; case 17: PerisnEvents = "روز خبرنگار"; break; case 26: PerisnEvents = "آغاز بازگشت آزادگان به میهن اسلامی"; break; case 28: PerisnEvents = "کودتای آمریکا برای بازگرداندن شاه"; break; case 30: PerisnEvents = "روز بزرگداشت علامه مجلسی"; break; case 31: PerisnEvents = "روز جهانی مسجد"; break; } break; case 6: switch (PerDay) { case 1: PerisnEvents = "روز پزشک - روز بزرگداشت ابوعلی سینا"; break; case 2: PerisnEvents = "آغاز هفته دولت"; break; case 4: PerisnEvents = "روز کارمند"; break; case 5: PerisnEvents = "روز دارو سازی - روز بزرگداشت محمد بن زکریای رازی"; break; case 8: PerisnEvents = "روز مبارزه با تروریسم - انفجار دفتر نخست وزیری"; break; case 10: PerisnEvents = "روز بانکداری اسلامی - سالروز تصویب قانون عملیات بانکی بدون ربا"; break; case 11: PerisnEvents = "روز صنعت چاپ"; break; case 13: PerisnEvents = "روز تعاون - روز بزرگداش ابو ریحان بیرونی"; break; case 14: PerisnEvents = "شهادت آیت الله قدوسی و سرتیپ وحید دستجردی"; break; case 17: PerisnEvents = "قیام 17 شهریور و کشتار جمعی از مردم به دست ماموران پهلوی"; break; case 19: PerisnEvents = "وفات آیت الله سید محمد طالقانی اولین امام جمعه تهران"; break; case 20: PerisnEvents = "شهادت دوین شهید محراب آیت الله مدنی به دست منافقین"; break; case 21: PerisnEvents = "روز سینما"; break; case 27: PerisnEvents = "روز شعر و ادب فارسی - وز بزرگداشت استاد سید محمد حسین شهریار"; break; case 31: PerisnEvents = "آغاز جنگ تحمیلی - آغاز هفته ی دفاع مقدس"; break; } break; case 7: switch (PerDay) { case 5: PerisnEvents = "شکست حصر آبادان در عملیات ثامن الائمه"; break; case 6: PerisnEvents = "روز جهانی جهانگردی"; break; case 7: PerisnEvents = "روز آتشنشانی و ایمنی - شهادت سرداران اسلام"; break; case 8: PerisnEvents = "روز بزرگداشت مولوی"; break; case 9: PerisnEvents = "روز جهانی ناشنوایان و روز همبستگی کودکان و نوجوانان فلسطینی"; break; case 13: PerisnEvents = "هجرت حضرت امام خمینی ره از عراق به پاریس - روز نیروی انتظامی"; break; case 14: PerisnEvents = "روز دامپزشکی"; break; case 17: PerisnEvents = "روز جهانی کودک "; break; case 20: PerisnEvents = "روز بزگداشت حافظ - روز اسکان معلولان و سالمندان - روز ملی کاهش بلایای طبیعی"; break; case 23: PerisnEvents = "شهادت پنجمین شهید معراب آیت الله اشرفی اصفهانی - روز جهانی استاندارد"; break; case 24: PerisnEvents = "روز پیوند اولیا و مربیان - روز جهانی نابینایان عصای سفید"; break; case 26: PerisnEvents = "روز تربیت بدنی و ورزش"; break; case 29: PerisnEvents = "روز صادرات"; break; } break; case 8: switch (PerDay) { case 1: PerisnEvents = "روز آمار برنامه ریزی"; break; case 4: PerisnEvents = "اعتراض افشاگری حضرت امام خمینی ره علیه پذیرش کاپیتولاسیون"; break; case 8: PerisnEvents = "شهادت محمد حسین فهمیده - روز نوجوان - روز بسیج دانش آموزی"; break; case 10: PerisnEvents = "شهادت آیت الله قاضی طباطبایی اولین شهید محراب"; break; case 13: PerisnEvents = "روز ملی مبارزه با استکبار جهانی - روز دانش آموز - تسخیر لانه جاسوسی آمریکا به دست دانشجویان پیرو خط امام"; break; case 14: PerisnEvents = "روز فرهنگ عمومی"; break; case 18: PerisnEvents = "روز ملی کیفیت"; break; case 24: PerisnEvents = "روز کتابخوانی - روز بزرگداشت علامه سید محمد حسین طباطبایی"; break; } break; case 9: switch (PerDay) { case 5: PerisnEvents = "روز بسیج مستضعفان - تشکیل بسیج مستضعفین به فرمان حضرت امام خمینی ره"; break; case 7: PerisnEvents = "روز نیروی دریایی"; break; case 9: PerisnEvents = "روز بزرگداشت شیخ مفید"; break; case 10: PerisnEvents = "شهادت آیت سید حسن مدرس و روز مجلس"; break; case 12: PerisnEvents = "تصویب قانون اساسی جمهوری اسلامی ایران"; break; case 13: PerisnEvents = "روز جهانی معلولان و روز بیمه"; break; case 15: PerisnEvents = "شهادت مظلومانه زائران خانه ی خدا به دستور آمریکا"; break; case 16: PerisnEvents = "روز داشجو"; break; case 18: PerisnEvents = "معرفی عراق بعنوان مسئول و آغاز جنگ از سوی سازمان ملل"; break; case 19: PerisnEvents = "تشکیل شورای انقلاب فرهنگی به فرمان حضرت امام خمینی ره "; break; case 20: PerisnEvents = "شهادت آیت الله دست غیب سومین شهید محراب به دست منافقین"; break; case 25: PerisnEvents = "روز پژوهش"; break; case 26: PerisnEvents = "روز حمل ونقل"; break; case 27: PerisnEvents = "شهادت آیت الله دکتر محمد مفتح - روز وحدت حوزه و دانشگاه"; break; } break; case 10: switch (PerDay) { case 5: PerisnEvents = "روز ملی ایمنی در برابر زلزله"; break; case 7: PerisnEvents = "سالروز تشکیل نهضت سوادآموزی به فرمان حضرت امام خمینی ره - شهادت آیت الله حسین غفاری به دست پهلوی"; break; case 19: PerisnEvents = "قیام خونین مردم قم - روز تجلیل از اسرا و مفقودان"; break; case 20: PerisnEvents = "شهادت میرزا تقی خان امیر کبیر"; break; case 22: PerisnEvents = "تشکیل شورای انقلاب به فرمان حضرت امام خمینی ره"; break; case 26: PerisnEvents = "فرار شاه معدوم"; break; case 27: PerisnEvents = "شهادت نواب صفوی ، طهماسبی ، برادران واحدی و ذوالقدر از فداییان اسلام"; break; } break; case 11: switch (PerDay) { case 6: PerisnEvents = "سالروز حماسه مردم آمل"; break; case 12: PerisnEvents = "بازگشت حضرت امام خمینی ره به ایران و آغاز دهه ی مبارک فجر"; break; case 14: PerisnEvents = " پرتاب موفقيت آميز ماهواره اميد به فضا و بازتاب آن در رسانه هاي جهان "; break; case 19: PerisnEvents = "روز نیروی هوایی"; break; case 22: PerisnEvents = "پیروزی انقلاب و سقوط شاهنشاهی -- تعطیل"; break; case 29: PerisnEvents = "قیام مردم تبریز چهلمین روز شهادت شهدای قم"; break; } break; case 12: switch (PerDay) { case 5: PerisnEvents = "روز بزرگداشت خواجه نصیرالدین طوسی - روز مهندسی - روز وقف"; break; case 8: PerisnEvents = "روز امور تربیتی و تربیت اسلامی"; break; case 9: PerisnEvents = "روز ملی حمایت از حقوق مصرف کنندگاه"; break; case 14: PerisnEvents = "روز احسان و نیکوکاری"; break; case 15: PerisnEvents = "روز درختکاری"; break; case 22: PerisnEvents = "روز بزرگداشت شهدا"; break; case 25: PerisnEvents = "روز اخلاق و مهرورزی - بمباران شیمیایی حلبچه توسط عراق"; break; case 29: PerisnEvents = "روز ملی شدن صنعت نفت ایران -- تعطیل"; break; } break; } switch (HijMonth) { case 1: switch (HijDay) { case 1: HijriEvents = "آغاز سال جدید قمری"; break; case 9: HijriEvents = "تاسوعای حسینی -- تعطیل"; break; case 10: HijriEvents = "عاشورای حسینی -- تعطیل"; break; case 12: HijriEvents = " شهادت حضرت زین العابدین ع"; break; case 18: HijriEvents = "تغییر قبله مسلمین از بیت المقدس به مکه"; break; case 25: HijriEvents = "شهادت امام زین العابدین علیه السلام به روایتی"; break; } break; case 2: switch (HijDay) { case 3: HijriEvents = "ولادت حضرت امام محمد باقر ع"; break; case 7: HijriEvents = "ولادت حضرت امام موسی کاظم ع"; break; case 20: HijriEvents = "اربعین حسینی -- تعطیل"; break; case 28: HijriEvents = "رحلت حضرت رسول اکرم ص - شهادت حضرت امام حسن مجتبی ع -- تعطیل"; break; case 30: HijriEvents = "شهادت حضرت امام رضا ع - تعطیل"; break; } break; case 3: switch (HijDay) { case 1: HijriEvents = "هجرت حضرت رسول ص از مکه به مدینه - مبداگاه شماری هجری قمری"; break; case 8: HijriEvents = "شهادت حضرت امام حسن عسگری ع"; break; case 12: HijriEvents = "میلاد حضرت رسول اکرم به روایت اهل سنت - آغاز هفته وحدت"; break; case 17: HijriEvents = "میلاد حضرت رسول اکرم و روز اخلاق و مهرورزی -- میلاد امام جعفر صادق -- تعطیل"; break; } break; case 4: switch (HijDay) { case 8: HijriEvents = "ولادت امام حسن عسکری علیه السلام"; break; case 10: HijriEvents = "(وفات حضرت معصومه (س"; break; } break; case 5: switch (HijDay) { case 5: HijriEvents = "ولادت حضرت زینب س - روز پرستار و بهورز"; break; } break; case 6: switch (HijDay) { case 3: HijriEvents = "شهادت حضرت فاطمه زهرا س -- تعطیل"; break; case 30: HijriEvents = "ولادت حضرت فاطمه زهرا - ولادت حضرت امام خمینی"; break; } break; case 7: switch (HijDay) { case 1: HijriEvents = "ولادت حضرت امام محمد باقر"; break; case 3: HijriEvents = "شهادت حضرت امام علی النقی الهادی "; break; case 10: HijriEvents = "ولادت حضرت امام محمد تقی ع جواد الائمه"; break; case 13: HijriEvents = "ولادت حضرت امام علی علیه السلام - آغاز ایام اعتکاف -- تعطیل"; break; case 15: HijriEvents = "وفات حضرت زینب"; break; case 25: HijriEvents = "شهادت حضرت امام موسی کاظم ع"; break; case 27: HijriEvents = "مبعث رسول اکرم ص -- تعطیل"; break; } break; case 8: switch (HijDay) { case 3: HijriEvents = "ولادت حضرت امام حسین ع و روز پاسدار"; break; case 4: HijriEvents = "ولادت حضرت ابوالفضل العباس و روز جانباز"; break; case 5: HijriEvents = "ولادت حضرت امام زین العابدین ع"; break; case 11: HijriEvents = "ولادت حضرت علی اکبر ع و روز جوان"; break; case 15: HijriEvents = "ولادت حضرت قائم عج روز جهانی مستضعفان -- تعطیل"; break; } break; case 9: switch (HijDay) { case 10: HijriEvents = "وفات حضرت خدیجه س"; break; case 15: HijriEvents = "ولادت حضرت امام حسن مجتبی علیه السلام و روز اکرام"; break; case 18: HijriEvents = "شب قدر"; break; case 19: HijriEvents = " ضربت خوردن حضرت علی ع روز گفت و گوی تمدنها"; break; case 20: HijriEvents = "شب قدر"; break; case 21: HijriEvents = "شهادت حضرت علی علیه السلام -- تعطیل"; break; case 22: HijriEvents = "شب قدر"; break; } break; case 10: switch (HijDay) { case 1: HijriEvents = "عید سعید فطر -- تعطیل"; break; case 2: HijriEvents = "به مناسبت عید سعید فطر -- تعطیل"; break; case 3: HijriEvents = "سالروز شهادت حضرت سلطان علی بن امام محمد باقر"; break; case 25: HijriEvents = "شهادت امام جعفر صادق ع -- تعطیل"; break; } break; case 11: switch (HijDay) { case 1: HijriEvents = "ولادت حضرت معصومه س"; break; case 11: HijriEvents = "ولادت حضرت امام رضا ع"; break; case 29: HijriEvents = "شهادت امام محمد تقی ع جواد الائمه"; break; } break; case 12: switch (HijDay) { case 1: HijriEvents = "سالروز ازدواج حضرت علی ع و حضرت فاطمه س"; break; case 7: HijriEvents = "شهادت امام محمد باقر ع"; break; case 9: HijriEvents = "روز عرفه - روز نیایش"; break; case 10: HijriEvents = "عید سعید قربان -- تعطیل "; break; case 15: HijriEvents = "ولادت حضرت امام علی النقی الهادی ع"; break; case 18: HijriEvents = "روز غدیر خم -- تعطیل "; break; case 24: HijriEvents = "روز مباهله پیامبر اسلام ص"; break; case 25: HijriEvents = " روز خانواده وتکریم بازنشستگان "; break; } break; } if (mydate.Month == 1 && mydate.Day == 1) { ReturnValue = PerisnEvents + " - " + HijriEvents + " - " + "آغاز سال جدید میلادی"; } else if (mydate.Month == 12 && mydate.Day == 25) { ReturnValue = PerisnEvents + " - " + HijriEvents + " - " + "میلاد حضرت عیسی مسیح علیه السلام"; } if (PerisnEvents.Trim() == "" || HijriEvents.Trim() == "") { return(ReturnValue = PerisnEvents + HijriEvents); } else { return(ReturnValue = PerisnEvents + "-" + HijriEvents); } }
public Grid CreateCalendar(int ActiveYear, int ActiveMonth) { var today = CalendarClass.DayNumber(CalendarClass.TodayDate()); var grdCalendar = new Grid(); var fmDay = CalendarClass.WeekDay(ActiveYear.ToString() + "/" + CalendarClass.FullMonthCode(ActiveMonth.ToString()) + "/" + "01"); var is6col = ((fmDay == 5 || fmDay == 6) && ActiveMonth <= 6) || (fmDay == 6 && ActiveMonth > 6); int maxcol = 0; grdCalendar.ColumnSpacing = 2 * FixParams.AspectRate; grdCalendar.RowSpacing = 2 * FixParams.AspectRate; grdCalendar.BackgroundColor = FixParams.PanelColor; grdCalendar.RowDefinitions.Add(new RowDefinition() { Height = 50 * FixParams.AspectRate }); grdCalendar.RowDefinitions.Add(new RowDefinition() { Height = 50 * FixParams.AspectRate }); grdCalendar.RowDefinitions.Add(new RowDefinition() { Height = 50 * FixParams.AspectRate }); grdCalendar.RowDefinitions.Add(new RowDefinition() { Height = 50 * FixParams.AspectRate }); grdCalendar.RowDefinitions.Add(new RowDefinition() { Height = 50 * FixParams.AspectRate }); grdCalendar.RowDefinitions.Add(new RowDefinition() { Height = 50 * FixParams.AspectRate }); grdCalendar.RowDefinitions.Add(new RowDefinition() { Height = 50 * FixParams.AspectRate }); if (is6col) { maxcol = 6; grdCalendar.ColumnDefinitions.Add(new ColumnDefinition()); grdCalendar.ColumnDefinitions.Add(new ColumnDefinition()); grdCalendar.ColumnDefinitions.Add(new ColumnDefinition()); grdCalendar.ColumnDefinitions.Add(new ColumnDefinition()); grdCalendar.ColumnDefinitions.Add(new ColumnDefinition()); grdCalendar.ColumnDefinitions.Add(new ColumnDefinition()); grdCalendar.ColumnDefinitions.Add(new ColumnDefinition { Width = 60 * FixParams.AspectRate }); } else { maxcol = 5; grdCalendar.ColumnDefinitions.Add(new ColumnDefinition()); grdCalendar.ColumnDefinitions.Add(new ColumnDefinition()); grdCalendar.ColumnDefinitions.Add(new ColumnDefinition()); grdCalendar.ColumnDefinitions.Add(new ColumnDefinition()); grdCalendar.ColumnDefinitions.Add(new ColumnDefinition()); grdCalendar.ColumnDefinitions.Add(new ColumnDefinition { Width = 60 * FixParams.AspectRate }); } for (int k = 0; k < 7; k++) { grdCalendar.Children.Add(new Label { Text = "", BackgroundColor = FixParams.SpecFontColor }, 0, k); grdCalendar.Children.Add(new Label { Text = "", BackgroundColor = FixParams.SpecFontColor }, maxcol - 1, k); } for (int j = fmDay; j <= fmDay + 30; j++) { var row = j % 7; int col = 0; if (is6col) { if (j < 7 && j >= 0) { col = 5; } if (j < 14 && j >= 7) { col = 4; } if (j < 21 && j >= 14) { col = 3; } if (j < 28 && j >= 21) { col = 2; } if (j < 35 && j >= 28) { col = 1; } if (j < 42 && j >= 35) { col = 0; } } else { if (j < 7 && j >= 0) { col = 4; } if (j < 14 && j >= 7) { col = 3; } if (j < 21 && j >= 14) { col = 2; } if (j < 28 && j >= 21) { col = 1; } if (j < 35 && j >= 28) { col = 0; } } Color rc = new Color(); if (row < 6) { rc = FixParams.FontColor; } else { rc = FixParams.AlterFontColor; } if (ActiveMonth < 7 && ActiveMonth > 0) { if (j - fmDay <= 30) { Label lblDay = new Label() { XAlign = TextAlignment.Center, YAlign = TextAlignment.Center, TextColor = rc, BackgroundColor = FixParams.BackgroundColor, Text = (j - fmDay + 1).ToString(), FontSize = FixParams.SmallSize }; var DayNumber = lblDay.Text; if (int.Parse(lblDay.Text) < 10) { DayNumber = "0" + DayNumber; } var _Today = ActiveYear.ToString() + "/" + CalendarClass.FullMonthCode(ActiveMonth.ToString()) + "/" + DayNumber; if (CalendarClass.IsHolyDay(CalendarClass.DateToDateTime(_Today))) { lblDay.TextColor = FixParams.AlterFontColor; } lblDay.GestureRecognizers. Add(new TapGestureRecognizer { Command = new Command(async() => { FixParams.FromOut = true; FixParams.ActiveDate = _Today; await Navigation.PushAsync(new CalendarDayView()); }), NumberOfTapsRequired = 1 }); grdCalendar.Children.Add(lblDay, col, row); } } if (ActiveMonth < 12 && ActiveMonth >= 7) { if (j - fmDay <= 29) { Label lblDay = new Label() { XAlign = TextAlignment.Center, YAlign = TextAlignment.Center, TextColor = rc, BackgroundColor = FixParams.BackgroundColor, Text = (j - fmDay + 1).ToString(), FontSize = FixParams.SmallSize }; var DayNumber = lblDay.Text; if (int.Parse(lblDay.Text) < 10) { DayNumber = "0" + DayNumber; } var _Today = ActiveYear.ToString() + "/" + CalendarClass.FullMonthCode(ActiveMonth.ToString()) + "/" + DayNumber; if (CalendarClass.IsHolyDay(CalendarClass.DateToDateTime(_Today))) { lblDay.TextColor = FixParams.AlterFontColor; } lblDay.GestureRecognizers. Add(new TapGestureRecognizer { Command = new Command(async() => { FixParams.FromOut = true; FixParams.ActiveDate = _Today; await Navigation.PushAsync(new CalendarDayView()); }), NumberOfTapsRequired = 1 }); grdCalendar.Children.Add(lblDay, col, row); } } if (ActiveMonth == 12) { if ((j - fmDay <= 29 && CalendarClass.IsLeapYear(ActiveYear)) || (j - fmDay <= 28 && !CalendarClass.IsLeapYear(ActiveYear))) { Label lblDay = new Label() { XAlign = TextAlignment.Center, YAlign = TextAlignment.Center, TextColor = rc, BackgroundColor = FixParams.BackgroundColor, Text = (j - fmDay + 1).ToString(), FontSize = FixParams.SmallSize }; var DayNumber = lblDay.Text; if (int.Parse(lblDay.Text) < 10) { DayNumber = "0" + DayNumber; } var _Today = ActiveYear.ToString() + "/" + CalendarClass.FullMonthCode(ActiveMonth.ToString()) + "/" + DayNumber; if (CalendarClass.IsHolyDay(CalendarClass.DateToDateTime(_Today))) { lblDay.TextColor = FixParams.AlterFontColor; } lblDay.GestureRecognizers. Add(new TapGestureRecognizer { Command = new Command(async() => { FixParams.FromOut = true; FixParams.ActiveDate = _Today; await Navigation.PushAsync(new CalendarDayView()); }), NumberOfTapsRequired = 1 }); grdCalendar.Children.Add(lblDay, col, row); } } } for (int i = 0; i < 7; i++) { grdCalendar.Children.Add(new Label { TextColor = FixParams.AlterFontColor, BackgroundColor = FixParams.PanelColor, Text = " " + CalendarClass.DayNames[i], HeightRequest = 30 * FixParams.AspectRate, FontSize = FixParams.StandardSize, XAlign = TextAlignment.End, YAlign = TextAlignment.Center }, maxcol, i); } return(grdCalendar); }
protected override ContentPage CreateDefault(object item) { var currentInt = (int)item; Label MonthName = new Label { TextColor = FixParams.FontColor, Text = CalendarClass.MonthNameByCode(currentInt) + " ماه " + CalendarClass.YearName("1394/01/01"), XAlign = TextAlignment.Center, YAlign = TextAlignment.Center, FontSize = FixParams.MediumSize }; Grid grdCalendar = new Grid(); StackLayout layout = new StackLayout() { VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand, BackgroundColor = FixParams.PanelColor, Padding = 2 * FixParams.AspectRate }; grdCalendar = CreateCalendar(1394, currentInt); layout.Children.Add(MonthName); layout.Children.Add(grdCalendar); _ActiveDate = "1394/" + CalendarClass.FullMonthCode((currentInt - 1).ToString()) + "/05"; Button btnGotoWeekView = new Button() { BackgroundColor = FixParams.PanelColor, Text = "هفته", FontSize = FixParams.StandardSize, TextColor = FixParams.FontColor, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.StartAndExpand, }; Button btnGotoYearView = new Button() { BackgroundColor = FixParams.PanelColor, Text = "سال", FontSize = FixParams.StandardSize, TextColor = FixParams.FontColor, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.EndAndExpand, }; btnGotoWeekView.Clicked += OnWeekClicked; StackLayout ButtomLayout = new StackLayout { Children = { btnGotoWeekView, btnGotoYearView }, Orientation = StackOrientation.Horizontal, BackgroundColor = FixParams.PanelColor, VerticalOptions = LayoutOptions.EndAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand, }; Entry PerisianDate = new Entry { Text = _ActiveDate, TextColor = FixParams.FontColor, BackgroundColor = FixParams.BackgroundColor }; Image btnCalendar = new Image { Source = ImageSource.FromFile("Calendar.png"), HeightRequest = 40, WidthRequest = 40, }; Label lblPersianDate = new Label { Text = "تاریخ جلالی", FontSize = FixParams.SmallSize, TextColor = FixParams.FontColor }; var grdPersianDate = new Grid(); grdPersianDate.RowDefinitions.Add(new RowDefinition()); grdPersianDate.ColumnDefinitions.Add(new ColumnDefinition { Width = 40 }); grdPersianDate.ColumnDefinitions.Add(new ColumnDefinition()); grdPersianDate.ColumnDefinitions.Add(new ColumnDefinition() { Width = 50 }); grdPersianDate.Children.Add(lblPersianDate, 2, 0); grdPersianDate.Children.Add(PerisianDate, 1, 0); grdPersianDate.Children.Add(btnCalendar, 0, 0); StackLayout ConvertLayout = new StackLayout { Children = { new StackLayout { Children = { new BoxView() { Color = FixParams.AlterFontColor, HeightRequest = 1 }, grdPersianDate, new BoxView() { Color = FixParams.AlterFontColor, HeightRequest = 1 }, }, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand, }, }, Orientation = StackOrientation.Horizontal, BackgroundColor = FixParams.PanelColor, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand, }; layout.Children.Add(ButtomLayout); return(new ContentPage { Content = layout }); }