protected override int Run(string[] args) { var datastore = new EpgMemoryDatastore(); var downloader = new EpgDownloader("239.0.2.145:3937"); Console.WriteLine("Start"); var task = downloader.StartAsync(datastore); task.Wait(new TimeSpan(0, 10, 0)); Console.WriteLine("Ended"); return(0); } // Run
protected override int Run(string[] args) { var startTime = DateTime.UtcNow.TruncateToMinutes(); // create initial programs list var list = new List <EpgProgram>(); var program = new EpgProgram() { Title = "Program 1", UtcStartTime = startTime, Duration = new TimeSpan(0, 15, 0) }; list.Add(program); program = new EpgProgram() { Title = "Program 2", UtcStartTime = program.UtcEndTime, Duration = new TimeSpan(0, 20, 0) }; list.Add(program); program = new EpgProgram() { Title = "Program 3", UtcStartTime = program.UtcEndTime + new TimeSpan(0, 5, 0), Duration = new TimeSpan(0, 25, 0) }; list.Add(program); var service = new EpgService() { ServiceIdReference = "1.imagenio.es", XmlPrograms = list.ToArray() }; // enumerate programs Console.WriteLine("Original programs"); foreach (var epgProgram in service.Programs) { DisplayProgram(epgProgram); } // foreach Console.WriteLine(); Console.WriteLine("Adding to datastore"); var datastore = new EpgMemoryDatastore(); datastore.Add(service); Console.WriteLine(); Console.WriteLine("Original programs after being added"); foreach (var epgProgram in service.Programs) { DisplayProgram(epgProgram); } // foreach Console.WriteLine(); Console.WriteLine("Programs in 1.imagenio.es (now)"); var epgPrograms = datastore.GetPrograms("1.imagenio.es", null, 0, 0); DisplayEpgPrograms(epgPrograms); Console.WriteLine(); Console.WriteLine("Programs in 1.imagenio.es (in 25 minutes)"); epgPrograms = datastore.GetPrograms("1.imagenio.es", startTime + new TimeSpan(0, 25, 0), 0, 0); DisplayEpgPrograms(epgPrograms); Console.WriteLine(); Console.WriteLine("Programs in 1.imagenio.es (in 2 hours)"); epgPrograms = datastore.GetPrograms("1.imagenio.es", startTime + new TimeSpan(2, 0, 0), 0, 0); DisplayEpgPrograms(epgPrograms); Console.WriteLine(); Console.WriteLine("Programs in 1.imagenio.es (15 minutes ago)"); epgPrograms = datastore.GetPrograms("1.imagenio.es", startTime - new TimeSpan(0, 15, 0), 0, 0); DisplayEpgPrograms(epgPrograms); Console.WriteLine(); return(0); } // Run