/// <summary> /// 新增命令 /// </summary> /// <returns></returns> public override void ExecuteAdd() { Sys_Systems system = new Sys_Systems(); system.ID = SystemList.Max(p => p.ID) + 1; FrmSystemSettingEdit edit = new FrmSystemSettingEdit(system); edit.SaveEvent += (sys) => { SystemList.Add(sys); }; edit.ShowDialog(); }
internal override async Task <List <GameConsole> > GetSystemsAsync() {//use the webclient to grab the source code of the page HttpWebRequest request = (WebRequest.Create(new Uri(URL, "roms"))) as HttpWebRequest; HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync(); var status = response.StatusCode; if (status == HttpStatusCode.OK) { Stream receiveStream = response.GetResponseStream(); StreamReader readStream = null; if (response.CharacterSet == null) { readStream = new StreamReader(receiveStream); } else { readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet)); } string page = readStream.ReadToEnd(); // pass the source code into the html document HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(page); // navigate the nodes to find the game console listings foreach (var node in doc.DocumentNode.SelectNodes("//html/body/div/div/div/table[2]/tr/td[1]/font[1]/table/tr/td/table/tr/td/a")) { var system = new GameConsole(node.InnerText, new Uri(URL, node.Attributes["href"].Value), this); FixConsoleName(system); SystemList.Add(system); TriggerSystemFound(system); } } return(SystemList); }
private static void OnSystemFound(GameConsole system) { SystemList.Add(system); }