private void OnLoadRecordings() { try { for (int i = 0; i < Recordings.Count; i++) { Recordings.RemoveAt(i); } RegionManager.Regions[RegionNames.RecordingRegion].RemoveAll(); foreach (var recording in TvHeadend.GetRecordings()) { Recordings.Add(recording); } foreach (var recording in Recordings.OrderBy(r => r.Start)) { var navigationParams = new NavigationParameters { { "DataContext", recording } }; RegionManager.RequestNavigate(RegionNames.RecordingRegion, new Uri("Recording", UriKind.Relative), NavigationCompleted, navigationParams); } EventAggregator.GetEvent <StatusChangedEvent>().Publish(new StatusInfo($"{Recordings.Count} Recordings.")); } catch (Exception ex) { EventAggregator.GetEvent <StatusChangedEvent>().Publish(new StatusInfo(ex.Message)); } }
private void OnDelete() { //ToDo B: Use Mahapps Dialogs //ToDo B: complete list switch (Recording.Status) { case "Completed OK": if (MessageBox.Show($"Do you really want to delete the recorded file {Recording.Title} from the server?", "Are you sure?", MessageBoxButton.YesNoCancel) == MessageBoxResult.Yes) { TvHeadend.DeleteRecordedFile(Recording); } break; case "Scheduled for recording": if (MessageBox.Show($"Do you really want to delete the recording schedule {Recording.Title}?", "Are you sure?", MessageBoxButton.YesNoCancel) == MessageBoxResult.Yes) { TvHeadend.RemoveRecordingSchedule(Recording); } break; case "Not enough disk space": TvHeadend.DeleteRecordedFile(Recording); break; case "Time missed": TvHeadend.DeleteRecordedFile(Recording); break; } Recording = null; EventAggregator.GetEvent <RecordingChangedEvent>().Publish(); }
private void OnReloadChannels() { try { Channels?.Clear(); Channels = TvHeadend.GetChannels(); EventAggregator.GetEvent <StatusChangedEvent>().Publish(new StatusInfo($"{Channels.Count} Channels.")); } catch (System.Exception ex) { EventAggregator.GetEvent <StatusChangedEvent>().Publish(new StatusInfo(ex.Message)); } }
static int Main(string[] args) { var currentAction = ""; try { currentAction = "PrepareArgs"; args = PrepareArgs(args); var joinedArgs = string.Join(" ", args); //first parameter is -help: reply help info then return if (args[0].ToLower().StartsWith("-help")) { WriteHelp(); return(0); } //Check if at least more than 2 parameters are given, if not reply help info then return if (args.Length < 2) { Console.WriteLine("Error: insufficient arguments!"); WriteHelp(); return(-1); } currentAction = "new TvHeadend(args)"; ITvHeadend tvHeadend = new TvHeadend(args); //Action -channels if (args[0].ToLower().StartsWith("-channels")) { currentAction = "GetChannels(tvHeadend, joinedArgs.ToLower().Contains(\"-num\"))"; return(GetChannels(tvHeadend, joinedArgs.ToLower().Contains("-num"))); } //Try to get recording info from args currentAction = "tvHeadend.GetRecordingFromArgs(args)"; var recording = tvHeadend.GetRecordingFromArgs(args); // , 1 if (recording == null) { Console.WriteLine("Error: unable to resolve channel name"); return(-1); } //Recording Actions if (args[0].ToLower().StartsWith("-acreate")) { currentAction = "CreateRecording(tvHeadend, recording)"; return(CreateRecording(tvHeadend, recording)); } if (args[0].ToLower().StartsWith("-aremove")) { currentAction = "RemoveRecording(tvHeadend, recording)"; return(RemoveRecording(tvHeadend, recording)); } } catch (Exception ex) { Console.WriteLine($"Error {currentAction}: {ex.Message}"); return(-1); } return(0); }
public void TestMethod1() { var tvHeadend = new TvHeadend("http://192.168.63.10:9981/", true); var version = tvHeadend.GetTvHeadendVersion(); }