public static void Main() { List <string> Channels = new List <string>() { "a", "b", "c" }; AddChannel ac = new AddChannel(Channels); ac.AddSomthing("foo"); foreach (var s in Channels) { Console.WriteLine(s); } }
public void SetUp() { handler = Create<AddChannel>(); }
public WebBrowserVM(WebBrowser browser /*, TextBox browser_text_box, TextBox ch_uri_text_box*/) { CommentList = new CommentList(); ChannelList = new ChannelList(); // jump Regex HttpRegex = new Regex(@"^https?://"); JumpToURL = new DelegateCommand() { ExecuteAction = (param) => { Debug.Assert(JumpToURL.CanExecuteFunc(param)); try { browser.Navigate(BrowsingURI); } catch { BrowsingURI = "Invalid URL"; } }, CanExecuteFunc = (param) => { if (BrowsingURI == null) { return(false); } return(BrowsingURI != null && HttpRegex.IsMatch(BrowsingURI)); } }; browser.Navigated += (sender, e) => { var uri = e.Uri.ToString(); BrowsingURI = uri; //BrowsingChannelId = GetChannelId(uri); var id = GetChannelId(uri); var api_str = $"https://www.googleapis.com/youtube/v3/channels?part=snippet&id={id}&key={Settings.UserSetting.Settings["APIKey"]}"; var result = new StreamReader(WebRequest.Create(api_str).GetResponse().GetResponseStream(), System.Text.Encoding.UTF8).ReadToEnd(); dynamic info = DynamicJson.Parse(result).items[0].snippet; BrowsingChannel = new Channel() { Id = id, Name = info.title, ImageURI = [email protected] }; }; // channel AddChannel = new DelegateCommand() { ExecuteAction = (param) => { Debug.Assert(AddChannel.CanExecuteFunc(param)); ChannelList.RegisterChannnel(BrowsingChannel); AddChannel.UpdateCanExecuteChanged(); }, CanExecuteFunc = (param) => { return(ChannelList.CanRegisterChannel(BrowsingChannel)); } }; #region old //AddChannel = new DelegateCommand() //{ // ExecuteAction = (param) => // { // Debug.Assert(AddChannel.CanExecuteFunc(param)); // ChannelList.RegisterChannnel(GetChannelId(ChannelURI)); // }, // CanExecuteFunc = (param) => // { // if (ChannelURI == null) { return false; } // return GetChannelId(ChannelURI) != null; // } //}; //JumpToURL = new DelegateCommand() //{ // ExecuteAction = (param) => { // var uri = (string)param; // try // { // browser.Navigate(uri); // } // catch // { // browser_text_box.Text = "Invalid URL"; // } // } //}; //browser.Navigated += (sender, e) => { // browser_text_box.Text = e.Uri.ToString(); //}; //AddChannel = new DelegateCommand() //{ // ExecuteAction = (param) => // { // var str = (string)param; // Debug.Assert(ChannelRegex.IsMatch(str)); // ChannelList.RegisterChannnel(ChannelRegex.Match(str).Groups[1].Value); // }, // CanExecuteFunc = (param) => // { // var str = (string)param; // return ChannelRegex.IsMatch(str); // } //}; //ch_uri_text_box.TextChanged += (sender, e) => AddChannel.UpdateCanExecuteChanged(); #endregion }