/// <summary>
        /// Get all railway companies.
        /// </summary>
        /// <returns>The requested list filled with information.</returns>
        public List <SwitchboardPanel> GetAll()
        {
            string                  sql = string.Empty;
            SwitchboardPanel        admin;
            List <SwitchboardPanel> admins = new List <SwitchboardPanel>();

            Logger.LogDebug(this, "[CLASS].GetAll()");

            try
            {
                Connect();

                sql = @"SELECT 
                        " + SwitchboardPanelManager.SQL_FIELDS_SELECT + @"
                    FROM 
                        " + SwitchboardPanelManager.SQL_TABLE + @" 
                    ORDER BY 
                        name";

                using (SQLiteDataReader reader = ExecuteReader(sql))
                {
                    while (reader.Read())
                    {
                        admin = SwitchboardPanelManager.ReadEntityRecord(reader);
                        if (admin != null)
                        {
                            admins.Add(admin);
                        }
                    }
                }

                return(admins);
            }
            catch (Exception ex)
            {
                Logger.LogError(this, ex);

                throw;
            }
            finally
            {
                Disconnect();
            }
        }
        /// <summary>
        /// Gets a panel by its name.
        /// </summary>
        /// <param name="name">The panel's name.</param>
        /// <returns>The requested instance of <see cref="SwitchboardPanel"/>.</returns>
        public SwitchboardPanel GetByName(string name)
        {
            string           sql  = string.Empty;
            SwitchboardPanel item = null;

            Logger.LogDebug(this, "[CLASS].GetByName({0})", name);

            try
            {
                Connect();

                sql = @"SELECT 
                        " + SwitchboardPanelManager.SQL_FIELDS_SELECT + @" 
                    FROM 
                        " + SwitchboardPanelManager.SQL_TABLE + @" 
                    WHERE 
                        LCase(name) = @name";

                SetParameter("name", name);

                using (SQLiteDataReader reader = ExecuteReader(sql))
                {
                    if (reader.Read())
                    {
                        item = SwitchboardPanelManager.ReadEntityRecord(reader);
                    }
                }

                return(item);
            }
            catch (Exception ex)
            {
                Logger.LogError(this, ex);

                throw;
            }
            finally
            {
                Disconnect();
            }
        }