public static Models.PersianDate AddMonths(Models.PersianDate date, int number) { var temp = ToDateTime(date); var res = temp.AddMonths(number); return(ToPersianDate(res)); }
public static Models.PersianDate AddDays(Models.PersianDate date, int number) { var t = ToDateTime(date); t = t.AddDays(number); var res = ToPersianDate(t); return(res); }
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++; } } }
public static int DayOfWeekend(Models.PersianDate date) { var temp = ToDateTime(date); return(GetIndexOfDay(temp.DayOfWeek)); }
public static long Ticks(Models.PersianDate date) { var temp = ToDateTime(date); return(temp.Ticks); }
public static DateTime ToDateTime(Models.PersianDate date) { return(Xamarin.Forms.DependencyService.Get <Interfaces.IDateConvertor>().ConvertToDateTime(date)); }