Example #1
0
        static List <OpenData> findOpendata()
        {
            List <OpenData> result = new List <OpenData>();
            var             Xml    = XElement.Load(@"https://data.kcg.gov.tw/dataset/a1f496df-8fc1-424f-83c3-6c76b0c14496/resource/e4c6fda4-b261-4d70-af9f-f92c9390e75c/download/xml75.xml");
            var             nodes  = Xml.Descendants("各項稅捐徵課費用").ToList();

            /* for (var i = 0; i < nodes.Count; i++)
             * {
             *   var node = nodes[i];
             *   OpenData item = new OpenData();
             *
             *   item.資料年度 = getValue(node, "資料年度");
             *   item.統計項目 = getValue(node, "統計項目");
             *   item.稅目別 = getValue(node, "稅目別");
             *   item.資料單位 = getValue(node, "資料單位");
             *   item.值 = getValue(node, "值");
             *   result.Add(item);
             * }*/
            nodes.ToList()
            .ForEach(node =>
            {
                OpenData item = new OpenData();
                item.資料年度     = getValue(node, "資料年度");
                item.統計項目     = getValue(node, "統計項目");
                item.稅目別      = getValue(node, "稅目別");
                item.資料單位     = getValue(node, "資料單位");
                item.值        = getValue(node, "值");
                result.Add(item);
            });
            return(result);
        }
        public List <OpenData> SelectAll(string name)
        {
            var result     = new List <OpenData>();
            var connection = new SqlConnection(ConnectionString);

            connection.Open();
            var command = new SqlCommand("", connection);

            command.CommandText = string.Format(@"
Select 資料年度,統計項目,稅目別,資料單位,值 From OpenData");
            if (!string.IsNullOrEmpty(name))
            {
                command.CommandText = $"{command.CommandText} Where 資料單位 = N'{name }'";
            }

            var reader = command.ExecuteReader();

            while (reader.Read())
            {
                var newitem = new OpenData();
                //newitem.資料年度 = reader.GetString(0);
                newitem.統計項目 = reader.GetString(1);
                //newitem.稅目別 = reader.GetString(2);
                //newitem.資料單位 = reader.GetString(3);
                //newitem.值 = reader.GetString(4);
                result.Add(newitem);
            }

            connection.Close();
            return(result);
        }
Example #3
0
        public static List <OpenData> DataOut()
        {
            List <OpenData> result     = new List <OpenData>();
            var             connection = new SqlConnection(ConnectionString);

            connection.Open();


            var command = new SqlCommand("", connection);

            command.CommandText = string.Format(@"Select * From data");

            var reader = command.ExecuteReader();

            while (reader.Read())
            {
                var item = new OpenData();

                item.稱    = reader.GetString(1);
                item.鎮市別  = reader.GetString(2);
                item.地址   = reader.GetString(3);
                item.聯絡單位 = reader.GetString(4);
                item.電話   = reader.GetString(5);
                result.Add(item);
            }
            reader.Close();



            command.ExecuteNonQuery();
            connection.Close();


            return(result);
        }
Example #4
0
        public object Update(OpenData item)
        {
            var updateItem = item;
            var connection = new System.Data.SqlClient.SqlConnection(ConnectionString);

            connection.Open();


            //var command = new System.Data.SqlClient.SqlCommand("", connection);
//            command.CommandText = string.Format(@"
//UPDATE [OpenData]
//   SET
//      [資料集名稱] = N'{0}'
//      ,[服務分類] = N'{1}'
//      ,[資料集描述] = N'{2}'
//      ,[DisplaySqe] = N'{3}'
// WHERE ID=N'{4}'
//            ", updateItem.服務分類, updateItem.資料集名稱, updateItem.資料集描述, updateItem.DisplaySqe, updateItem.ID);

//            command.ExecuteNonQuery();


            connection.Close();
            return(item);
        }
Example #5
0
        public List <OpenData> Select_All_Data(SqlConnection conn, string name)
        {
            var result = new List <OpenData>();

            conn.Open();

            var sql_command = new SqlCommand("", conn);

            // SqlCommand mySqlCmd = new SqlCommand(string, conn);
            sql_command.CommandText = string.Format(@"Select 工會名稱,地址,電話,傳真 From sOpenData");

            /*
             * if (!string.IsNullOrEmpty(name))
             *  sql_command.CommandText = $"{sql_command.CommandText}Where Category =N'{name}'";
             */
            var reader = sql_command.ExecuteReader();


            while (reader.Read())
            {
                var item = new OpenData();
                item.工會名稱 = reader.GetString(0);
                item.地址   = reader.GetString(1);
                item.電話   = reader.GetString(2);
                item.傳真   = reader.GetString(3);
                result.Add(item);
            }

            conn.Close();
            return(result);
        }
Example #6
0
        public void Insert(OpenData item)
        {
            var newItem    = item;
            var connection = new SqlConnection(ConnectionString);

            connection.Open();


            var command = new SqlCommand("", connection);

            command.CommandText = string.Format(@"
INSERT INTO OpenData(訓練項目,訓練部位,組數,每組次數,日期) 
VALUES             (N'{0}',N'{1}',N'{2}',N'{3}',N'{4}')
            ", newItem.訓練項目, newItem.訓練部位, newItem.組數, newItem.每組次數, newItem.日期);

            /* command.CommandText = string.Format(@"
             * INSERT INTO OpenData(服務分類, 資料集名稱, 主要欄位說明)
             * VALUES              (N'{0}',N'{1}',N'{2}')
             * ", newItem.服務分類, newItem.資料集名稱, newItem.主要欄位說明);*/

            command.ExecuteNonQuery();


            connection.Close();
        }
        public List <OpenData> SelectAll(string country)
        {
            var result  = new List <OpenData>();
            var connect = new System.Data.SqlClient.SqlConnection(ConnectionString);

            connect.Open();

            var command = new System.Data.SqlClient.SqlCommand("", connect);

            command.CommandText = string.Format(@"
                                  SELECT Id, 縣市,地區, 空氣品質指標, 空氣汙染指標物, 狀態
                                  FROM Opendata");
            if (!string.IsNullOrEmpty(country))
            {
                command.CommandText = $"{command.CommandText} WHERE 縣市=N'{country}'";
            }

            var reader = command.ExecuteReader();

            while (reader.Read())
            {
                var item = new OpenData();
                item.Id      = reader.GetInt32(0);
                item.縣市      = reader.GetString(1);
                item.空氣品質指標  = reader.GetString(2);
                item.空氣汙染指標物 = reader.GetString(3);
                item.狀態      = reader.GetString(4);
                result.Add(item);
            }

            connect.Close();
            return(result);
        }
Example #8
0
        public List<OpenData> FindOpenDataFromXml()
        {
            List<OpenData> result = new List<OpenData>();

            string baseDir = Directory.GetCurrentDirectory();



            var xml = XElement.Load(System.IO.Path.Combine(baseDir, "App_Data/datagovtw_dataset_20181005.xml"));


            //XNamespace gml = @"http://www.opengis.net/gml/3.2";
            //XNamespace twed = @"http://twed.wra.gov.tw/twedml/opendata";
            var nodes = xml.Descendants("node").ToList();


            result = nodes
                .Where(x => !x.IsEmpty).ToList()
                .Select(node =>
                {
                    OpenData item = new OpenData();
                    item.id = int.Parse(getValue(node, "id"));
                    item.companyname = getValue(node, "companyname");
                    item.Address = getValue(node, "Address");
                    item.Category = getValue(node, "Category");
                    return item;
                }).ToList();
            return result;

        }
Example #9
0
        public List <OpenData> FindOpenData()
        {
            List <OpenData> result = new List <OpenData>();

            string baseDir = Directory.GetCurrentDirectory();



            var xml = XElement.Load(@"C:\Users\user\Desktop\軟體工程2\my1005\my1005\App_Data\data.xml");

            //XNamespace gml = @"http://www.opengis.net/gml/3.2";
            //XNamespace twed = @"http://twed.wra.gov.tw/twedml/opendata";
            var nodes = xml.Descendants("node").ToList();


            result = nodes
                     .Where(x => !x.IsEmpty).ToList()
                     .Select(node =>
            {
                OpenData item = new OpenData();
                item.id       = int.Parse(getValue(node, "id"));
                item.資料集名稱    = getValue(node, "資料集名稱");
                item.務分類      = getValue(node, "服務分類");
                item.主要欄位說明   = getValue(node, "主要欄位說明");
                return(item);
            }).ToList();
            return(result);
        }
Example #10
0
        static List <OpenData> findOpenData()
        {
            List <OpenData> result = new List <OpenData>();

            var xml = XElement.Load(@"C:\Users\Henry\Downloads\O-A0001-001.xml");

            XNamespace aw    = "urn:cwb:gov:tw:cwbcommon:0.1";
            var        nodes = xml.Descendants(aw + "location").ToList();

            /*
             * for (var i = 0; i < nodes.Count; i++)
             * {
             *  var node = nodes[i];
             *
             *  OpenData item = new OpenData();
             *
             *  //item.id = int.Parse(getValue(node, "id"));
             *  item.地區 = getValue(node, aw + "locationName");
             *  item.經度 = getValue(node, aw + "lat");
             *  item.緯度 = getValue(node, aw + "lon");
             *  result.Add(item);
             * }
             */
            nodes.ToList().ForEach(node =>
            {
                OpenData item = new OpenData();

                item.地區 = getValue(node, aw + "locationName");
                item.經度 = getValue(node, aw + "lat");
                item.緯度 = getValue(node, aw + "lon");
                result.Add(item);
            });
            return(result);
        }
Example #11
0
        public static List <OpenData> FindStations()
        {
            List <OpenData> nodeList = new List <OpenData>();



            var xml = XElement.Load(@"C:\Users\user\Downloads\datagovtw_dataset_20180316 (1).xml");


            //XNamespace gml = @"http://www.opengis.net/gml/3.2";
            //XNamespace twed = @"http://twed.wra.gov.tw/twedml/opendata";
            var nodes = xml.Descendants("node").ToList();

            nodeList = nodes
                       .Where(x => !x.IsEmpty).ToList()
                       .Select(node =>
            {
                OpenData item = new OpenData();
                item.ID       = getValue(node, "ID");
                item.資料集名稱    = getValue(node, "資料集名稱");
                item.務分類      = getValue(node, "服務分類");
                item.資料集描述    = getValue(node, "資料集描述");
                return(item);
            }).ToList();
            return(nodeList);
        }
 public MainWindow()
 {
     InitializeComponent();
     openData   = new OpenData("OpenData1.json");
     foodPlaces = openData.GetFoodPlaces();
     FillCollection(foodPlaces);
 }
        private async void MessageListItemTapCommandExecute(DealMessageList dealMessage)
        {
            try
            {
                if (App.buttonClick == 0)
                {
                    App.buttonClick++;
                    int    threadIdNo   = dealMessage.threadId;
                    string strPartyName = dealMessage.partyName;
                    string strTopic     = dealMessage.topic;

                    Application.Current.Properties["THREADID"]  = threadIdNo;
                    Application.Current.Properties["PARTYNAME"] = strPartyName;
                    Application.Current.Properties["TOPIC"]     = strTopic;

                    int index = OpenData.ToList().FindIndex(s => s.dealId == dealMessage.dealId);
                    if (index != -1)
                    {
                        OpenData[index].hasBeenRead = true;
                    }

                    await Application.Current.SavePropertiesAsync();

                    //await Application.Current.MainPage.Navigation.PushAsync(new MessageThreadViewPage(), false);

                    _helper.NavigateToItemDetail(new MessageThreadViewPage());
                    //Application.Current.MainPage = new NavigationPage(new MessageThreadViewPage());
                }
            }
            catch (Exception ex)
            {
                ShowExceptionAlert(ex);
            }
        }
Example #14
0
        public List <OpenData> FindOpenDataFromXml()
        {
            List <OpenData> result = new List <OpenData>();

            string baseDir = Directory.GetCurrentDirectory();



            var xml = XElement.Load(@"C: \Users\user\source\repos\NKUST10712\1018\資料庫操作\OpenDataImport\App_Data\20190109193732MFDir.xml");



            //XNamespace gml = @"http://www.opengis.net/gml/3.2";
            //XNamespace twed = @"http://twed.wra.gov.tw/twedml/opendata";
            var nodes = xml.Descendants("node").ToList();


            result = nodes
                     .Where(x => !x.IsEmpty).ToList()
                     .Select(node =>
            {
                OpenData item = new OpenData();
                item.id       = int.Parse(getValue(node, "id"));
                item.園區別      = getValue(node, "園區別");
                item.廠商名稱     = getValue(node, "廠商名稱");
                item.地址       = getValue(node, "地址");
                return(item);
            }).ToList();
            return(result);
        }
Example #15
0
        static List <OpenData> findOpenData()
        {
            List <OpenData> result = new List <OpenData>();



            var xml = XElement.Load(@"App_Data/datagovtw_dataset_20181005.xml");


            //XNamespace gml = @"http://www.opengis.net/gml/3.2";
            //XNamespace twed = @"http://twed.wra.gov.tw/twedml/opendata";
            List <XElement> nodes = xml.Descendants("node").ToList();

            for (var i = 0; i < nodes.Count; i++)
            {
                var node = nodes[i];


                OpenData item = new OpenData();

                item.id     = int.Parse(getValue(node, "id"));
                item.資料集名稱  = getValue(node, "資料集名稱");
                item.主要欄位說明 = getValue(node, "主要欄位說明");
                item.務分類    = getValue(node, "服務分類");
                result.Add(item);
            }
            return(result);
        }
Example #16
0
 /// <summary>
 /// Gets a TrackingList object with the (current) bound data in the table
 /// </summary>
 /// <param name="allowCache">Determines whether or not to force a full table read for the request, deny cache usage for fetching data on the first call to this method.</param>
 /// <returns>A TrackingList object with the (current) bound data in the table</returns>
 public TrackingList <T> GetData(bool allowCache)
 {
     if ((allowCache) && (OpenData != null))
     {
         return(OpenData);
     }
     OpenData.Clear();
     using (SQLiteCommand command = new SQLiteCommand("SELECT * FROM " + TableName, DBConnection))
     {
         using (SQLiteDataReader reader = command.ExecuteReader())
         {
             while (reader.Read())
             {
                 T obj = Activator.CreateInstance <T>();
                 foreach (AttributeProperty property in Properties)
                 {
                     property.propertyInfo.SetValue(obj, reader[property.attribute.column]);
                 }
                 IDField.SetValue(obj, reader["id"]);
                 OpenData.PreAdd(obj);
             }
         }
     }
     return(OpenData);
 }
        public List <OpenData> Select_All_Data(SqlConnection conn, string name)
        {
            var result = new List <OpenData>();

            conn.Open();

            var sql_command = new SqlCommand("", conn);

            // SqlCommand mySqlCmd = new SqlCommand(string, conn);
            sql_command.CommandText = string.Format(@"Select Id,companyname,Address,Category From OpenData");

            /*
             * if (!string.IsNullOrEmpty(name))
             *  sql_command.CommandText = $"{sql_command.CommandText}Where Category =N'{name}'";
             */
            var reader = sql_command.ExecuteReader();


            while (reader.Read())
            {
                var item = new OpenData();
                item.id          = reader.GetInt32(0);
                item.companyname = reader.GetString(1);
                item.Address     = reader.GetString(2);
                item.Category    = reader.GetString(3);
                result.Add(item);
            }

            conn.Close();
            return(result);
        }
        static List <OpenData> findOpenData()
        {
            List <OpenData> result = new List <OpenData>();

            var xml = XElement.Load(@"C:\Users\User\source\repos\paul19980606\20181005xmlAnalysis\XMLAnalysis\Gov_Case.xml");

            var Gov_Cases = xml.Descendants("Gov_Case").ToList();

            /*
             * for (var i = 0; i < Gov_Cases.Count; i++)
             * {
             *  var Gov_Case_data = Gov_Cases[i];
             *  OpenData item = new OpenData();
             *
             *  item.年度 = getValue(Gov_Case_data, "年度");
             *  item.案名 = getValue(Gov_Case_data, "案名");
             *  item.縣市 = getValue(Gov_Case_data, "縣市");
             *  result.Add(item);
             * };
             */
            //分支0
            Gov_Cases.ToList()
            .ForEach(Gov_Case_data =>
            {
                OpenData item = new OpenData();
                item.年度       = getValue(Gov_Case_data, "年度");
                item.案名       = getValue(Gov_Case_data, "案名");
                item.縣市       = getValue(Gov_Case_data, "縣市");
                result.Add(item);
            });


            return(result);
        }
Example #19
0
        public List <OpenData> select(SqlConnection conn)
        {
            conn.Open();
            var result = new List <OpenData>();

            var command = new SqlCommand("", conn);

            //command.CommandText = string.Format(@"Select Id,資料集名稱,資料集提供機關聯絡人,資料集描述,授權方式 From STable");
            command.CommandText = string.Format(@"Select * From STable");
            var reader = command.ExecuteReader();

            while (reader.Read())
            {
                var item = new OpenData();
                item.Id         = reader.GetInt32(0);
                item.資料集名稱      = reader.GetString(1);
                item.資料集提供機關聯絡人 = reader.GetString(2);
                item.資料集描述      = reader.GetString(3);
                item.授權方式       = reader.GetString(4);
                result.Add(item);
            }

            conn.Close();

            return(result);
        }
Example #20
0
        public List <OpenData> FindOpenDataFromXml()
        {
            List <OpenData> result = new List <OpenData>();

            string baseDir = Directory.GetCurrentDirectory();


            var xml = XElement.Load(@"D:\[高科大]軟體工程\github\1102\OpenDataImport\OpenDataImport\App_Data\datagovtw_dataset_20181005.xml");


            //XNamespace gml = @"http://www.opengis.net/gml/3.2";
            //XNamespace twed = @"http://twed.wra.gov.tw/twedml/opendata";
            var nodes = xml.Descendants("node").ToList();

            result = nodes
                     .Where(x => !x.IsEmpty).ToList()
                     .Select(node =>
            {
                OpenData item = new OpenData();
                item.id       = int.Parse(getValue(node, "id"));
                item.資料集名稱    = getValue(node, "資料集名稱");
                item.務分類      = getValue(node, "服務分類");
                item.主要欄位說明   = getValue(node, "主要欄位說明");
                return(item);
            }).ToList();
            return(result);
        }
Example #21
0
        public List <OpenData> SelectAll(string name)
        {
            var result     = new List <OpenData>();
            var connection = new SqlConnection(ConnectionString);

            connection.Open();

            var command = new SqlCommand("", connection);

            command.CommandText = string.Format(@"
            Select id,服務分類, 資料集名稱, 主要欄位說明
            From OpenData");
            if (!string.IsNullOrEmpty(name))
            {
                command.CommandText =
                    $"{command.CommandText} Where 服務分類 = N'{name}'";
            }
            //command.CommandText + "Where 服務分類 = N'" + name + "'";
            //command.Parameters.Add(new SqlParameter("p1", name));
            var reader = command.ExecuteReader();

            while (reader.Read())
            {
                var item = new OpenData();
                item.id     = reader.GetInt32(0);
                item.務分類    = reader.GetString(1);
                item.資料集名稱  = reader.GetString(2);
                item.主要欄位說明 = reader.GetString(3);
                result.Add(item);
            }

            connection.Close();
            return(result);
        }
Example #22
0
 void updateQueue()
 {
     if (!m_opening && m_openQueue.Count > 0)
     {
         OpenData opneData = m_openQueue.Dequeue();
         m_openCor = open(opneData.UIType, opneData.Model, opneData.Data, opneData.Finish).Start();
     }
 }
        public void Sql_Insert(SqlConnection conn, OpenData item)
        {
            conn.Open();

            String strInsert = "INSERT INTO STable (年度,案名,縣市 )VALUES(N'" + item.年度 + "',N'" + item.案名 + "',N'" + item.縣市 + "')";

            SqlCommand mySqlCmd = new SqlCommand(strInsert, conn);

            mySqlCmd.ExecuteNonQuery();
            conn.Close();
        }
Example #24
0
        public void Insert_Data(SqlConnection conn, OpenData item)
        {
            conn.Open();
            string sql_insert_code = "INSERT INTO SQLTable(編號,攤名,區域,電話,地址)VALUES(N'" + item.編號 + "',N'" + item.攤名 + "',N'" + item.區域 + "',N'" + item.電話 + "',N'" + item.地址 + "')";

            SqlCommand mySqlCmd = new SqlCommand(sql_insert_code, conn);

            mySqlCmd.ExecuteNonQuery();

            conn.Close();
        }
Example #25
0
 /// <summary>
 /// Updates the data stored in the bound TrackingList to the database table
 /// </summary>
 /// <returns>The amount of rows affected/created by the update</returns>
 public int Update()
 {
     lock (DBLock)
     {
         int      i              = 0;
         List <T> newObjects     = OpenData.GetAdded();
         List <T> updateObjects  = OpenData.GetModified();
         List <T> removedObjects = OpenData.GetRemoved();
         using (SQLiteTransaction transaction = DBConnection.BeginTransaction())
         {
             foreach (T obj in newObjects)
             {
                 String query = "INSERT INTO " + TableName + " (id," + String.Join(",", Properties.Select((x) => (x.attribute.column))) + ") VALUES(" + obj.GetId() + "," + String.Join(",", Properties.Select((x) => ("@" + x.propertyInfo.Name))) + ")";
                 using (SQLiteCommand command = new SQLiteCommand(query, DBConnection))
                 {
                     for (int j = 0; j < Properties.Count; j++)
                     {
                         command.Parameters.AddWithValue("@" + Properties[j].propertyInfo.Name, Properties[j].propertyInfo.GetValue(obj));
                     }
                     i += command.ExecuteNonQuery();
                 }
             }
             foreach (T obj in updateObjects)
             {
                 String        query   = "UPDATE " + TableName + " SET ";
                 List <String> updates = new List <String>();
                 foreach (AttributeProperty property in Properties)
                 {
                     updates.Add(property.attribute.column + "=@" + property.propertyInfo.Name);
                 }
                 query += String.Join(",", updates) + " WHERE id=" + obj.GetId();
                 using (SQLiteCommand command = new SQLiteCommand(query, DBConnection))
                 {
                     for (int j = 0; j < Properties.Count; j++)
                     {
                         command.Parameters.AddWithValue("@" + Properties[j].propertyInfo.Name, Properties[j].propertyInfo.GetValue(obj));
                     }
                     i += command.ExecuteNonQuery();
                 }
             }
             foreach (T obj in removedObjects)
             {
                 String query = "DELETE FROM " + TableName + " WHERE id=" + obj.GetId();
                 using (SQLiteCommand command = new SQLiteCommand(query, DBConnection))
                 {
                     i += command.ExecuteNonQuery();
                 }
             }
             transaction.Commit();
         }
         OpenData.ClearCache();
         return(i);
     }
 }
Example #26
0
        public void Insert_Data_SQL(SqlConnection conn, OpenData item)
        {
            conn.Open();

            string sql_Insert = "  INSERT INTO STable(資料集名稱, 資料集提供機關聯絡人, 資料集描述 , 授權方式) VALUES ( N'" + item.資料集名稱 + "',N'" + item.資料集提供機關聯絡人 + "',N'" + item.資料集描述 + "',N'" + item.授權方式 + "')";

            SqlCommand mySqlCmd = new SqlCommand(sql_Insert, conn);

            mySqlCmd.ExecuteNonQuery();

            conn.Close();
        }
Example #27
0
        public void Update(OpenData item)
        {
            var exist = openDataDbCotext.OpenData.Where(x => x.id == item.id).SingleOrDefault();

            if (exist == null)
            {
                return;
            }
            exist.主要欄位說明 = item.主要欄位說明;
            exist.務分類    = item.務分類;
            exist.資料集名稱  = item.資料集名稱;
            openDataDbCotext.SaveChanges();
        }
Example #28
0
        public void Update(OpenData item)
        {
            var exist = OpenDataDbContext.OpenData
                        .Where(x => x.id == item.id).SingleOrDefault();

            if (exist == null)
            {
                return;
            }
            exist.companyname = item.companyname;
            exist.Address     = item.Address;
            exist.Category    = item.Category;
            OpenDataDbContext.SaveChanges();
        }
Example #29
0
        public void Update(OpenData item)
        {
            var exist = OpenDataDbContext.OpenData
                        .Where(x => x.id == item.id).SingleOrDefault();

            if (exist == null)
            {
                return;
            }
            exist.園區別  = item.園區別;
            exist.廠商名稱 = item.廠商名稱;
            exist.地址   = item.地址;
            OpenDataDbContext.SaveChanges();
        }
        public List <OpenData> FindOpenDataFromXml()
        {
            List <OpenData> result = new List <OpenData>();
            var             Xml    = XElement.Load(@"https://data.kcg.gov.tw/dataset/a1f496df-8fc1-424f-83c3-6c76b0c14496/resource/e4c6fda4-b261-4d70-af9f-f92c9390e75c/download/xml75.xml");
            var             nodes  = Xml.Descendants("各項稅捐徵課費用").ToList();

            //for (var i = 0; i < nodes.Count; i++)
            //{
            //    var node = nodes[i];
            //    OpenData item = new OpenData();

            //    item.資料年度 = getValue(node, "資料年度");
            //    item.統計項目 = getValue(node, "統計項目");
            //    item.稅目別 = getValue(node, "稅目別");
            //    item.資料單位 = getValue(node, "資料單位");
            //    item.值 = getValue(node, "值");
            //    result.Add(item);
            //}

            //nodes.ToList()
            //    .Where(x=>getValue(x,"")=="")
            //    .ToList()
            //    .ForEach(node =>
            //    {
            //        OpenData item = new OpenData();
            //        item.資料年度 = getValue(node, "資料年度");
            //        item.統計項目 = getValue(node, "統計項目");
            //        item.稅目別 = getValue(node, "稅目別");
            //        item.資料單位 = getValue(node, "資料單位");
            //        item.值 = getValue(node, "值");
            //        result.Add(item);
            //    });
            int count = 1;

            result = nodes.ToList()
                     .Select(node =>
            {
                OpenData item = new OpenData();
                item.Id       = count;
                item.資料年度     = GetValue(node, "資料年度");
                item.統計項目     = GetValue(node, "統計項目");
                item.稅目別      = GetValue(node, "稅目別");
                item.資料單位     = GetValue(node, "資料單位");
                item.值        = GetValue(node, "值");
                count++;
                return(item);
            }).ToList();

            return(result);
        }
        private void RecentFileMenuItem_Click(object sender, EventArgs e)
        {
            //			if (m_logReaders.Count <= 0)
            //				return;

            MenuItem item = (MenuItem) sender;

            LogManager.ClearLogs();
            OpenData data = new OpenData();
            data.Reader = new AutoDetectLogReader();
            data.Files = new string[] { item.Text.Replace("&&", "&") };
            m_progress.SetDescription("Opening recent file...");
            m_progress.WorkFinishedCallback = new StateObjectCallback(OpenFileFinishedCallback);
            m_progress.Start(new WorkCallback(OpenFilesWorkCallback), data);
        }
        private void menuOpenFile_Click(object sender, EventArgs e)
        {
            if (m_logReaders.Count <= 0)
            {
                Log.Info("No log readers found.");
                return;
            }

            if (openLogDialog.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    OpenData data = new OpenData();
                    data.Files = openLogDialog.FileNames;
                    data.Reader = (ILogReader) m_logReaders[openLogDialog.FilterIndex - 1];
                    LogManager.ClearLogs();
                    m_progress.SetDescription("Reading file(s)...");
                    m_progress.WorkFinishedCallback = new StateObjectCallback(OpenFileFinishedCallback);
                    m_progress.Start(new WorkCallback(OpenFilesWorkCallback), data);
                }
                catch (Exception e1)
                {
                    Log.Error("opening file", e1);
                }
                finally
                {
                    UpdateCaption();
                }
            }
        }
 /// <summary>
 /// Handles the Click event of the menuOpenFolder control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
 private void menuOpenFolder_Click(object sender, System.EventArgs e)
 {
     if (m_logReaders.Count > 0)
     {
         // Show the FolderBrowserDialog.
         openFolderLogDialog.SelectedPath = openLogDialog.InitialDirectory;
         if (openFolderLogDialog.ShowDialog() == DialogResult.OK)
         {
             openLogDialog.InitialDirectory = openFolderLogDialog.SelectedPath;
             // Start loads logs
             List<FileInfo> filesInDir = GetDirectoryFiles(new DirectoryInfo(openFolderLogDialog.SelectedPath), "*.log", true);
             if (filesInDir.Count > 0)
             {
                 try
                 {
                     int i = 0;
                     OpenData data = new OpenData();
     //							data.Files = (string[])GetDirectoryFiles(new DirectoryInfo(openFolderLogDialog.SelectedPath), "*.log", true).ToArray(typeof(string));
                     data.Files = new string[filesInDir.Count];
                     foreach(FileInfo s in filesInDir)
                         data.Files[i++] = s.FullName;
                     data.Reader = (ILogReader) m_logReaders[openLogDialog.FilterIndex - 1];
                     LogManager.ClearLogs();
                     m_progress.SetDescription("Reading file(s)...");
                     m_progress.WorkFinishedCallback = new StateObjectCallback(OpenFileFinishedCallback);
                     m_progress.Start(new WorkCallback(OpenFilesWorkCallback), data);
                 }
                 catch (Exception e1)
                 {
                     Log.Error("opening file", e1);
                 }
                 finally
                 {
                     UpdateCaption();
                 }
             }
             filesInDir = null;
         }
     }
     else
         Log.Info("No log readers found.");
 }
 private void menuOpenAnother_Click(object sender, System.EventArgs e)
 {
     if (m_logReaders.Count > 0)
     {
         openAnotherLogDialog.FileName = openLogDialog.FileName;
         if (openAnotherLogDialog.ShowDialog() == DialogResult.OK)
         {
             try
             {
                 // Disable log text updates if log is too long
                 if (LogManager.CountPackets() > 100000)
                 {
                     logDataDisableUpdatesCheckBox.Checked = true;
                 }
                 OpenData data = new OpenData();
                 data.Files = openAnotherLogDialog.FileNames;
                 data.Reader = (ILogReader) m_logReaders[openAnotherLogDialog.FilterIndex - 1];
     //						LogManager = null;
                 m_progress.SetDescription("Reading file(s)...");
                 m_progress.WorkFinishedCallback = new StateObjectCallback(OpenFileFinishedCallback);
                 m_progress.Start(new WorkCallback(OpenFilesWorkCallback), data);
             }
             catch (Exception e1)
             {
                 Log.Error("opening another file", e1);
             }
             finally
             {
                 UpdateCaption();
             }
         }
     }
     else
         Log.Info("No log readers found.");
 }