Пример #1
0
        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);
        }
Пример #2
0
        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));
        }
Пример #3
0
        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);
        }
Пример #4
0
        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;
            }
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        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;
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
            }
        }
Пример #10
0
        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);
        }
Пример #11
0
        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
            });
        }