public void Reset()
 {
     Days.Clear();
     Months.Clear();
     Notes.Clear();
     AfterConstraction();
 }
 protected void UpdateMonthCollection <T>() where T : CalendarMonth
 {
     if (ParentScheduleSettings.FlightDateStart.HasValue && ParentScheduleSettings.FlightDateEnd.HasValue)
     {
         var months    = new List <CalendarMonth>();
         var startDate = new DateTime(ParentScheduleSettings.FlightDateStart.Value.Year, ParentScheduleSettings.FlightDateStart.Value.Month, 1);
         while (startDate <= ParentScheduleSettings.FlightDateEnd.Value)
         {
             var month = Months.FirstOrDefault(x => x.Date.Equals(startDate));
             if (month == null)
             {
                 month      = (T)Activator.CreateInstance(typeof(T), this);
                 month.Date = startDate;
             }
             month.Days.Clear();
             month.Days.AddRange(Days.Where(x => x.Date >= month.DaysRangeBegin && x.Date <= month.DaysRangeEnd));
             months.Add(month);
             startDate = startDate.AddMonths(1);
         }
         Months.Clear();
         Months.AddRange(months);
     }
     else
     {
         Months.Clear();
     }
 }
 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");
     }
 }
 private void ReloadMonthsIfNecessary()
 {
     if (!Months.Contains(_currentMonth))
     {
         Months.Clear();
         InitializeMonths(DateTime.Now);
     }
 }
Esempio n. 5
0
        private void LoadMonths()
        {
            Months.Clear();

            foreach (var date in calendar.selectedDates)
            {
                Months.Add(FileManager.LoadDataMonth(GlobalSettings.pathData, date.month, date.year));
            }
        }
        private void MoveToSelectedDateTimeIfNecessary(DateTime dateTime)
        {
            var day = Months.SelectMany(x => x.Days)
                      .FirstOrDefault(x => x.CurrentDate.Year == dateTime.Year &&
                                      x.CurrentDate.Month == dateTime.Month &&
                                      x.CurrentDate.Day == dateTime.Day);

            if (day == null)
            {
                Months.Clear();
                InitializeMonths(dateTime);
            }
        }
        public void Dispose()
        {
            Months.ForEach(m => m.Dispose());
            Months.Clear();

            Days.ForEach(m => m.Dispose());
            Days.Clear();

            Notes.ForEach(m => m.Dispose());
            Notes.Clear();

            Parent = null;
        }
Esempio n. 8
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. 9
0
        public override void UpdateMonthCollection()
        {
            if (!MediaScheduleSettings.FlightDateStart.HasValue || !MediaScheduleSettings.FlightDateEnd.HasValue)
            {
                Months.Clear();
                return;
            }
            var months         = new List <CalendarMonth>();
            var startDate      = MediaScheduleSettings.FlightDateStart.Value;
            var monthTemplates = MediaScheduleSettings.MondayBased ?
                                 MediaMetaData.Instance.ListManager.MonthTemplatesMondayBased :
                                 MediaMetaData.Instance.ListManager.MonthTemplatesSundayBased;

            while (startDate <= MediaScheduleSettings.FlightDateEnd.Value)
            {
                var monthTemplate = monthTemplates.FirstOrDefault(mt => startDate >= mt.StartDate && startDate <= mt.EndDate);
                if (monthTemplate == null)
                {
                    continue;
                }

                startDate = monthTemplate.Month.Value;
                var month = Months.FirstOrDefault(x => x.Date == startDate);
                if (month == null)
                {
                    if (MediaScheduleSettings.MondayBased)
                    {
                        month = new CalendarMonthMediaMondayBased(this);
                    }
                    else
                    {
                        month = new CalendarMonthMediaSundayBased(this);
                    }
                    ApplyDefaultMonthSettings(month);
                }
                month.Date           = monthTemplate.Month.Value;
                month.DaysRangeBegin = monthTemplate.StartDate.Value;
                month.DaysRangeEnd   = monthTemplate.EndDate.Value;
                month.Days.Clear();
                month.Days.AddRange(Days.Where(x => x.Date >= month.DaysRangeBegin && x.Date <= month.DaysRangeEnd));
                months.Add(month);
                startDate = startDate.AddMonths(1);
            }
            Months.Clear();
            Months.AddRange(months);
        }
        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;
                }
            }
        }