예제 #1
0
        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
예제 #2
0
        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