/// <summary>
        /// Holt ein Element
        /// </summary>
        /// <param name="key">ID/Key des Elements</param>
        /// <returns>Wurde das Element gefunden wird das Object zurückgegebene, ansonsten null</returns>
        internal static Medien GetElement(int key)
        {
            Medien tempObject = null;

            if (!IsKeyEindeutig(key))
            {
                try
                {
                    using (SqlConnection connection = new SqlConnection(connectionString))
                    {
                        connection.Open();
                        using (SqlCommand command = new SqlCommand("SELECT * FROM Medien WHERE Signatur='" + key + "'", connection))
                        {
                            using (SqlDataReader reader = command.ExecuteReader())
                            {
                                while (reader.Read())
                                {
                                    Enum.TryParse(reader.GetString(3), out Medien.TypBezeichnung typ);
                                    Enum.TryParse(reader.GetString(4), out Medien.LeihstatusBezeichnung leihstatus);

                                    if (typ == Medien.TypBezeichnung.Video)
                                    {
                                        Videos video = new Videos(reader.GetInt32(0), reader.GetString(1), reader.GetString(2), typ, leihstatus);
                                        tempObject = video;
                                    }
                                    else if (typ == Medien.TypBezeichnung.Buch)
                                    {
                                        Buecher buch = new Buecher(reader.GetInt32(0), reader.GetString(1), reader.GetString(2), typ, leihstatus);
                                        tempObject = buch;
                                    }
                                }
                            }
                        }
                    }
                }
                catch (SqlException ex)
                {
                    // TODO
                }

                return(tempObject);
            }
            else
            {
                Console.WriteLine("Signatur nicht gefunden!");
                return(null);
            }
        }
        /// <summary>
        /// Gibt alle Elemente zurück
        /// </summary>
        /// <returns>Eine ArrayList das alle Elemente beinhaltet</returns>
        internal static ArrayList GetAllElements()
        {
            ArrayList arrayList = new ArrayList();

            try
            {
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    connection.Open();
                    using (SqlCommand command = new SqlCommand("SELECT * FROM Medien", connection))
                    {
                        using (SqlDataReader reader = command.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                Enum.TryParse(reader.GetString(3), out Medien.TypBezeichnung typ);
                                Enum.TryParse(reader.GetString(4), out Medien.LeihstatusBezeichnung leihstatus);

                                if (reader.GetString(3) == Medien.TypBezeichnung.Video.ToString())
                                {
                                    Videos video = new Videos(reader.GetInt32(0), reader.GetString(1), reader.GetString(2), typ, leihstatus);
                                    arrayList.Add(video);
                                }
                                else if (typ == Medien.TypBezeichnung.Buch)
                                {
                                    Buecher buch = new Buecher(reader.GetInt32(0), reader.GetString(1), reader.GetString(2), typ, leihstatus);
                                    arrayList.Add(buch);
                                }
                            }
                        }
                    }
                }
            }
            catch (SqlException ex)
            {
                // TODO
            }

            return(arrayList);
        }