Example #1
0
        public static Models.PersianDate AddMonths(Models.PersianDate date, int number)
        {
            var temp = ToDateTime(date);
            var res  = temp.AddMonths(number);

            return(ToPersianDate(res));
        }
Example #2
0
        public static Models.PersianDate AddDays(Models.PersianDate date, int number)
        {
            var t = ToDateTime(date);

            t = t.AddDays(number);

            var res = ToPersianDate(t);

            return(res);
        }
Example #3
0
        private void FirstInitial(DateTime?indexDate)
        {
            PickerGrid.Children.Clear();

            DateTime temp;

            if (indexDate.HasValue)
            {
                temp = indexDate.Value;
            }
            else
            {
                temp = DateTime.Now;
            }

            var temp1  = Helper.DateConvertor.ToPersianDate(temp);
            var tempPA = new Models.PersianDate(temp1.Year, temp1.Month, 1);

            var temp2  = Helper.DateConvertor.AddMonths(tempPA, 1);
            var tempPB = new Models.PersianDate(temp2.Year, temp2.Month, temp2.Day);

            _selectedYear  = tempPA.Year;
            _selectedMonth = tempPA.Month;
            _selectedDay   = tempPA.Day;

            yearPicker.SelectedItem = _selectedYear;

            currentMonthName.Text = Helper.DateConvertor.GetPersianMonthName(_selectedMonth);

            int indexX = 0;
            int indexY = 1;

            SelectDay = new Command((obj) =>
            {
                _selectedDay = (int)obj;
                Selected?.Invoke(this, new Models.PersianDate
                {
                    Year  = _selectedYear,
                    Month = _selectedMonth,
                    Day   = _selectedDay
                });

                Service.NavigationService.PopModalPage();
            });

            AddWeekendDays();

            while (true)
            {
                if (Helper.DateConvertor.Ticks(tempPA) >= Helper.DateConvertor.Ticks(tempPB))
                {
                    break;
                }

                if (Helper.DateConvertor.DayOfWeekend(tempPA) == indexX)
                {
                    PickerGrid.Children.Add(new Button()
                    {
                        Text             = tempPA.Day.ToString(),
                        Command          = SelectDay,
                        CommandParameter = tempPA.Day,
                    }, 6 - indexX, indexY);

                    tempPA = Helper.DateConvertor.AddDays(tempPA, 1);
                }
                else
                {
                    PickerGrid.Children.Add(new Button()
                    {
                        Text = "*", CommandParameter = ""
                    }, 6 - indexX, indexY);
                }

                indexX++;

                if (indexX >= 7)
                {
                    indexX = 0;
                    indexY++;
                }
            }
        }
Example #4
0
        public static int DayOfWeekend(Models.PersianDate date)
        {
            var temp = ToDateTime(date);

            return(GetIndexOfDay(temp.DayOfWeek));
        }
Example #5
0
        public static long Ticks(Models.PersianDate date)
        {
            var temp = ToDateTime(date);

            return(temp.Ticks);
        }
Example #6
0
 public static DateTime ToDateTime(Models.PersianDate date)
 {
     return(Xamarin.Forms.DependencyService.Get <Interfaces.IDateConvertor>().ConvertToDateTime(date));
 }