Exemplo n.º 1
0
        public Day(Station station, DateTime date)
        {
            this.Station = station;
            this.Date = date;
            this.ProgramActivities = new List<ProgramActivity>();

            Load();
        }
		public void SetActiveStation(Station station)
		{
			if (ActiveStation == station) return;
			ActiveStation = station;
			if (ActiveStation == null) return;
			MainController.Instance.Settings.ProgramScheduleSettings.SelectedStation = station.Name;
			MainController.Instance.Settings.SaveSettings();
			StationChanged?.Invoke(this, EventArgs.Empty);
		}
		public void GenerateWeekScheduleReport(Station station, Week[] weeks, bool convertToPDF, bool landscape)
		{
			if (!Directory.Exists(OutputFolder))
				Directory.CreateDirectory(OutputFolder);
			var destinationPath = Path.Combine(OutputFolder, String.Format("{0}.{1}", DateTime.Now.ToString("MMddyy-hhmmtt"), convertToPDF ? "pdf" : "xls"));
			var daysByWeeks = weeks.Select(week => station.GetDays(week.DateStart, week.DateEnd)).ToList();
			ProgramScheduleReportHelper.GenerateWeekSchedule(
				GetReportWeekScheduleTemplatePath(landscape),
				daysByWeeks.ToArray(),
				destinationPath,
				convertToPDF,
				landscape,
				MainController.Instance.Settings.ProgramScheduleSettings
				);
			if (File.Exists(destinationPath))
				Utils.OpenFile(destinationPath);
		}
		public void LoadData()
		{
			if (Initialized) return;

			foreach (var station in Stations)
				station.ReleaseResources();
			Stations.Clear();
			if (!HasData) return;
			var rootFolder = new DirectoryInfo(StationsFolderPath);
			foreach (var stationFolder in rootFolder.GetDirectories())
			{
				var station = new Station(stationFolder);
				Stations.Add(station);
			}

			ActiveStation = Stations.FirstOrDefault(station => station.Name == MainController.Instance.Settings.ProgramScheduleSettings.SelectedStation) ?? Stations.FirstOrDefault();

			Initialized = true;
		}