/// <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; }