本文整理汇总了C#中SchedulerServiceAgent类的典型用法代码示例。如果您正苦于以下问题:C# SchedulerServiceAgent类的具体用法?C# SchedulerServiceAgent怎么用?C# SchedulerServiceAgent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SchedulerServiceAgent类属于命名空间,在下文中一共展示了SchedulerServiceAgent类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetMusicProperties
public static void SetMusicProperties(string chanName, Guid channelId)
{
string logo = string.Empty;
if (channelId != Guid.Empty && chanName != string.Empty)
{
using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent())
{
logo = Utility.GetLogoImage(channelId, chanName, tvSchedulerAgent);
}
}
else
{
chanName = string.Empty;
}
if (string.IsNullOrEmpty(logo))
{
logo = "defaultMyRadioBig.png";
}
GUIPropertyManager.RemovePlayerProperties();
GUIPropertyManager.SetProperty("#Play.Current.Thumb", logo);
GUIPropertyManager.SetProperty("#Play.Current.ArtistThumb", chanName);
GUIPropertyManager.SetProperty("#Play.Current.Album", chanName);
GUIPropertyManager.SetProperty("#Play.Current.Title", chanName);
GUIPropertyManager.SetProperty("#Play.Current.Artist", chanName);
}
示例2: GetScheduleNames
private void GetScheduleNames(SchedulerServiceAgent tvSchedulerAgent, ScheduleType type)
{
ScheduleSummary[] schedules = tvSchedulerAgent.GetAllSchedules(ChannelType.Television, type, false);
foreach (ScheduleSummary schedule in schedules)
{
_scheduleNames.Add(schedule.ScheduleId, schedule.Name);
}
schedules = tvSchedulerAgent.GetAllSchedules(ChannelType.Radio, type, false);
foreach (ScheduleSummary schedule in schedules)
{
_scheduleNames.Add(schedule.ScheduleId, schedule.Name);
}
}
示例3: DoDeleteScheduleCommand
private IMBotMessage DoDeleteScheduleCommand(IMBotConversation conversation, IList<string> arguments)
{
if (arguments.Count == 0)
{
return new IMBotMessage("Program number is missing.", IMBotMessage.ErrorColor);
}
using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent())
{
UpcomingProgram upcomingRecording;
IMBotMessage result = FindUpcomingRecording(tvSchedulerAgent, conversation, arguments, out upcomingRecording);
if (result == null)
{
StringBuilder replyText = new StringBuilder();
tvSchedulerAgent.DeleteSchedule(upcomingRecording.ScheduleId);
replyText.Append("Deleted schedule for ");
Utility.AppendProgramDetails(replyText, upcomingRecording.Channel, upcomingRecording);
replyText.Append(".");
result = new IMBotMessage(replyText.ToString());
}
return result;
}
}
示例4: ConnectToArgusTV
private void ConnectToArgusTV()
{
DisconnectFromArgusTV();
_plugin.InitializeArgusTVConnection(this);
_notConnectedPanel.Visible = !_plugin.IsArgusTVConnectionInitialized;
_channelsPanel.Visible = _plugin.IsArgusTVConnectionInitialized;
LoadUncPaths();
if (_plugin.IsArgusTVConnectionInitialized)
{
_tvSchedulerAgent = new SchedulerServiceAgent();
}
}
示例5: EnsureGuideChannelForDvbEpg
private static void EnsureGuideChannelForDvbEpg(SchedulerServiceAgent tvSchedulerAgent, GuideServiceAgent tvGuideAgent, Channel channel, TvDatabase.Channel mpChannel)
{
if (!channel.GuideChannelId.HasValue)
{
string externalId = mpChannel.ExternalId;
if (String.IsNullOrEmpty(externalId))
{
externalId = mpChannel.DisplayName;
}
channel.GuideChannelId = tvGuideAgent.EnsureChannel(externalId, mpChannel.DisplayName, channel.ChannelType);
tvSchedulerAgent.AttachChannelToGuide(channel.ChannelId, channel.GuideChannelId.Value);
}
}
示例6: RefreshGroups
private void RefreshGroups(ChannelType channelType)
{
try
{
using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent())
{
List<ChannelGroup> groups = new List<ChannelGroup>(tvSchedulerAgent.GetAllChannelGroups(channelType, true));
if (_currentChannelGroup != null
&& _currentChannelGroup.ChannelGroupId != ChannelGroup.AllTvChannelsGroupId
&& _currentChannelGroup.ChannelGroupId != ChannelGroup.AllRadioChannelsGroupId)
{
bool currentFound = false;
foreach (ChannelGroup group in groups)
{
if (group.ChannelGroupId == _currentChannelGroup.ChannelGroupId)
{
currentFound = true;
break;
}
}
if (!currentFound)
{
_currentChannelGroup = null;
}
}
bool hideAllChannelsGroup = false;
using (Settings xmlreader = new MPSettings())
{
hideAllChannelsGroup = xmlreader.GetValueAsBool("mytv", "hideAllChannelsGroup", false);
}
if (!hideAllChannelsGroup || groups.Count == 0)
{
groups.Add(new ChannelGroup(
channelType == ChannelType.Television ? ChannelGroup.AllTvChannelsGroupId : ChannelGroup.AllRadioChannelsGroupId,
(int)channelType, Utility.GetLocalizedText(TextId.AllChannels), true, int.MaxValue, 0));
}
_navigatorChannels[channelType].Groups = groups;
if (_currentChannelGroup == null && _navigatorChannels[channelType].Groups.Count > 0)
{
_currentChannelGroup = _navigatorChannels[channelType].Groups[0];
RefreshChannelsInGroup(tvSchedulerAgent, channelType);
}
}
}
catch (Exception ex)
{
Log.Error("ChannelNavigator: Error in RefreshChannelGroups - {0}", ex.Message);
}
}
示例7: RefreshChannelsInGroup
private void RefreshChannelsInGroup(ChannelType channelType)
{
using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent())
{
RefreshChannelsInGroup(tvSchedulerAgent, channelType);
}
}
示例8: ChannelTuneFailedNotifyUser
private void ChannelTuneFailedNotifyUser(LiveStreamResult result, Channel channel)
{
string TuningResult = string.Empty;
switch (result)
{
case LiveStreamResult.ChannelTuneFailed:
TuningResult = (Utility.GetLocalizedText(TextId.ChannelTuneFailed));
break;
case LiveStreamResult.NoFreeCardFound:
TuningResult = (Utility.GetLocalizedText(TextId.NoFreeCardFound));
break;
case LiveStreamResult.NotSupported:
TuningResult = (Utility.GetLocalizedText(TextId.NotSupported));
break;
case LiveStreamResult.NoRetunePossible:
TuningResult = (Utility.GetLocalizedText(TextId.NoRetunePossible));
break;
case LiveStreamResult.IsScrambled:
TuningResult = (Utility.GetLocalizedText(TextId.IsScrambled));
break;
case LiveStreamResult.UnknownError:
TuningResult = (Utility.GetLocalizedText(TextId.UnknownError));
break;
}
if (GUIWindowManager.ActiveWindow == (int)(int)GUIWindow.Window.WINDOW_TVFULLSCREEN)
{
// If failed and wasPlaying TV, left screen as it is and show zaposd with error message
GUIMessage msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_TV_ERROR_NOTIFY, GUIWindowManager.ActiveWindow, 0,
0, 0, 0,
null);
msg.SendToTargetWindow = true;
msg.Object = TuningResult; // forward error info object
msg.TargetWindowId = (int)(int)GUIWindow.Window.WINDOW_TVFULLSCREEN;
GUIGraphicsContext.SendMessage(msg);
}
else
{
// if not fulscreen, show notify dialog with the error message
string caption = string.Empty;
string tvlogo = string.Empty;
if (channel != null)
{
_navigatorChannels[_currentChannel.ChannelType].PreviousChannel = channel;
_currentChannel = null;
using (SchedulerServiceAgent SchedulerAgent = new SchedulerServiceAgent())
{
tvlogo = Utility.GetLogoImage(channel, SchedulerAgent);
}
if (channel.ChannelType == ChannelType.Television)
caption = GUILocalizeStrings.Get(605) + " - " + channel.DisplayName;
else
caption = GUILocalizeStrings.Get(665) + " - " + channel.DisplayName;
}
GUIDialogNotify pDlgNotify = (GUIDialogNotify)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_NOTIFY);
if (pDlgNotify != null)
{
pDlgNotify.Reset();
pDlgNotify.ClearAll();
pDlgNotify.SetHeading(caption);
if (!string.IsNullOrEmpty(TuningResult))
{
pDlgNotify.SetText(TuningResult);
}
pDlgNotify.SetImage(tvlogo);
pDlgNotify.TimeOut = 5;
pDlgNotify.DoModal(GUIWindowManager.ActiveWindow);
}
}
}
示例9: DoShowUpcomingCommand
private IMBotMessage DoShowUpcomingCommand(IMBotConversation conversation, ScheduleType type)
{
if (type == ScheduleType.Recording)
{
using (ControlServiceAgent tvControlAgent = new ControlServiceAgent())
{
UpcomingRecording[] upcomingRecordings = tvControlAgent.GetAllUpcomingRecordings(UpcomingRecordingsFilter.Recordings, false);
StringBuilder replyText = new StringBuilder();
if (upcomingRecordings.Length > 0)
{
int index = 0;
foreach (UpcomingRecording upcomingRecording in upcomingRecordings)
{
if (replyText.Length > 0)
{
replyText.AppendLine();
}
PluginService pluginService = null;
if (upcomingRecording.CardChannelAllocation != null)
{
pluginService =
RecorderTunersCache.GetRecorderTunerById(upcomingRecording.CardChannelAllocation.RecorderTunerId);
}
replyText.AppendFormat("{0,3}» ", ++index);
Utility.AppendProgramDetails(replyText, upcomingRecording.Program.Channel, upcomingRecording.Program);
replyText.AppendFormat(" [{0}]", pluginService == null ? "-" : pluginService.Name);
}
conversation.Session[SessionKey.Programs] = new Session.Programs(upcomingRecordings);
return new IMBotMessage(replyText.ToString(), true)
{
Footer = "Use 'cancel', 'uncancel' or 'delete schedule' with <number>."
};
}
}
}
else
{
using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent())
{
UpcomingProgram[] upcomingPrograms = tvSchedulerAgent.GetAllUpcomingPrograms(type, false);
StringBuilder replyText = new StringBuilder();
if (upcomingPrograms.Length > 0)
{
int index = 0;
foreach (UpcomingProgram upcomingProgram in upcomingPrograms)
{
if (replyText.Length > 0)
{
replyText.AppendLine();
}
replyText.AppendFormat("{0,3}» ", ++index);
Utility.AppendProgramDetails(replyText, upcomingProgram.Channel, upcomingProgram);
}
conversation.Session[SessionKey.Programs] = new Session.Programs(upcomingPrograms);
return new IMBotMessage(replyText.ToString(), true)
{
Footer = "Use 'record', 'cancel', 'uncancel' or 'delete schedule' with <number>."
};
}
}
}
return new IMBotMessage("There are no upcoming " + type.ToString().ToLowerInvariant() + "s.");
}
示例10: DoShowGuideCommand
private IMBotMessage DoShowGuideCommand(IMBotConversation conversation, IList<string> arguments)
{
if (arguments.Count == 0)
{
return new IMBotMessage("Channel name or number missing.", IMBotMessage.ErrorColor);
}
using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent())
using (GuideServiceAgent tvGuideAgent = new GuideServiceAgent())
{
Channel selectedChannel = null;
ChannelType channelType = GetChannelType(conversation);
int lcn;
if (int.TryParse(arguments[0], out lcn))
{
selectedChannel = tvSchedulerAgent.GetChannelByLogicalChannelNumber(channelType, lcn);
if (selectedChannel == null)
{
return new IMBotMessage("Unknown channel number.", IMBotMessage.ErrorColor);
}
}
else
{
selectedChannel = tvSchedulerAgent.GetChannelByDisplayName(channelType, arguments[0]);
if (selectedChannel == null)
{
return new IMBotMessage("Unknown channel name.", IMBotMessage.ErrorColor);
}
}
if (selectedChannel.GuideChannelId.HasValue)
{
DateTime lowerTime = DateTime.Today;
if (arguments.Count > 1)
{
int dayNumber;
if (!int.TryParse(arguments[1], out dayNumber))
{
return new IMBotMessage("Bad day number, use 0 for today, 1 for tomorrow, etc...", IMBotMessage.ErrorColor);
}
lowerTime = lowerTime.AddDays(dayNumber);
}
DateTime upperTime = lowerTime.AddDays(1);
if (lowerTime.Date == DateTime.Today)
{
lowerTime = DateTime.Now;
}
Dictionary<Guid, UpcomingGuideProgram> upcomingRecordingsById = BuildUpcomingDictionary(
tvSchedulerAgent.GetUpcomingGuidePrograms(ScheduleType.Recording, true));
Dictionary<Guid, UpcomingGuideProgram> upcomingAlertsById = BuildUpcomingDictionary(
tvSchedulerAgent.GetUpcomingGuidePrograms(ScheduleType.Alert, false));
Dictionary<Guid, UpcomingGuideProgram> upcomingSuggestionsById = BuildUpcomingDictionary(
tvSchedulerAgent.GetUpcomingGuidePrograms(ScheduleType.Suggestion, false));
GuideProgramSummary[] programs = tvGuideAgent.GetChannelProgramsBetween(selectedChannel.GuideChannelId.Value, lowerTime, upperTime);
if (programs.Length == 0)
{
return new IMBotMessage(String.Format(CultureInfo.CurrentCulture, "No guide data for {0} on {1}.", selectedChannel.DisplayName, lowerTime.ToLongDateString()),
IMBotMessage.ErrorColor);
}
else
{
StringBuilder replyText = new StringBuilder();
replyText.AppendFormat("{0} on {1}:", lowerTime.ToLongDateString(), selectedChannel.DisplayName);
int index = 0;
foreach (GuideProgramSummary program in programs)
{
replyText.AppendLine();
replyText.AppendFormat("{0,3}» ", ++index);
string appendText = AppendProgramIndicatorsPrefix(replyText,
program.GetUniqueUpcomingProgramId(selectedChannel.ChannelId),
upcomingRecordingsById, upcomingAlertsById, upcomingSuggestionsById);
Utility.AppendProgramDetails(replyText, program);
replyText.Append(appendText);
}
conversation.Session[SessionKey.Programs] = new Session.Programs(selectedChannel, programs);
return new IMBotMessage(replyText.ToString(), true)
{
Footer = "Use 'record', 'cancel', 'uncancel' or 'delete schedule' with <number>."
};
}
}
else
{
return new IMBotMessage("Channel has no guide data.", IMBotMessage.ErrorColor);
}
}
}
示例11: DoShowChannelsCommand
private IMBotMessage DoShowChannelsCommand(IMBotConversation conversation, IList<string> arguments)
{
if (arguments.Count == 0)
{
return new IMBotMessage("Group name or number missing.", IMBotMessage.ErrorColor);
}
using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent())
{
List<ChannelGroup> groups = GetAllGroups(tvSchedulerAgent, GetChannelType(conversation));
ChannelGroup group = null;
int index;
if (int.TryParse(arguments[0], out index))
{
if (index < 1 || index > groups.Count)
{
return new IMBotMessage("Unknown group number.", IMBotMessage.ErrorColor);
}
group = groups[index - 1];
}
else
{
foreach (ChannelGroup channelGroup in groups)
{
if (channelGroup.GroupName.Equals(arguments[0], StringComparison.CurrentCultureIgnoreCase))
{
group = channelGroup;
break;
}
}
if (group == null)
{
return new IMBotMessage("Unknown group name.", IMBotMessage.ErrorColor);
}
}
Channel[] channels = tvSchedulerAgent.GetChannelsInGroup(group.ChannelGroupId, true);
StringBuilder replyText = new StringBuilder();
replyText.AppendFormat("Channels in {0}:", group.GroupName);
foreach (Channel channel in channels)
{
replyText.AppendLine();
replyText.AppendFormat("{0,3} {1}",
channel.LogicalChannelNumber.HasValue ? channel.LogicalChannelNumber.Value.ToString() : "-",
channel.DisplayName);
}
return new IMBotMessage(replyText.ToString(), true)
{
Footer = "Use 'show guide <number | name> [day-number]' to see the channel guide."
};
}
}
示例12: DoShowChannelGroupsCommand
private IMBotMessage DoShowChannelGroupsCommand(IMBotConversation conversation, IList<string> arguments)
{
using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent())
{
List<ChannelGroup> groups = GetAllGroups(tvSchedulerAgent, GetChannelType(conversation));
StringBuilder replyText = new StringBuilder();
int index = 1;
foreach (ChannelGroup group in groups)
{
if (replyText.Length > 0)
{
replyText.AppendLine();
}
replyText.AppendFormat("{0,3}» {1}", index++, group.GroupName);
}
return new IMBotMessage(replyText.ToString(), true)
{
Footer = "Use 'show channels <number | name>' to see the programs in a group."
};
}
}
示例13: DoSearchResults
private IMBotMessage DoSearchResults(IMBotConversation conversation, int resultNumber)
{
if (!conversation.Session.ContainsKey(SessionKey.FoundTitles))
{
return new IMBotMessage("No search results found, use search command.", IMBotMessage.ErrorColor);
}
string[] titles = (string[])conversation.Session[SessionKey.FoundTitles];
if (resultNumber < 1
|| resultNumber > titles.Length)
{
return new IMBotMessage("Bad search result number.", IMBotMessage.ErrorColor);
}
using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent())
{
Dictionary<Guid, UpcomingGuideProgram> upcomingRecordingsById = BuildUpcomingDictionary(
tvSchedulerAgent.GetUpcomingGuidePrograms(ScheduleType.Recording, true));
Dictionary<Guid, UpcomingGuideProgram> upcomingAlertsById = BuildUpcomingDictionary(
tvSchedulerAgent.GetUpcomingGuidePrograms(ScheduleType.Alert, false));
Dictionary<Guid, UpcomingGuideProgram> upcomingSuggestionsById = BuildUpcomingDictionary(
tvSchedulerAgent.GetUpcomingGuidePrograms(ScheduleType.Suggestion, false));
ChannelProgram[] programs = tvSchedulerAgent.SearchGuideByTitle(GetChannelType(conversation), titles[resultNumber - 1], false);
StringBuilder replyText = new StringBuilder();
int index = 0;
foreach (ChannelProgram program in programs)
{
if (replyText.Length > 0)
{
replyText.AppendLine();
}
replyText.AppendFormat("{0,3}» ", ++index);
string appendText = AppendProgramIndicatorsPrefix(replyText, program.GetUniqueUpcomingProgramId(),
upcomingRecordingsById, upcomingAlertsById, upcomingSuggestionsById);
Utility.AppendProgramDetails(replyText, program.Channel, program);
replyText.Append(appendText);
}
conversation.Session[SessionKey.Programs] = new Session.Programs(programs);
return new IMBotMessage(replyText.ToString(), true)
{
Footer = "Use 'record', 'cancel', 'uncancel' or 'delete schedule' with <number>."
};
}
}
示例14: DoSearchCommand
private IMBotMessage DoSearchCommand(IMBotConversation conversation, IList<string> arguments)
{
if (arguments.Count == 0)
{
return new IMBotMessage("Search text or result number is missing.", IMBotMessage.ErrorColor);
}
int resultNumber;
if (int.TryParse(arguments[0], out resultNumber))
{
return DoSearchResults(conversation, resultNumber);
}
using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent())
{
string searchText = arguments[0];
if (searchText.StartsWith(@"\"))
{
searchText = searchText.Substring(1);
}
string[] titles = tvSchedulerAgent.GetTitlesByPartialTitle(GetChannelType(conversation), searchText, false);
StringBuilder replyText = new StringBuilder();
replyText.AppendFormat("Found {0} in the following titles:", searchText);
int index = 0;
foreach (string title in titles)
{
replyText.AppendLine();
replyText.AppendFormat("{0,3}» {1}", ++index, title);
}
conversation.Session.Remove(SessionKey.Programs);
conversation.Session[SessionKey.FoundTitles] = titles;
return new IMBotMessage(replyText.ToString(), true)
{
Footer = "Use 'search <number>' to see the programs."
};
}
}
示例15: DoRecordCommand
private IMBotMessage DoRecordCommand(IMBotConversation conversation, IList<string> arguments)
{
if (arguments.Count == 0)
{
return new IMBotMessage("Program number missing.", IMBotMessage.ErrorColor);
}
using (SchedulerServiceAgent tvSchedulerAgent = new SchedulerServiceAgent())
{
RepeatingType repeatingType = RepeatingType.None;
if (arguments.Count > 1)
{
switch (arguments[1].ToLowerInvariant())
{
case "once": case "o": repeatingType = RepeatingType.Once; break;
case "daily": case "d": repeatingType = RepeatingType.Daily; break;
case "weekly": case "w": repeatingType = RepeatingType.Weekly; break;
case "workingdays": case "wd": repeatingType = RepeatingType.WorkingDays; break;
case "weekends": case "we": repeatingType = RepeatingType.Weekends; break;
case "anytime": case "a": repeatingType = RepeatingType.AnyTime; break;
}
}
int programNumber;
if (repeatingType == RepeatingType.None
|| !int.TryParse(arguments[0], out programNumber))
{
return new IMBotMessage("Please specify program number and once, daily, weekly, workingdays, weekends or anytime.", IMBotMessage.ErrorColor);
}
Session.Programs sessionPrograms = null;
if (conversation.Session.ContainsKey(SessionKey.Programs))
{
sessionPrograms = conversation.Session[SessionKey.Programs] as Session.Programs;
}
IProgramSummary program = null;
Channel channel = null;
if (sessionPrograms != null)
{
program = sessionPrograms.GetProgramAt(programNumber, out channel);
if (program == null)
{
return new IMBotMessage("Bad program number.", IMBotMessage.ErrorColor);
}
}
else
{
return new IMBotMessage("No programs.", IMBotMessage.ErrorColor);
}
Schedule schedule = tvSchedulerAgent.CreateNewSchedule(GetChannelType(conversation), ScheduleType.Recording);
bool newEpisodesOnly = arguments.Count > 2 && arguments[2].Equals("new", StringComparison.CurrentCultureIgnoreCase);
string repeatingText = String.Empty;
if (repeatingType == RepeatingType.Once)
{
schedule.Name = GuideProgram.CreateProgramTitle(program.Title, program.SubTitle, program.EpisodeNumberDisplay);
schedule.Rules.Add(ScheduleRuleType.OnDate, program.StartTime.Date);
schedule.Rules.Add(ScheduleRuleType.AroundTime, new ScheduleTime(program.StartTime.TimeOfDay));
if (!String.IsNullOrEmpty(program.SubTitle))
{
schedule.Rules.Add(ScheduleRuleType.SubTitleEquals, program.SubTitle);
}
else if (!String.IsNullOrEmpty(program.EpisodeNumberDisplay))
{
schedule.Rules.Add(ScheduleRuleType.EpisodeNumberEquals, program.EpisodeNumberDisplay);
}
newEpisodesOnly = false;
}
else if (repeatingType == RepeatingType.AnyTime)
{
schedule.Name = program.Title + " (Any Time)";
repeatingText = " any time";
}
else if (repeatingType == RepeatingType.Weekly)
{
schedule.Name = program.Title + " (Weekly)";
schedule.Rules.Add(ScheduleRuleType.DaysOfWeek, GetDaysOfWeek(program.StartTime));
schedule.Rules.Add(ScheduleRuleType.AroundTime, new ScheduleTime(program.StartTime.TimeOfDay));
repeatingText = " weekly";
}
else if (repeatingType == RepeatingType.WorkingDays)
{
schedule.Name = program.Title + " (Mon-Fri)";
schedule.Rules.Add(ScheduleRuleType.DaysOfWeek, ScheduleDaysOfWeek.WorkingDays);
schedule.Rules.Add(ScheduleRuleType.AroundTime, new ScheduleTime(program.StartTime.TimeOfDay));
repeatingText = " Mon-Fri";
}
else if (repeatingType == RepeatingType.Weekends)
{
schedule.Name = program.Title + " (Sat-Sun)";
schedule.Rules.Add(ScheduleRuleType.DaysOfWeek, ScheduleDaysOfWeek.Weekends);
schedule.Rules.Add(ScheduleRuleType.AroundTime, new ScheduleTime(program.StartTime.TimeOfDay));
repeatingText = " Sat-Sun";
}
else if (repeatingType == RepeatingType.Weekly)
{
//.........这里部分代码省略.........