Ejemplo n.º 1
0
        public async Task <DeviceCollection> GetTable(string table, string name)
        {
            DeviceCollection list = new DeviceCollection();

            list.Name = name;

            using (OleDbConnection db = new OleDbConnection(Connection))
            {
                using (var cmd = db.CreateCommand())
                {
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.CommandText = $"SELECT [point], [Comment], [description], [tooltip], [DeviceSymbol], [Comment], [Location] FROM [{table}]";

                    try
                    {
                        db.Open();
                        var reader = await cmd.ExecuteReaderAsync();

                        while (reader.Read())
                        {
                            if (!reader.IsDBNull(0))
                            {
                                list.Add(new Device()
                                {
                                    Point            = reader.GetString(0),
                                    Comment          = reader.IsDBNull(1) ? null : reader.GetString(1),
                                    Description      = reader.IsDBNull(2) ? null : reader.GetString(2),
                                    AlarmDescription = reader.IsDBNull(5) ? null : reader.GetString(5),
                                    DeviceSymbol     = reader.IsDBNull(4) ? null : reader.GetString(4),
                                    Location         = reader.IsDBNull(5) ? null : reader.GetString(5),
                                    Tooltip          = reader.IsDBNull(3) ? null : reader.GetString(3)
                                });
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                    finally
                    {
                        if (db.State == System.Data.ConnectionState.Open)
                        {
                            db.Close();
                        }
                    }
                }
            }

            return(list);
        }