private static void CreateProgramListItem(IProgram program, ItemsList channelPrograms) { ProgramListItem item; if (program == null) item = GetNoProgramPlaceholder(); else { ProgramProperties programProperties = new ProgramProperties(); programProperties.SetProgram(program); item = new ProgramListItem(programProperties); } item.AdditionalProperties["PROGRAM"] = program; channelPrograms.Add(item); }
protected ItemsList GetProgramsList(IChannel channel, DateTime referenceStart, DateTime referenceEnd) { ItemsList channelPrograms = new ItemsList(); if (_tvHandler.ProgramInfo.GetPrograms(channel, referenceStart, referenceEnd, out _programs)) { foreach (IProgram program in _programs) { // Use local variable, otherwise delegate argument is not fixed ProgramProperties programProperties = new ProgramProperties(GuideStartTime, GuideEndTime); IProgram currentProgram = program; programProperties.SetProgram(currentProgram); ProgramListItem item = new ProgramListItem(programProperties) { Command = new MethodDelegateCommand(() => ShowProgramActions(currentProgram)) }; item.AdditionalProperties["PROGRAM"] = currentProgram; channelPrograms.Add(item); } } else channelPrograms.Add(NoProgramPlaceholder()); return channelPrograms; }
protected override void UpdatePrograms() { _programsList.Clear(); if (_channel != null) { if (_tvHandler.ProgramInfo.GetPrograms(_channel, DateTime.Now.AddHours(-2), DateTime.Now.AddHours(24), out _programs)) { foreach (IProgram program in _programs) { // Use local variable, otherwise delegate argument is not fixed ProgramProperties programProperties = new ProgramProperties(); IProgram currentProgram = program; programProperties.SetProgram(currentProgram); ProgramListItem item = new ProgramListItem(programProperties) { Command = new MethodDelegateCommand(() => ShowProgramActions(currentProgram)) }; item.AdditionalProperties["PROGRAM"] = currentProgram; _programsList.Add(item); } } ProgramsList.FireChange(); } else _programs = null; }