CodeTV.MainForm.epg_GuideDataEvent C# (CSharp) Method

epg_GuideDataEvent() private method

private epg_GuideDataEvent ( object sender, EPG fe ) : void
sender object
fe EPG
return void
        private void epg_GuideDataEvent(object sender, EPG.GuideDataEventArgs fe)
        {
            Trace.WriteLineIf(EPG.trace.TraceInfo, "MainForm.epg_GuideDataEvent(" + fe.Type + ", " + fe.Identifier + ")");
            if (this.currentGraphBuilder is IBDA)
            {
                IGuideData guideData = (this.currentGraphBuilder as IBDA).TransportInformationFilter as IGuideData;
                switch (fe.Type)
                {
                    case EPG.GuideDataEventType.GuideDataAcquired:
                        (this.currentGraphBuilder as IEPG).EPG.UpdateAll(guideData);
                        UpdateEPG();
                        break;
                    case EPG.GuideDataEventType.ServiceChanged:
                        {
                            DateTime now = DateTime.Now;
                            if (fe.Identifier != null || (fe.Identifier == null && (DateTime.Now - this.lastAllServiceEPGUpdate > epgUpdateTimeOut)))
                            {
                                this.lastAllServiceEPGUpdate = now;
                                (this.currentGraphBuilder as IEPG).EPG.UpdateService(fe.Identifier, (this.currentGraphBuilder as IBDA).TuningSpace, guideData);
                                UpdateEPG();
                            }
                        }
                        break;
                    case EPG.GuideDataEventType.ProgramChanged:
                        {
                            DateTime now = DateTime.Now;
                            if (fe.Identifier != null || (fe.Identifier == null && (DateTime.Now - this.lastAllProgramEPGUpdate > epgUpdateTimeOut)))
                            {
                                this.lastAllProgramEPGUpdate = now;
                                (this.currentGraphBuilder as IEPG).EPG.UpdateProgram(fe.Identifier, guideData);
                                UpdateEPG();
                            }
                        }
                        break;
                    case EPG.GuideDataEventType.ScheduleEntryChanged:
                        {
                            DateTime now = DateTime.Now;

                            if (fe.Identifier != null || (fe.Identifier == null && (now - this.lastAllScheduleEPGUpdate > epgUpdateTimeOut)))
                            {
                                this.lastAllScheduleEPGUpdate = now;
                                (this.currentGraphBuilder as IEPG).EPG.UpdateSchedule(fe.Identifier, guideData);
                                UpdateEPG();
                            }
                        }
                        break;
                }
            }
        }
MainForm