public void UpdateTvShowList() { loadingLabel.Text = "Betöltés..."; queryLabel.Text = ""; programList.Enabled = false; FilterButton.Enabled = false; List <string> selectedChannels = new List <string>(); foreach (string item in channelSelector.CheckedItems) { selectedChannels.Add(item); } ProgramDisplay display = programDisplay; if (onlyReserverProgramsCheckBox.Checked) { display = ProgramDisplay.OnlyReserved; } string channel = channelSelector.Text; DateTime startTime = datePickerStart.Value; DateTime endTime = datePickerEnd.Value; Tuple <DateTime, DateTime> dateRange = new Tuple <DateTime, DateTime>(startTime, endTime); Task.Run(() => { List <TvProgram> programs = ProgramManager.RetrieveTvPrograms(dateRange, selectedChannels, display, TvProgramManager.AllAgeLimit()); ProgramsReveiced?.Invoke(null, new TvProgramReceivedEventArgs() { Programs = programs }); }); }
///<summary> ///Visszaadja a Tv műsorokat egy List adatszerekezetben. ///</summary> public List <TvProgram> RetrieveTvPrograms(DateTime time, string channel) { ProgramDisplay programDisplay = ProgramDisplay.OnlyFree | ProgramDisplay.OnlyReserved; AgeLimit limit = AgeLimit.Above12 | AgeLimit.Above16 | AgeLimit.Above18 | AgeLimit.Above6 | AgeLimit.NoLimit; return(RetrieveTvPrograms(time, channel, programDisplay, limit)); }
///<summary> ///Visszaadja a Tv műsorokat egy List adatszerekezetben. ///</summary> public List <TvProgram> RetrieveTvPrograms(DateTime time, string channel, ProgramDisplay display, AgeLimit ageLimit) { using (TvContext context = new TvContext()) { //Alap lekérés var shows = from p in context.Programs where System.Data.Entity.Core.Objects.EntityFunctions.DiffDays(p.StartTime, time) == 0 && (channel == null ? true : p.TvChannel == channel) && ((p.AgeLimit & ageLimit) != 0) select p; //Ha mindkettő be van pipálva akkor ne variáljunk. if (!((display & ProgramDisplay.OnlyFree) != 0 && (display & ProgramDisplay.OnlyReserved) != 0)) { //Szabad időpontok if ((display & ProgramDisplay.OnlyFree) != 0) { shows = from p in shows where p.Reserved == null select p; } //Ffoglalt időpontok if ((display & ProgramDisplay.OnlyReserved) != 0) { shows = from p in shows where p.Reserved != null select p; } //Ha egyik sincs kipipálva if (display == 0) { shows = from p in shows where false select p; } } //Tv Műsorok visszaadása List <TvProgram> programs = new List <TvProgram>(); foreach (TvProgram item in shows) { programs.Add(item); } return(programs); } }
private void UpdateDisplayChart() { TimerChart displayChart = UserData.GetChartViaIndex(chartIndex); ChartDateDisplay.Content = displayChart.recordedDate.ToLongDateString(); ProgramDisplay[] displayArray = new ProgramDisplay[programs.Length + 1]; lock (programs) { for (int i = 0; i < programs.Length; i++) { displayArray[i] = new ProgramDisplay(programs[i].customName, displayChart.GetProgramTime(programs[i])); } displayArray[displayArray.Length - 1] = new ProgramDisplay("All Applications", displayChart.GetTotalTime()); } MainDisplay.ItemsSource = displayArray; }
private void UpdateProgramDisplay(object sender, EventArgs e) { if (reserveProgramDisplayMenuItem.Checked) { programDisplay = programDisplay | ProgramDisplay.OnlyReserved; } else { programDisplay = programDisplay & ~ProgramDisplay.OnlyReserved; } if (freeProgramDisplayMenuItem.Checked) { programDisplay = programDisplay | ProgramDisplay.OnlyFree; } else { programDisplay = programDisplay & ~ProgramDisplay.OnlyFree; } UpdateTvShowList(); }
public List <TvProgram> RetrieveTvPrograms(Tuple <DateTime, DateTime> dateRange, List <string> channels, ProgramDisplay display, AgeLimit ageLimit) { LinkedList <TvProgram> list = new LinkedList <TvProgram>(); DateTime startDay = dateRange.Item1.Date; DateTime endDay = dateRange.Item2.Date; while (startDay.Date <= endDay.Date) { foreach (string channel in channels) { foreach (TvProgram program in RetrieveTvPrograms(startDay, channel, display, ageLimit)) { list.AddFirst(program); } startDay.AddDays(1); } startDay = startDay.AddDays(1); } return(list.ToList()); }
///<summary> ///Visszaadja a Tv műsorokat egy List adatszerekezetben. ///</summary> public List <TvProgram> RetrieveTvPrograms(DateTime time, string channel, AgeLimit ageLimit) { ProgramDisplay programDisplay = ProgramDisplay.OnlyFree | ProgramDisplay.OnlyReserved; return(RetrieveTvPrograms(time, channel, programDisplay, ageLimit)); }
///<summary> ///Visszaadja a Tv műsorokat egy List adatszerekezetben. ///</summary> public List <TvProgram> RetrieveTvPrograms(DateTime time, string channel, ProgramDisplay display) { AgeLimit limit = AgeLimit.Above12 | AgeLimit.Above16 | AgeLimit.Above18 | AgeLimit.Above6 | AgeLimit.NoLimit; return(RetrieveTvPrograms(time, channel, display, limit)); }