private void GetMonths()
 {
     Months.Clear();
     if (App.language.Equals("ar"))
     {
         Months.Add("يناير");
         Months.Add("فبراير");
         Months.Add("مارس");
         Months.Add("أبريل");
         Months.Add("مايو");
         Months.Add("يونيو");
         Months.Add("يوليو");
         Months.Add("أغسطس");
         Months.Add("سبتمبر");
         Months.Add("أكتوبر");
         Months.Add("نوفمبر");
         Months.Add("ديسمبر");
     }
     else
     {
         Months.Add("January");
         Months.Add("February");
         Months.Add("March");
         Months.Add("April");
         Months.Add("May");
         Months.Add("June");
         Months.Add("July");
         Months.Add("August");
         Months.Add("September");
         Months.Add("October");
         Months.Add("November");
         Months.Add("December");
     }
 }
Esempio n. 2
0
 private void CreateMonths()
 {
     for (int i = 1; i < 13; i++)
     {
         Months.Add(i, new Month(this, i));
     }
 }
Esempio n. 3
0
        private void PopulateDateCollection()
        {
            //populate months
            for (int i = 1; i < 13; i++)
            {
                if (!Months.ContainsKey(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i).Substring(0, 3)))
                {
                    Months.Add(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i).Substring(0, 3), CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i));
                }
                Month.Add(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i).Substring(0, 3));
            }
            //populate year
            for (int i = 1990; i < 2050; i++)
            {
                Year.Add(i.ToString());
            }

            ////populate Days
            //for (int i = 1; i <= DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); i++)
            //{
            //    if (i < 10)
            //    {
            //        Day.Add("0" + i);
            //    }
            //    else
            //        Day.Add(i.ToString());
            //}

            Date.Add(Month);

            //Date.Add(Day);

            Date.Add(Year);
        }
Esempio n. 4
0
        private void LoadMonths()
        {
            if (BlackoutDays == null)
            {
                return;
            }

            for (DateTime i = Min; i <= Max;)
            {
                var dateTime = new DateTime(i.Year, i.Month, 1);

                var dateTimeModel = new RTDCalendarViewToggleButton()
                {
                    DateTime             = dateTime,
                    IsBlackout           = true,
                    IsSelected           = false,
                    IsBlackSelectionMode = false,
                    IsDisabled           = false,
                    IsToday = false
                };

                Months.Add(new CalendarDays <RTDCalendarViewToggleButton>(dateTimeModel, BlackoutDays.ToArray()));
                i = i.AddMonths(1);
            }
        }
Esempio n. 5
0
        private void GetMonths()
        {
            if (File.Exists(FullPath))
            {
                string[] lines;
                lock (_fileLock)
                {
                    lines = File.ReadAllLines(FullPath);
                }

                List <string> monthLines = new List <string>();
                foreach (string line in lines)
                {
                    monthLines.Add(line);
                    if (line == "</TimeLog>")
                    {
                        try
                        {
                            Months.Add(MonthData.FromLines(monthLines));
                        }
                        catch (Exception ex)
                        {
                            LogMessageAvailable?.Invoke(this, new LogMessage()
                            {
                                MessageSeverity = LogMessage.Severity.Error, Message = ex.Message
                            });
                        }
                        monthLines.Clear();
                    }
                }
                int monthcount = Months.Count;
            }
        }
Esempio n. 6
0
        // Populates months, years and days which will be available in the picker

        private void PopulateDateCollection()

        {
            for (var i = 1; i <= 12; i++)
            {
                if (!Months.ContainsKey(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i).Substring(0, 3)))
                {
                    Months.Add(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i).Substring(0, 3), CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i));
                }

                Month.Add(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i).Substring(0, 3));
            }

            // Available years = 2000-2025
            for (var i = 2000; i < 2025; i++)
            {
                Year.Add(i.ToString());
            }

            for (var i = 1; i <= DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); i++)
            {
                if (i < 10)
                {
                    Day.Add("0" + i);
                }
                else
                {
                    Day.Add(i.ToString());
                }
            }

            Date.Add(Month);
            Date.Add(Day);
            Date.Add(Year);
        }
Esempio n. 7
0
        public void SetMonths(DateTime selectedDate, IList <DateTime> visibleDates)
        {
            int year = selectedDate.Year;

            Year = year.ToString();
            var months = GetFirstDaysOfMonths(year).Select(d =>
            {
                return(new MonthSelectorMonthViewModel()
                {
                    FirstDayOfMonth = d,
                    IsSelected = d == selectedDate,
                    IsVisible = visibleDates.Contains(d)
                });
            }).ToList();

            if (Months.Count == 12)
            {
                for (int i = 0; i < 12; i++)
                {
                    Months[i] = months[i];
                }
            }
            else
            {
                foreach (var month in months)
                {
                    Months.Add(month);
                }
            }
        }
Esempio n. 8
0
        private void LoadOrUpdateMonths()
        {
            var date = new DateTime(SelectedDate.Year, 1, 1);

            for (int i = 0; i < 12; i++)
            {
                if (Months.Count <= i)
                {
                    var CalendarXItem = new CalendarXModelItem()
                    {
                        Value       = date,
                        DisplayName = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(date.Month),
                        IsEnabled   = IsMonthValidated(date),
                        IsChecked   = (date.Year == SelectedDate.Year && date.Month == SelectedDate.Month),
                    };
                    Months.Add(CalendarXItem);
                }
                else
                {
                    var CalendarXItem = Months[i];
                    CalendarXItem.Value       = date;
                    CalendarXItem.DisplayName = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(date.Month);
                    CalendarXItem.IsEnabled   = IsMonthValidated(date);
                    CalendarXItem.IsChecked   = (date.Year == SelectedDate.Year && date.Month == SelectedDate.Month);
                }
                date = date.AddMonths(1);
            }
        }
Esempio n. 9
0
 public ViewModel()
 {
     for (int i = 0; i < 12; i++)
     {
         Months.Add(new Month(i + 1, 31, this));                  //this is simplified
     }
     SelectedMonth = Months.First();
 }
Esempio n. 10
0
        public ContractInfomation ContractOf(string fileName)
        {
            int index = fileName.LastIndexOf('\\');

            fileName = fileName.Substring(index + 1);

            if (!fileName.StartsWith(Symbol))
            {
                throw new Exception("Unexpected filename: " + fileName);
            }

            if (fileName.EndsWith("da1"))
            {
                if (fileName.Contains('.'))
                {
                    fileName = fileName.Substring(0, fileName.IndexOf('.'));
                }

                char code = fileName[fileName.Length - 1];

                int month, year = DateTimeOffset.Now.Year;

                month = MonthCodes.MonthOf(code);

                return(new ContractInfomation(this, year, month));
            }
            else
            {
                if (fileName.Contains('.'))
                {
                    fileName = fileName.Substring(0, fileName.IndexOf('.'));
                }

                char code = fileName[fileName.Length - 1];
                if (!MonthCodeString.Contains(code))
                {
                    //throw new Exception(string.Format("The commodity contains no contract for month of {0}({1})", code, MonthCodes.MonthCodeOf(code).Name));
                    MonthCodeString = string.Format("{0}{1}", code, MonthCodeString);
                    Months.Add(MonthCodes.MonthCodeOf(code));
                    Months.Sort();
                }

                int month, year;

                month = MonthCodes.MonthOf(code);

                string yearString = fileName.Substring(Symbol.Length, fileName.Length - Symbol.Length - 1);

                if (int.TryParse(yearString, out year))
                {
                    return(new ContractInfomation(this, year > 30 ? 1900 + year : 2000 + year, month));
                }
                else
                {
                    throw new Exception("Failed to parse year from " + yearString);
                }
            }
        }
Esempio n. 11
0
        private void fillMonthArray()
        {
            var monthIterator = initialMonth;

            for (int i = 0; i < 12; i++, monthIterator = monthIterator.Next())
            {
                Months.Add(new CalendarPageViewModel(monthIterator, BeginningOfWeek, timeService.CurrentDateTime));
            }
        }
Esempio n. 12
0
        private void LoadMonths()
        {
            Months.Clear();

            foreach (var date in calendar.selectedDates)
            {
                Months.Add(FileManager.LoadDataMonth(GlobalSettings.pathData, date.month, date.year));
            }
        }
Esempio n. 13
0
        public TimeItemCollection()
        {
            DateTime date   = DateTime.Now;
            int      month  = date.Month;
            int      day    = date.Day;
            int      hour   = date.Hour;
            int      min    = date.Minute;
            int      second = date.Second;

            for (int i = 1; i <= 12; i++)
            {
                Months.Add(new TimeItem()
                {
                    Content = $"{i.ToString().PadLeft(2, '0')}月",
                    Value   = i,
                    Angle   = 30 * (i - month - 1)
                });
            }
            for (int i = 1; i <= 31; i++)
            {
                Days.Add(new TimeItem()
                {
                    Content = $"{i.ToString().PadLeft(2, '0')}天",
                    Value   = i,
                    Angle   = 360.0 / 31.0 * (i - day - 1)
                });
            }
            for (int i = 0; i < 24; i++)
            {
                Hours.Add(new TimeItem()
                {
                    Content = $"{i.ToString().PadLeft(2, '0')}点",
                    Value   = i,
                    Angle   = 15 * (i - hour - 1)
                });
            }
            for (int i = 0; i < 60; i++)
            {
                Mins.Add(new TimeItem()
                {
                    Content = $"{i.ToString().PadLeft(2, '0')}分",
                    Value   = i,
                    Angle   = 6 * (i - min - 1)
                });
            }
            for (int i = 0; i < 60; i++)
            {
                Seconds.Add(new TimeItem()
                {
                    Content = $"{i.ToString().PadLeft(2, '0')}秒",
                    Value   = i,
                    Angle   = 6 * (i - second - 1)
                });
            }
        }
        private void InitializeCurrentMonth(DateTime dateTime)
        {
            var currentDateTime = new DateTime(dateTime.Year, dateTime.Month, 1);

            _currentMonth = new MonthViewModel(
                currentDateTime,
                SelectDayCommand,
                _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(currentDateTime, ConstantsHelper.Active),
                _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(currentDateTime, ConstantsHelper.Completed));

            Months.Add(_currentMonth);
        }
Esempio n. 15
0
        public MainWindowModel(IClock clock)
        {
            var now = clock.UtcNow;

            Month.GetAllMonths().ForEach(a => Months.Add(a));
            Enumerable.Range(2019, now.Year - (AppStartYear - ShowLastNumberOfYears)).ForEach(a => Years.Add(a));
            var currentMonth = now.Month;

            SelectedMonth         = new Month(currentMonth);
            SelectedYear          = now.Year;
            previousSelectedMonth = SelectedMonth;
            previousSelectedYear  = SelectedYear;
            Subscribers           = new ObservableCollection <Subscriber>();
        }
 public TravelPlanStatisticsViewModel()
 {
     Months.Add(new SelectListItem("January", "1"));
     Months.Add(new SelectListItem("February ", "2"));
     Months.Add(new SelectListItem("March ", "3"));
     Months.Add(new SelectListItem("April ", "4"));
     Months.Add(new SelectListItem("May", "5"));
     Months.Add(new SelectListItem("June", "6"));
     Months.Add(new SelectListItem("July", "7"));
     Months.Add(new SelectListItem("August", "8"));
     Months.Add(new SelectListItem("September", "9"));
     Months.Add(new SelectListItem("October", "10"));
     Months.Add(new SelectListItem("November", "11"));
     Months.Add(new SelectListItem("December", "12"));
 }
Esempio n. 17
0
        public ScheduleViewModel()
        {
#if DEBUG
            Months.Add(new DateTime(2016, 1, 1));
            Months.Add(new DateTime(2016, 2, 1));
            Months.Add(new DateTime(2016, 3, 1));
            Months.Add(new DateTime(2016, 4, 1));
            Months.Add(new DateTime(2016, 5, 1));
            Months.Add(new DateTime(2016, 6, 1));
            Months.Add(new DateTime(2016, 7, 1));
            Months.Add(new DateTime(2016, 8, 1));
#endif
            if (itemsSource != null)
            {
                itemsSource.CollectionChanged += ItemsSource_CollectionChanged;
            }
        }
Esempio n. 18
0
        public void InitRealMonths()
        {
            Months.Clear();

            Months.Add("January", 31);
            Months.Add("February", 28);
            Months.Add("March", 31);
            Months.Add("April", 30);
            Months.Add("May", 31);
            Months.Add("June", 30);
            Months.Add("July", 31);
            Months.Add("August", 31);
            Months.Add("September", 30);
            Months.Add("October", 31);
            Months.Add("November", 30);
            Months.Add("December", 31);
        }
Esempio n. 19
0
 private void Init()
 {
     for (var i = 1; i <= 12; i++)
     {
         Months.Add(new MonthClass(i, Number));
     }
     if (Number != DateTime.Now.Year)
     {
         SelectedMonth = Months[0];
         SelectedDay   = SelectedMonth.Days[0];
     }
     else
     {
         SelectedMonth = Months[DateTime.Now.Month - 1];
         SelectedDay   = SelectedMonth.Days[DateTime.Now.Day - 1];
     }
 }
        protected void DeserializeInternal <TMonth, TDay, TNote>(XmlNode node)
            where TMonth : CalendarMonth
            where TDay : CalendarDay
            where TNote : CalendarNote
        {
            foreach (XmlNode childNode in node.ChildNodes)
            {
                switch (childNode.Name)
                {
                case "Days":
                    Days.Clear();
                    foreach (XmlNode dayNode in childNode.ChildNodes)
                    {
                        var day = (TDay)Activator.CreateInstance(typeof(TDay));
                        day.Deserialize(dayNode);
                        Days.Add(day);
                    }
                    break;

                case "Months":
                    Months.Clear();
                    foreach (XmlNode monthNode in childNode.ChildNodes)
                    {
                        var month = (TMonth)Activator.CreateInstance(typeof(TMonth));
                        month.Deserialize(monthNode);
                        Months.Add(month);
                    }
                    break;

                case "CalendarNotes":
                    Notes.Clear();
                    foreach (XmlNode noteNode in childNode.ChildNodes)
                    {
                        var note = (TNote)Activator.CreateInstance(typeof(TNote));
                        note.Deserialize(noteNode);
                        if (note.StartDay != DateTime.MinValue && note.FinishDay != DateTime.MinValue)
                        {
                            Notes.Add(note);
                        }
                    }
                    break;
                }
            }
        }
Esempio n. 21
0
        private ObservableCollection <Month> CreateMonth(DateTime date)
        {
            months.Clear();

            int monthIndex = 1;

            while (monthIndex < 13)
            {
                Month month = new Month()
                {
                    SelectedDate = new DateTime(date.Year, monthIndex, date.AddMonths(monthIndex - 1).Day), DefaultDate = date, CurrentDate = date, Days = days == null?CreateDay(date) : days
                };
                month.MonthSelected += month_MonthSelected;
                Months.Add(month);

                monthIndex++;
            }
            return(months);
        }
Esempio n. 22
0
        public PersonPageVM()
        {
            ActorPage actorPage = new ActorPage();

            actorPage.DataContext = this;
            View = actorPage;

            for (int i = 1; i <= 31; i++)
            {
                Days.Add(i);
            }
            for (int i = 1; i <= 12; i++)
            {
                Months.Add(i);
            }
            for (int i = DateTime.Now.Year; i >= 1900; i--)
            {
                Years.Add(i);
            }
        }
Esempio n. 23
0
 public void ReadFile(string filename)
 {
     try
     {
         List <string> data  = new List <string>();
         string[]      lines = System.IO.File.ReadAllLines(filename);
         foreach (string curr in lines)
         {
             if (curr.StartsWith(" ") && !curr.StartsWith("\t")) //check if line starts with space && is not blank
             {
                 string[] cols = curr.Trim().Split((char[])null, StringSplitOptions.RemoveEmptyEntries);
                 if (cols[0] == "MMU") //add month
                 {
                     CurrMonth = new Month(cols[1], Int32.Parse(cols[2]));
                     Months.Add(CurrMonth);
                 }
                 else if (cols[0] == "mo" && cols.Length == 9 && CurrMonth != null)   //add month attributes
                 {
                     CurrMonth.SetFields(cols);
                     //debug: Console.WriteLine("Added all columns");
                 }
                 else if (cols[0] != "Dy")   //created new day
                 {
                     CurrMonth.Days.Add(new Day(curr));
                 }
             }
         }
         foreach (Month m in Months)
         {
             Console.WriteLine("Weather data for " + m.Title + " " + m.Year + " loaded with " + m.Days.Count + " days");
         }
     } catch (System.Exception e)
     {
         Console.WriteLine(e);
     } finally
     {
         Console.WriteLine("File Load Complete");
     }
 }
        private async Task InitializePreviousAndNextMonths(DateTime dateTime)
        {
            await Task.Delay(50);

            var currentDateTime = new DateTime(dateTime.Year, dateTime.Month, 1);

            for (int i = 1; i < CachedMonthCount; i++)
            {
                var previousMonthDateTime = currentDateTime.AddMonths(-i);
                var nextMonthDateTime     = currentDateTime.AddMonths(i);

                var previousMonth = new MonthViewModel(
                    previousMonthDateTime,
                    SelectDayCommand,
                    _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(
                        previousMonthDateTime,
                        ConstantsHelper.Active),
                    _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(
                        previousMonthDateTime,
                        ConstantsHelper.Completed));

                var nextMonth = new MonthViewModel(
                    nextMonthDateTime,
                    SelectDayCommand,
                    _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(
                        nextMonthDateTime,
                        ConstantsHelper.Active),
                    _toDoCalendarViewModel.GetDaysWithToDoByDateAndStatus(
                        nextMonthDateTime,
                        ConstantsHelper.Completed));

                Device.BeginInvokeOnMainThread(() =>
                {
                    Months.Insert(0, previousMonth);
                    Months.Add(nextMonth);
                });
            }
        }
Esempio n. 25
0
        private void LoadYears()
        {
            for (DateTime i = Min; i <= Max;)
            {
                for (int j = 1; j <= 12; j++)
                {
                    var dateTime = new DateTime(i.Year, j, 1);

                    var dateTimeModel = new RTDCalendarViewToggleButton()
                    {
                        DateTime             = dateTime,
                        IsBlackout           = false,
                        IsSelected           = false,
                        IsBlackSelectionMode = false,
                        IsDisabled           = false,
                        IsToday = false
                    };

                    Months.Add(new CalendarDays <RTDCalendarViewToggleButton>(dateTimeModel));
                }
                i = i.AddYears(1);
            }
        }
Esempio n. 26
0
        private async Task FillCalendar()
        {
            if (IsBusy)
            {
                return;
            }

            if (Months.Count == 0)
            {
                for (int i = 1; i <= 12; i++)
                {
                    Months.Add(new DateTime(2019, i, 1));
                }
            }

            if (selectedMonths == DateTime.MinValue)
            {
                return;
            }

            IsBusy = true;

            await Task.Delay(3000);

            itemsSource.Clear();

            CalendarDay[] calendarDays = CreateTestData();
            var           arr          = calendarDays.GroupBy(p => p.NumberOfWeek).Select(p => new CalendarWeek(p.Select(n => n).ToArray()));

            foreach (var a in arr)
            {
                itemsSource.Add(a);
            }

            IsBusy = false;
        }
Esempio n. 27
0
        public async void ReadMyXML(string year)
        {
            Months = new Months();

            Progress<int> progress = new Progress<int>((p) => { ProgressPercent = p; });

            BasicFileDownloader bidl = new BasicFileDownloader(ToAbsoluteUri("xmlmonths.aspx?ay=" + year));
            IRandomAccessStream s = await bidl.DownloadAsync(progress);

            XmlReaderSettings settings = new XmlReaderSettings();
            settings.ConformanceLevel = ConformanceLevel.Fragment;
            settings.IgnoreWhitespace = true;
            settings.IgnoreComments = true;
            settings.Async = true;
            XmlReader reader = XmlReader.Create(s.AsStream(), settings);
            reader.ReadStartElement("Model");
            reader.ReadStartElement("Months");
            Count = 0;
            while (reader.IsStartElement())
            {
                string month = reader[0];
                string str = reader[1];
                str = str.Replace("_s.jpg", "");
                if (!String.IsNullOrEmpty(str))
                {
                    uint count = 0;
                    if (uint.TryParse(reader[2], out count))
                    {
                        Month m = new Month(month, str, count);
                        Months.Add(m);
                        Count += m.Count;
                    }
                }
                await reader.ReadAsync();
            }
        }
Esempio n. 28
0
        private void PopulateDateCollection()
        {
            //populate Days
            for (int i = 1; i <= DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); i++)
            {
                if (i < 10)
                {
                    Day.Add("0" + i);
                }
                else
                {
                    Day.Add(i.ToString());
                }
            }

            //populate year
            for (int i = 1990; i < 2050; i++)
            {
                Year.Add(i.ToString());
            }


            //populate months

            for (int i = 1; i < 13; i++)
            {
                if (!Months.ContainsKey(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i).Substring(0, 3)))
                {
                    Months.Add(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i).Substring(0, 3), CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i));
                }
                Month.Add(CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i).Substring(0, 3));
            }
            Date.Add(Year);
            Date.Add(Month);
            Date.Add(Day);

            for (int i = 1; i <= 24; i++)
            {
                if (i < 10)
                {
                    Hour.Add("0" + i.ToString());
                }
                else
                {
                    Hour.Add(i.ToString());
                }
            }
            for (int j = 0; j < 60; j++)
            {
                if (j < 10)
                {
                    Minute.Add("0" + j);
                }
                else
                {
                    Minute.Add(j.ToString());
                }
            }



            Date.Add(Hour);
            Date.Add(Minute);
        }
Esempio n. 29
0
        public CronPattern Parse(string cron, JalaliCalendar startDate, JalaliCalendar endDate)
        {
            //CronTabScheduler cronTabScheduler = new NCronTab.CronTabScheduler();
            var persianCalendarPart = new JalaliCalendar();

            var parts = cron.Split(' ');


            #region [Days]
            int dayStep          = 0;
            int currentDayOfYear = 0;
            if (parts[2] == "*")
            {
                for (int i = startDate.DaysInYears; i <= endDate.DaysInYears; i++)
                {
                    Days.Add(i);
                }
            }
            else
            {
                var dayParts = parts[2].Split('/');
                if (dayParts.Count() == 1)
                {
                    Days.Add(int.Parse(dayParts[0]));
                }
                else if (dayParts.Count() == 2)
                {
                    var days = dayParts[1].Split(',');
                    dayStep          = int.Parse(days[0]);
                    currentDayOfYear = startDate.DayOfYear;
                    for (int i = startDate.DaysInYears; i <= endDate.DaysInYears; i = i + dayStep)
                    {
                        Days.Add(i);
                    }
                }
            }

            //else
            //{
            //    if (parts[2].Contains("-"))
            //    {
            //        Days.Clear();
            //        var dayParts = parts[2].Split('-');
            //        var firstOfWeek = int.Parse(dayParts[0]);
            //        var endOfWeek = int.Parse(dayParts[1]);
            //        currentDayOfYear = startDate.DayOfYear;

            //        for (int i = startDate.DaysInYears; i <= endDate.DaysInYears; i++)
            //        {
            //            var dayOfMonth = persianCalendarPart.DayOfYearToDayOfMonth(i);
            //            var dayNum = persianCalendarPart.DayOfYearToDayNum(i);

            //            if (WeekDays.Contains(dayNum) && dayOfMonth >= firstOfWeek && dayOfMonth < endOfWeek)
            //                Days.Add(i);
            //        }
            //        Months = null;
            //        return this;
            //    }
            //    else
            //    {
            //        var dayParts = parts[2].Split('/');
            //        if (dayParts.Count() == 1)
            //        {
            //            Days.Add(int.Parse(dayParts[0]));
            //        }
            //        else if (dayParts.Count() == 2)
            //        {
            //            var days = dayParts[1].Split(',');
            //            dayStep = int.Parse(days[0]);
            //            currentDayOfYear = startDate.DayOfYear;
            //            for (int i = startDate.DayOfYear; i <= endDate.DayOfYear; i = i + dayStep)
            //            {
            //                Days.Add(i);
            //            }
            //        }
            //    }
            //}
            #endregion



            //for (int i = startDate.Year; i <= endDate.Year; i++)
            //{
            //    Years.Add(i);
            //}



            #region [WeekDays]
            if (parts[4] != "*")
            {
                Days = new List <int>();
                var        yearParts   = parts[4].Split(',');
                List <int> daysForWeek = new List <int>();
                for (int i = startDate.DaysInYears; i <= endDate.DaysInYears; i++)
                {
                    daysForWeek.Add(i);
                }
                foreach (var item in yearParts)
                {
                    var dayNum = persianCalendarPart.WeekMapping.FirstOrDefault(q => q.Key == item);
                    WeekDays.Add(dayNum.Value);
                }
                foreach (var dayForWeek in daysForWeek)
                {
                    var dayNum = persianCalendarPart.DaysInYearsToDayNum(dayForWeek);
                    if (WeekDays.Contains(dayNum))
                    {
                        Days.Add(dayForWeek);
                    }
                }
            }
            #endregion


            #region [Minutes]
            if (parts[0] == "*")
            {
                for (int i = 0; i < 60; i++)
                {
                    Minutes.Add(i);
                }
            }
            else
            {
                var minuteParts = parts[0].Split('/');
                if (minuteParts.Count() == 1)
                {
                    Minutes.Add(int.Parse(minuteParts[0]));
                }
                else if (minuteParts.Count() == 2)
                {
                    int minPart = 0;
                    if (minuteParts[0] == "*" && int.TryParse(minuteParts[1].ToString(), out minPart))
                    {
                        for (int i = startDate.MinuteOfYear; i < endDate.MinuteOfYear; i = i + minPart)
                        {
                            Minutes.Add(i);
                        }
                    }
                    return(this);
                }
            }

            #endregion



            #region [Hours]
            if (parts[1] == "*")
            {
                for (int i = 0; i < 24; i++)
                {
                    Hours.Add(i);
                }
            }
            else
            {
                var hourParts = parts[1].Split('/');
                if (hourParts.Count() == 1)
                {
                    Hours.Add(int.Parse(hourParts[0]));
                }
                else if (hourParts.Count() == 2)
                {
                    int minPart = 0;
                    if (hourParts[0] == "*" && int.TryParse(hourParts[1].ToString(), out minPart))
                    {
                        for (int i = startDate.Hour; i < endDate.Hour; i = i + minPart)
                        {
                            Hours.Add(i);
                        }
                    }
                }
            }
            #endregion

            #region [Months]
            bool       monthly      = false;
            List <int> monthStep    = new List <int>();
            int        currentMonth = 0;
            if (parts[3] == "*")
            {
                Months.Add(1);
            }
            else
            {
                var monthParts = parts[3].Split('/');
                if (monthParts.Count() == 1)
                {
                    monthly = false;
                    monthStep.Add(int.Parse(monthParts[0]));
                }
                else if (monthParts.Count() == 2)
                {
                    monthly = true;
                    foreach (var item in monthParts[1].Split(','))
                    {
                        monthStep.Add(int.Parse(item));
                    }
                }

                var daysInMonthPart = new List <int>();
                var days            = new List <int>();
                days.AddRange(Days);
                Days.Clear();
                for (int i = startDate.DaysInYears; i <= endDate.DaysInYears; i++)
                {
                    int yearr;
                    int month;
                    int day;
                    persianCalendarPart.DaysInYearsToDateParts(i, out yearr, out month, out day);
                    if (monthly && (monthStep.Any(q => q == month)) && days.Contains(day))
                    {
                        Days.Add(i);
                    }
                    else
                    if ((month == monthStep[0]) && days.Contains(day))
                    {
                        Days.Add(i);
                    }
                }
            }
            #endregion
            return(this);
        }