public YearControl(CalendarYear data) { InitializeComponent(); Data = data; Months = new List<MonthControl>(); WeekDaysPanels = new List<Panel>(); Text = Data.Year.ToString(); Resize += YearControl_Resize; }
public void Load() { Configured = false; Years.Clear(); Files.Clear(); if (!Directory.Exists(PartFolderPath)) return; var configFile = Path.Combine(PartFolderPath, CalendarPartConfigFileName); if (!File.Exists(configFile)) return; try { var document = new XmlDocument(); document.Load(configFile); var node = document.SelectSingleNode(@"/Config/Name"); if (node != null) { Name = node.InnerText; Configured = true; } node = document.SelectSingleNode(@"/Config/Enabled"); if (node != null) { bool temp; if (Boolean.TryParse(node.InnerText, out temp)) Enabled = temp; } } catch { } if (!Configured || !Enabled) return; foreach (var yearFolderPath in Directory.GetDirectories(PartFolderPath)) { int temp; if (!int.TryParse(Path.GetFileName(yearFolderPath), out temp)) continue; var year = new CalendarYear(this); year.RootFolderPath = yearFolderPath; year.Year = temp; Files.AddRange(Directory.GetFiles(year.RootFolderPath).Select(filePath => new FileInfo(filePath))); Years.Add(year); } foreach (var year in Years) { year.LoadSweepPeriods(); year.LoadMonths(); } }
public CalendarMonth(CalendarYear parent) { Parent = parent; Days = new List<CalendarDay>(); }