/// <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();
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 private static void OnSystemFound(GameConsole system)
 {
     SystemList.Add(system);
 }