public YouTubeUploaderViewModel(YouTubeUploader Uploader, IMessageProvider MessageProvider, IClipboardService ClipboardService) { _uploader = Uploader; _messageProvider = MessageProvider; _cancellationTokenSource = new CancellationTokenSource(); OpenVideoCommand = this .ObserveProperty(M => M.Link) .Select(M => !string.IsNullOrWhiteSpace(M)) .ToReactiveCommand() .WithSubscribe(() => Process.Start(Link)); CopyLinkCommand = this .ObserveProperty(M => M.Link) .Select(M => !string.IsNullOrWhiteSpace(M)) .ToReactiveCommand() .WithSubscribe(() => ClipboardService.SetText(Link)); UploadCommand = new[] { _canUpload, this.ObserveProperty(M => Title) .Select(M => !string.IsNullOrWhiteSpace(M)) } .CombineLatestValuesAreAllTrue() .ToReactiveCommand() .WithSubscribe(() => _uploadTask = OnUpload()); }
public YouTubeUploaderViewModel(YouTubeUploader Uploader, IMessageProvider MessageProvider) { _uploader = Uploader; _messageProvider = MessageProvider; _cancellationTokenSource = new CancellationTokenSource(); UploadCommand = new DelegateCommand(() => _uploadTask = OnUpload(), false); OpenVideoCommand = new DelegateCommand(() => Process.Start(Link), false); CopyLinkCommand = new DelegateCommand(() => Link.WriteToClipboard(), false); }
public void Upload(bool Public) { if (!MainForm.Conf.Subscribed) { MessageBox.Show(this, "Subscribers only"); return; } if (FileName.EndsWith(".mp4")) { string[] parts = FileName.Split('\\'); string fn = parts[parts.Length - 1]; int id = Convert.ToInt32(fn.Substring(0, fn.IndexOf('_'))); MessageBox.Show(this, YouTubeUploader.AddUpload(id, parts[parts.Length - 1], Public, "", "")); } else { MessageBox.Show(this, "Can only upload MP4 Files."); } }