public void TestDeleteEingang() { Eingang r = new Eingang(); int oldlength = BL.getEingaenge().Count; r = BL.getEingaenge().Last(); BL.deleteEingang(r); Assert.That(BL.getEingaenge().Count, Is.EqualTo(oldlength - 1)); Assert.That(BL.getEingaenge().Last(), Is.Not.EqualTo(r)); }
public void TestAddEingangMin() { Eingang r = new Eingang(5,"Eingangtest",DateTime.Now,323.434,"C:",1,ObjectStates.New); BL.saveEingang(r); Assert.That(BL.getEingaenge(1).Last().Betrag, Is.EqualTo(323.434)); Assert.That(BL.getEingaenge(1).Last().Bezeichnung, Is.EqualTo("Eingangtest")); Assert.That(BL.getEingaenge(1).Last().Path, Is.EqualTo("C:")); BL.deleteEingang(r); }
public static void deleteEingang(Eingang r) { try { DALFactory.getDAL().deleteEingang(r); Logger.Info("Eingangsrechnung mit ID " + r.Rechnungid + " gelöscht!"); } catch (DALException ex) { Logger.Error("Fehler beim Löschen der Eingangsrechnung mit ID " + r.Rechnungid, ex); throw new BLException("Eingangsrechnung konnte nicht gelöscht werden!"); } }
public void TestAddEingang() { Eingang r = new Eingang(); int oldlength = BL.getEingaenge().Count; r.Bezeichnung = "Testeingangsrechnung"; r.Betrag = 656; r.Path = "C:"; r.Status = ObjectStates.New; BL.saveEingang(r); Assert.That(BL.getEingaenge().Count, Is.EqualTo(oldlength + 1)); Assert.That(BL.getEingaenge().ElementAt(oldlength).Betrag, Is.EqualTo(656)); Assert.That(BL.getEingaenge().ElementAt(oldlength).Bezeichnung, Is.EqualTo("Testeingangsrechnung")); Assert.That(BL.getEingaenge().ElementAt(oldlength).Path, Is.EqualTo("C:")); }
public void saveEingang(Eingang r) { if (r.Status == ObjectStates.New) { r.Status = ObjectStates.Unmodified; r.Rechnungid = rechnungid + 1; rechnungid++; eingaenge.Add(r); } else if (r.Status == ObjectStates.Modified) { int index = eingaenge.IndexOf(r); eingaenge[index].Rechnungid = r.Rechnungid; eingaenge[index].Bezeichnung = r.Bezeichnung; eingaenge[index].Datum = r.Datum; eingaenge[index].Path = r.Path; eingaenge[index].Kontaktid = r.Kontaktid; eingaenge[index].Status = ObjectStates.Unmodified; } }
public void deleteEingang(Eingang r) { eingaenge.Remove(r); }
public List<Eingang> getEingangViewList(int kontaktid) { buildconnection(); List<Eingang> rlist = new List<Eingang>(); NpgsqlCommand comm = null; NpgsqlDataReader reader = null; try { string sql = @"Select r.rechnungid, e.kontaktid, e.betrag, r.datum,r.bezeichnung, e.path from eingang e, rechnungen r where e.rechnungid = r.rechnungid and e.kontaktid = @kontaktid;"; comm = new NpgsqlCommand(sql, conn); comm.Parameters.AddWithValue("@kontaktid", kontaktid); reader = comm.ExecuteReader(); while (reader.Read()) { Eingang r = new Eingang(); r.Rechnungid = reader.GetInt32(0); r.Kontaktid = reader.GetInt32(1); r.Betrag = reader.GetDouble(2); r.Datum = reader.ReadNullableDateTime(3); r.Bezeichnung = reader.GetString(4).Trim(); r.Path = reader.GetString(5).Trim(); rlist.Add(r); } } catch (NpgsqlException exp) { throw new DALException("DAL: Rechnungsliste konnte nicht aus der Datenbank geladen werden!", exp); } finally { reader.Close(); comm.Dispose(); conn.Close(); } return rlist; }
public List<Eingang> getAusgaben(int month, int year) { buildconnection(); List<Eingang> rlist = new List<Eingang>(); NpgsqlCommand comm = null; NpgsqlDataReader reader = null; try { string sql = @"Select r.rechnungid, e.kontaktid, e.betrag, r.datum,r.bezeichnung, e.path from eingang e, rechnungen r where e.rechnungid = r.rechnungid;"; comm = new NpgsqlCommand(sql, conn); reader = comm.ExecuteReader(); while (reader.Read()) { Eingang r = new Eingang(); r.Rechnungid = reader.GetInt32(0); r.Kontaktid = reader.GetInt32(1); r.Betrag = reader.GetDouble(2); r.Datum = reader.ReadNullableDateTime(3); r.Bezeichnung = reader.GetString(4).Trim(); r.Path = reader.GetString(5).Trim(); if ((r.Datum.Value.Year) == year && (r.Datum.Value.Month == month)) { rlist.Add(r); } } } catch (NpgsqlException exp) { throw new DALException("DAL: Ausgaben konnte nicht aus der Datenbank geladen werden!", exp); } finally { reader.Close(); comm.Dispose(); conn.Close(); } return rlist; }
public void saveEingang(Eingang r) { buildconnection(); NpgsqlCommand commein = null, commrech = null; try { string sqlein = "", sqlrech = ""; if (r.Status == ObjectStates.New) { sqlein = @"Insert into eingang (rechnungid,kontaktid, betrag,path) values (currval('rechnungen_rechnungid_seq'), @kontaktid, @betrag, @path)"; sqlrech = @"Insert into rechnungen (bezeichnung, datum) values (@bezeichnung, @datum)"; commein = new NpgsqlCommand(sqlein, conn); commrech = new NpgsqlCommand(sqlrech,conn); } else if (r.Status == ObjectStates.Modified) { sqlein = @"Update eingang set kontaktid = @kontaktid, betrag = @betrag, path = @path where rechnungid = @rechnungid"; sqlrech = @"Update rechnungen set bezeichnung = @bezeichnung, datum = @datum where rechnungid = @rechnungid"; commein = new NpgsqlCommand(sqlein, conn); commrech = new NpgsqlCommand(sqlrech, conn); commein.Parameters.AddWithValue("@rechnungid", r.Rechnungid); commrech.Parameters.AddWithValue("@rechnungid", r.Rechnungid); } commrech.Parameters.AddWithValue("@bezeichnung", r.Bezeichnung); commrech.Parameters.AddWithValue("@datum", r.Datum); commrech.Prepare(); commrech.ExecuteNonQuery(); commein.Parameters.AddWithValue("@kontaktid", r.Kontaktid); commein.Parameters.AddWithValue("@betrag", r.Betrag); commein.Parameters.AddWithValue("@path", r.Path); commein.Prepare(); commein.ExecuteNonQuery(); r.Status = ObjectStates.Unmodified; } catch (NpgsqlException exp) { throw new DALException("DAL: Kontakt konnte nicht gespeichert werden!", exp); } finally { commein.Dispose(); commrech.Dispose(); conn.Close(); } }
public Rechnung getRechung(int rechnungsid) { buildconnection(); Rechnung r = new Rechnung(); NpgsqlCommand comm = null; NpgsqlDataReader reader = null; try { string sql = @"Select r.rechnungid, a.projektid, a.kundenid, r.datum, r.bezeichnung from rechnungen r, ausgang a where r.rechnungid = a.rechnungid and r.rechnungid = @rechnungid"; comm = new NpgsqlCommand(sql, conn); comm.Parameters.AddWithValue("@rechnungid", rechnungsid); reader = comm.ExecuteReader(); while (reader.Read()) { Ausgang a = new Ausgang(); a.Rechnungid = reader.GetInt32(0); a.Projektid = reader.GetInt32(1); a.Kundenid = reader.GetInt32(2); a.Datum = reader.ReadNullableDateTime(3); a.Bezeichnung = reader.GetString(4).Trim(); return a; } sql = @"Select r.rechnungid, e.kontaktid, e.betrag, e.path, r.datum, r.bezeichnung from rechnungen r, eingang e where r.rechnungid = e.rechnungid and r.rechnungid = @rechnungid"; comm = new NpgsqlCommand(sql, conn); comm.Parameters.AddWithValue("@rechnungid", rechnungsid); reader = comm.ExecuteReader(); while (reader.Read()) { Eingang e = new Eingang(); e.Rechnungid = reader.GetInt32(0); e.Kontaktid = reader.GetInt32(1); e.Betrag = reader.GetDouble(2); e.Path = reader.GetString(3); e.Datum = reader.ReadNullableDateTime(4); e.Bezeichnung = reader.GetString(5).Trim(); return e; } } catch (NpgsqlException exp) { throw new DALException("DAL: Rechnung konnte nicht aus der Datenbank geladen werden!", exp); } finally { reader.Close(); comm.Dispose(); conn.Close(); } return null; }
public List<Eingang> getOffeneERechnungen() { buildconnection(); List<Eingang> rlist = new List<Eingang>(); double summerezeile, summebuchung; NpgsqlCommand comm = null; NpgsqlDataReader reader = null; try { string sql = @"Select r.rechnungid, e.kontaktid, e.betrag, r.datum,r.bezeichnung, e.path from eingang e, rechnungen r where e.rechnungid = r.rechnungid;"; comm = new NpgsqlCommand(sql, conn); reader = comm.ExecuteReader(); while (reader.Read()) { Eingang r = new Eingang(); r.Rechnungid = reader.GetInt32(0); r.Kontaktid = reader.GetInt32(1); r.Betrag = reader.GetDouble(2); r.Datum = reader.ReadNullableDateTime(3); r.Bezeichnung = reader.GetString(4).Trim(); r.Path = reader.GetString(5).Trim(); summebuchung = summerezeile = 0; List<Buchung> blist = getBuchungViewList(r.Rechnungid); foreach (var buchung in blist) { summebuchung += buchung.Betrag; } if (summebuchung != summerezeile) rlist.Add(r); } } catch (NpgsqlException exp) { throw new DALException("DAL: Offene Eingangsrechnungen konnten nicht aus der Datenbank geladen werden!", exp); } finally { reader.Close(); comm.Dispose(); conn.Close(); } return rlist; }
public void deleteEingang(Eingang r) { buildconnection(); NpgsqlCommand comm = null; try { string sql = "Delete from rechnungen where rechnungid = @rechnungid"; comm = new NpgsqlCommand(sql, conn); comm.Parameters.AddWithValue("@rechnungid", r.Rechnungid); comm.Prepare(); comm.ExecuteNonQuery(); r.Status = ObjectStates.Deleted; } catch (NpgsqlException exp) { throw new DALException("DAL: Rechnung konnte nicht gelöscht werden!", exp); } finally { comm.Dispose(); conn.Close(); } }