/// <summary>
        /// Loads all Eingangsrechnungen
        /// </summary>
        /// <returns>The saved Eingangsrechnungen</returns>
        public List<EingangsrechnungsView> LoadEingangsrechnungsView()
        {
            string sql = "SELECT e.ID, e.Bezeichnung, e.Rechnungsdatum, z.BetragUST FROM Eingangsrechnung e JOIN Eingangsbuchung b ON b.EingangsrechnungsID = e.ID JOIN Buchungszeilen z ON b.BuchungszeilenID = z.ID";

            List<EingangsrechnungsView> results = new List<EingangsrechnungsView>();

            // open connection and get requested Projekt(e) out of database
            SQLiteConnection con = null;
            SQLiteTransaction tra = null;
            SQLiteCommand cmd = null;
            SQLiteDataReader reader = null;

            try
            {
                // initialise connection
                con = new SQLiteConnection(ConfigFileManager.ConnectionString);
                con.Open();

                // initialise transaction
                tra = con.BeginTransaction();
                cmd = new SQLiteCommand(sql, con);

                // execute and get results
                reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    EingangsrechnungsView result = new EingangsrechnungsView();
                    result.ID = reader.GetInt32(0);
                    result.Bezeichnung = reader.GetString(1);
                    result.Rechnungsdatum = reader.GetString(2);
                    result.Betrag = reader.GetDouble(3);
                    results.Add(result);
                }

                return results;
            }
            catch (SQLiteException)
            {
                throw;
            }
            finally
            {
                if (reader != null) { reader.Dispose(); }
                if (tra != null) { tra.Dispose(); }
                if (cmd != null) { cmd.Dispose(); }
                if (con != null) { con.Dispose(); }
            }
        }
        /// <summary>
        /// Loads all Eingangsrechnungen as Views
        /// </summary>
        /// <returns>The saved Eingangsrechnungen</returns>
        public List<EingangsrechnungsView> LoadEingangsrechnungsView()
        {
            List<EingangsrechnungsView> view = new List<EingangsrechnungsView>();
            int buchungsID = -1;
            BuchungszeilenTable zeile = new BuchungszeilenTable();

            foreach (EingangsrechnungTable table in savedEingangsrechnungen)
            {
                EingangsrechnungsView viewelement = new EingangsrechnungsView();
                viewelement.ID = table.ID;
                viewelement.Bezeichnung = table.Bezeichnung;
                viewelement.Rechnungsdatum = table.Rechnungsdatum;

                // get connected EingangsbuchungsID
                foreach (EingangsbuchungTable b in savedEingangsbuchungen)
                {
                    if (b.EingangsrechungsID == viewelement.ID)
                    {
                        buchungsID = b.BuchungszeilenID;
                        break;
                    }
                }

                // get connected Buchungszeile and Betrag
                foreach (BuchungszeilenTable b in savedBuchungszeilen)
                {
                    if (b.ID == buchungsID)
                    {
                        viewelement.Betrag = b.BetragUST;
                        break;
                    }
                }

                view.Add(viewelement);
            }

            return view;
        }