Example #1
0
        private void Search()
        {
            Log.Info("newsearch Search:{0} {1}", _searchKeyword, SearchFor);
            GUIControl.ClearControl(GetID, listResults.GetID);
            TvBusinessLayer layer        = new TvBusinessLayer();
            IList <Program> listPrograms = null;

            switch (SearchFor)
            {
            case SearchType.Genres:
                listPrograms = layer.SearchProgramsPerGenre("%" + _searchKeyword + "%", "");
                break;

            case SearchType.KeyWord:
                listPrograms = layer.SearchProgramsByDescription("%" + _searchKeyword);
                break;

            case SearchType.Title:
                listPrograms = layer.SearchPrograms("%" + _searchKeyword);
                break;
            }
            if (listPrograms == null)
            {
                return;
            }
            if (listPrograms.Count == 0)
            {
                return;
            }
            Log.Info("newsearch found:{0} progs", listPrograms.Count);
            foreach (Program program in listPrograms)
            {
                GUIListItem item = new GUIListItem();
                item.Label = TVUtil.GetDisplayTitle(program);
                string logo = Utils.GetCoverArt(Thumbs.TVChannel, program.ReferencedChannel().DisplayName);
                if (string.IsNullOrEmpty(logo))
                {
                    logo = "defaultVideoBig.png";
                }
                item.ThumbnailImage = logo;
                item.IconImageBig   = logo;
                item.IconImage      = logo;
                item.TVTag          = program;
                listResults.Add(item);
            }
        }
Example #2
0
        public static string GetDisplayTitle(Schedule schedule)
        {
            string  displayname = "";
            Program program     = Program.RetrieveByTitleTimesAndChannel(schedule.ProgramName, schedule.StartTime,
                                                                         schedule.EndTime, schedule.IdChannel);

            //if we have found program details then use nicely formatted name
            if (program != null)
            {
                displayname = TVUtil.GetDisplayTitle(program);
            }
            else
            {
                displayname = schedule.ProgramName;
            }
            return(displayname);
        }
Example #3
0
        public void SetProperties(Schedule schedule, Program prog)
        {
            GUIPropertyManager.SetProperty("#TV.Scheduled.Title", String.Empty);
            GUIPropertyManager.SetProperty("#TV.Scheduled.Genre", String.Empty);
            GUIPropertyManager.SetProperty("#TV.Scheduled.Time", String.Empty);
            GUIPropertyManager.SetProperty("#TV.Scheduled.Description", String.Empty);
            GUIPropertyManager.SetProperty("#TV.Scheduled.thumb", String.Empty);
            GUIPropertyManager.SetProperty("#TV.Scheduled.Channel", String.Empty);

            if (prog != null)
            {
                GUIPropertyManager.SetProperty("#TV.Scheduled.Title", TVUtil.GetDisplayTitle(prog));
                GUIPropertyManager.SetProperty("#TV.Scheduled.Description", prog.Description);
                GUIPropertyManager.SetProperty("#TV.Scheduled.Genre", prog.Genre);
            }

            if (schedule != null)
            {
                string strTime = String.Format("{0} {1} - {2}",
                                               Utils.GetShortDayString(schedule.StartTime),
                                               schedule.StartTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat),
                                               schedule.EndTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat));

                GUIPropertyManager.SetProperty("#TV.Scheduled.Time", strTime);

                if (schedule.IdChannel < 0)
                {
                    GUIPropertyManager.SetProperty("#TV.Scheduled.thumb", "defaultVideoBig.png");
                }
                else
                {
                    GUIPropertyManager.SetProperty("#TV.Scheduled.Channel", schedule.ReferencedChannel().DisplayName);
                    string logo = Utils.GetCoverArt(Thumbs.TVChannel, schedule.ReferencedChannel().DisplayName);
                    if (string.IsNullOrEmpty(logo))
                    {
                        GUIPropertyManager.SetProperty("#TV.Scheduled.thumb", "defaultVideoBig.png");
                    }
                    else
                    {
                        GUIPropertyManager.SetProperty("#TV.Scheduled.thumb", logo);
                    }
                }
            }
        }
Example #4
0
        private static string GetRecordingTitle(int IdSchedule)
        {
            string recordingTitle = "";

            Schedule schedule = Schedule.Retrieve(IdSchedule);

            if (schedule != null)
            {
                Schedule spawnedSchedule = Schedule.RetrieveSpawnedSchedule(IdSchedule, schedule.StartTime);
                if (spawnedSchedule != null)
                {
                    recordingTitle = TVUtil.GetDisplayTitle(Recording.ActiveRecording(spawnedSchedule.IdSchedule));
                }
                else
                {
                    recordingTitle = TVUtil.GetDisplayTitle(Recording.ActiveRecording(IdSchedule));
                }
            }
            return(recordingTitle);
        }
Example #5
0
        public void SetProperties(Schedule schedule, Program prog)
        {
            GUIPropertyManager.SetProperty("#TV.Scheduled.Title", String.Empty);
            GUIPropertyManager.SetProperty("#TV.Scheduled.Genre", String.Empty);
            GUIPropertyManager.SetProperty("#TV.Scheduled.Time", String.Empty);
            GUIPropertyManager.SetProperty("#TV.Scheduled.Description", String.Empty);
            GUIPropertyManager.SetProperty("#TV.Scheduled.thumb", String.Empty);
            GUIPropertyManager.SetProperty("#TV.Scheduled.Channel", String.Empty);

            if (prog != null)
            {
                GUIPropertyManager.SetProperty("#TV.Scheduled.Title", TVUtil.GetDisplayTitle(prog));
                GUIPropertyManager.SetProperty("#TV.Scheduled.Description", prog.Description);
                GUIPropertyManager.SetProperty("#TV.Scheduled.Genre", prog.Genre);
            }

            if (schedule != null)
            {
                GUIPropertyManager.SetProperty("#TV.Scheduled.Time", TVUtil.GetRecordingDateStringFull(schedule));

                if (schedule.IdChannel < 0)
                {
                    GUIPropertyManager.SetProperty("#TV.Scheduled.thumb", "defaultVideoBig.png");
                }
                else
                {
                    GUIPropertyManager.SetProperty("#TV.Scheduled.Channel", schedule.ReferencedChannel().DisplayName);
                    string logo = Utils.GetCoverArt(Thumbs.TVChannel, schedule.ReferencedChannel().DisplayName);
                    if (string.IsNullOrEmpty(logo))
                    {
                        GUIPropertyManager.SetProperty("#TV.Scheduled.thumb", "defaultVideoBig.png");
                    }
                    else
                    {
                        GUIPropertyManager.SetProperty("#TV.Scheduled.thumb", logo);
                    }
                }
            }
        }
Example #6
0
        private void SetLabels()
        {
            bool showSeries = btnSeries.Selected;

            for (int i = 0; i < GetItemCount(); ++i)
            {
                GUIListItem item = GetItem(i);
                if (item.IsFolder && item.Label.Equals(".."))
                {
                    continue;
                }
                Schedule rec = (Schedule)item.TVTag;
                item.Label = TVUtil.GetDisplayTitle(rec);


                if (showSeries)
                {
                    string strTime;
                    string strType;
                    string day;

                    switch (rec.ScheduleType)
                    {
                    case (int)ScheduleRecordingType.Once:
                        item.Label2 = String.Format("{0} {1} - {2}",
                                                    Utils.GetShortDayString(rec.StartTime),
                                                    rec.StartTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat),
                                                    rec.EndTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat));
                        ;
                        break;

                    case (int)ScheduleRecordingType.Daily:
                        strTime = String.Format("{0}-{1}",
                                                rec.StartTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat),
                                                rec.EndTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat));
                        strType     = GUILocalizeStrings.Get(648);
                        item.Label2 = String.Format("{0} {1}", strType, strTime);
                        break;

                    case (int)ScheduleRecordingType.WorkingDays:
                        strTime = String.Format("{0}-{1} {2}-{3}",
                                                GUILocalizeStrings.Get(WeekEndTool.GetText(DayType.FirstWorkingDay)),
                                                GUILocalizeStrings.Get(WeekEndTool.GetText(DayType.LastWorkingDay)),
                                                rec.StartTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat),
                                                rec.EndTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat));
                        strType     = GUILocalizeStrings.Get(648);
                        item.Label2 = String.Format("{0} {1}", strType, strTime);
                        break;

                    case (int)ScheduleRecordingType.Weekends:
                        strTime = String.Format("{0}-{1} {2}-{3}",
                                                GUILocalizeStrings.Get(WeekEndTool.GetText(DayType.FirstWeekendDay)),
                                                GUILocalizeStrings.Get(WeekEndTool.GetText(DayType.LastWeekendDay)),
                                                rec.StartTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat),
                                                rec.EndTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat));
                        strType     = GUILocalizeStrings.Get(649);
                        item.Label2 = String.Format("{0} {1}", strType, strTime);
                        break;

                    case (int)ScheduleRecordingType.Weekly:
                        switch (rec.StartTime.DayOfWeek)
                        {
                        case DayOfWeek.Monday:
                            day = GUILocalizeStrings.Get(11);
                            break;

                        case DayOfWeek.Tuesday:
                            day = GUILocalizeStrings.Get(12);
                            break;

                        case DayOfWeek.Wednesday:
                            day = GUILocalizeStrings.Get(13);
                            break;

                        case DayOfWeek.Thursday:
                            day = GUILocalizeStrings.Get(14);
                            break;

                        case DayOfWeek.Friday:
                            day = GUILocalizeStrings.Get(15);
                            break;

                        case DayOfWeek.Saturday:
                            day = GUILocalizeStrings.Get(16);
                            break;

                        default:
                            day = GUILocalizeStrings.Get(17);
                            break;
                        }

                        strTime = String.Format("{0}-{1}",
                                                rec.StartTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat),
                                                rec.EndTime.ToString("t", CultureInfo.CurrentCulture.DateTimeFormat));
                        strType     = GUILocalizeStrings.Get(649);
                        item.Label2 = String.Format("{0} {1} {2}", strType, day, strTime);
                        break;

                    case (int)ScheduleRecordingType.EveryTimeOnThisChannel:
                        item.Label2 = GUILocalizeStrings.Get(650, new object[] { rec.ReferencedChannel().DisplayName });
                        break;

                    case (int)ScheduleRecordingType.EveryTimeOnEveryChannel:
                        item.Label2 = GUILocalizeStrings.Get(651);
                        break;

                    case (int)ScheduleRecordingType.WeeklyEveryTimeOnThisChannel:
                        switch (rec.StartTime.DayOfWeek)
                        {
                        case DayOfWeek.Monday:
                            day = GUILocalizeStrings.Get(11);
                            break;

                        case DayOfWeek.Tuesday:
                            day = GUILocalizeStrings.Get(12);
                            break;

                        case DayOfWeek.Wednesday:
                            day = GUILocalizeStrings.Get(13);
                            break;

                        case DayOfWeek.Thursday:
                            day = GUILocalizeStrings.Get(14);
                            break;

                        case DayOfWeek.Friday:
                            day = GUILocalizeStrings.Get(15);
                            break;

                        case DayOfWeek.Saturday:
                            day = GUILocalizeStrings.Get(16);
                            break;

                        default:
                            day = GUILocalizeStrings.Get(17);
                            break;
                        }
                        item.Label2 = GUILocalizeStrings.Get(990001, new object[] { day, rec.ReferencedChannel().DisplayName });
                        break;
                    }
                }
                else
                {
                    Program program = Program.RetrieveByTitleTimesAndChannel(rec.ProgramName, rec.StartTime,
                                                                             rec.EndTime, rec.IdChannel);
                    if (program != null)
                    {
                        item.Label2 = Utils.GetNamedDateStartEnd(rec.StartTime, rec.EndTime);
                    }
                    else
                    {
                        item.Label2 = String.Empty;
                    }
                }
            }
        }