예제 #1
0
파일: Loading.cs 프로젝트: Ckrag/Havecentre
        private void backgroundWorker_xml_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker worker = sender as BackgroundWorker;

            try
            {
                XmlDocument doc = new XmlDocument();
                doc.Load(Properties.Settings.Default.xml_source);

                XmlNodeList xnList = doc.SelectNodes("Havecentre/Havecenter");

                parent_form.havecentre_list.Clear();
                int goal = xnList.Count;
                int progress = 0;

                foreach(XmlNode node in xnList)

                {

                    if ((worker.CancellationPending == true))
                    {
                        e.Cancel = true;
                        break;
                    }
                    else
                    {
                        //for each center!
                        Center new_center = new Center();
                        foreach (XmlNode child in node)

                        {
                            switch (child.Name)
                            {
                                case "Name":
                                    new_center.Name = child.InnerText;
                                    break;
                                case "Attention":
                                    new_center.Attention = child.InnerText;
                                    break;
                                case "Address":
                                    new_center.Address = child.InnerText;
                                    break;
                                case "Zip":
                                    new_center.Zip = child.InnerText;
                                    break;
                                case "City":
                                    new_center.City = child.InnerText;
                                    break;
                                case "Phone":
                                    new_center.Phone = child.InnerText;
                                    break;
                                case "Email":
                                    new_center.Email = child.InnerText;
                                    break;
                                case "Url":
                                    new_center.Url = child.InnerText;
                                    break;
                                default:
                                    break;
                            }
                        }
                        parent_form.havecentre_list.Add(new_center); //add it to the list
                        progress++;
                        backgroundWorker_xml.ReportProgress(progress * 100 / goal);
                    }
                }

            }
            catch (Exception Ex)
            {
                xml_error = true;
            }
        }
예제 #2
0
        private void backgroundWorker_xml_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker worker = sender as BackgroundWorker;

            try
            {
                XmlDocument doc = new XmlDocument();
                doc.Load(Properties.Settings.Default.xml_source);

                XmlNodeList xnList = doc.SelectNodes("Havecentre/Havecenter");

                parent_form.havecentre_list.Clear();
                int goal     = xnList.Count;
                int progress = 0;

                foreach (XmlNode node in xnList)

                {
                    if ((worker.CancellationPending == true))
                    {
                        e.Cancel = true;
                        break;
                    }
                    else
                    {
                        //for each center!
                        Center new_center = new Center();
                        foreach (XmlNode child in node)

                        {
                            switch (child.Name)
                            {
                            case "Name":
                                new_center.Name = child.InnerText;
                                break;

                            case "Attention":
                                new_center.Attention = child.InnerText;
                                break;

                            case "Address":
                                new_center.Address = child.InnerText;
                                break;

                            case "Zip":
                                new_center.Zip = child.InnerText;
                                break;

                            case "City":
                                new_center.City = child.InnerText;
                                break;

                            case "Phone":
                                new_center.Phone = child.InnerText;
                                break;

                            case "Email":
                                new_center.Email = child.InnerText;
                                break;

                            case "Url":
                                new_center.Url = child.InnerText;
                                break;

                            default:
                                break;
                            }
                        }
                        parent_form.havecentre_list.Add(new_center); //add it to the list
                        progress++;
                        backgroundWorker_xml.ReportProgress(progress * 100 / goal);
                    }
                }
            }
            catch (Exception Ex)
            {
                xml_error = true;
            }
        }