Ejemplo n.º 1
0
 // This is a quick(ish) way to scan all the programmes in pips_programmes
 // and find all gaps in the schedule.
 // Note that this process will find all actual gaps where
 // the channel is not transmitting
 private void ScanGaps_Click(object sender, RoutedEventArgs e)
 {
     List<Gap> gaps = new List<Gap>();
     Task.Factory.StartNew(() =>
         {
             StringBuilder sql = new StringBuilder();
             sql.AppendLine("insert into gaps (programme_id, service_id, gapstart,gapend)");// VALUES(1234,1,"2007-06-28 03:00","2007-06-28 06:00")
             using (var data = new ReduxEntities())
             {
                 var programmes = (from prog in data.pips_programmes
                                   //orderby prog.ServiceId, prog.StartTime
                                   select prog).ToList();
                 programmes = (from prog in programmes
                              orderby prog.service_id, prog.start_gmt
                              select prog).ToList();
                 pips_programmes prev = null;
                 using (var newdata = new ReduxEntities())
                 {
                     foreach (var prog in programmes)
                     {
                         if (prev != null && prev.service_id == prog.service_id && prev.end_gmt < prog.start_gmt)
                         {
                             gap gap = new gap
                             {
                                 programme_id = prog.id,
                                 service_id = prog.service_id,
                                 gapstart = prev.end_gmt,
                                 gapend = prog.start_gmt
                             };
                             newdata.gaps.AddObject(gap);
                             Dispatcher.Invoke((MyDelegate)delegate { gapLabel.Content = string.Format("{0}", gap.gapstart); });
                         }
                         if (prev == null || prog.service_id != prev.service_id || prog.end_gmt > prev.end_gmt)
                         {
                             prev = prog;
                         }
                     }
                     newdata.SaveChanges();
                 }
                 Dispatcher.Invoke((MyDelegate)delegate { gapGrid.ItemsSource = data.gaps; });
             }
         });
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Deprecated Method for adding a new object to the gaps EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddTogaps(gap gap)
 {
     base.AddObject("gaps", gap);
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Create a new gap object.
 /// </summary>
 /// <param name="id">Initial value of the id property.</param>
 /// <param name="programme_id">Initial value of the programme_id property.</param>
 /// <param name="service_id">Initial value of the service_id property.</param>
 /// <param name="gapstart">Initial value of the gapstart property.</param>
 /// <param name="gapend">Initial value of the gapend property.</param>
 public static gap Creategap(global::System.Int32 id, global::System.Int32 programme_id, global::System.Int32 service_id, global::System.DateTime gapstart, global::System.DateTime gapend)
 {
     gap gap = new gap();
     gap.id = id;
     gap.programme_id = programme_id;
     gap.service_id = service_id;
     gap.gapstart = gapstart;
     gap.gapend = gapend;
     return gap;
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Create a new gap object.
 /// </summary>
 /// <param name="id">Initial value of the id property.</param>
 public static gap Creategap(global::System.Int32 id)
 {
     gap gap = new gap();
     gap.id = id;
     return gap;
 }