public void TestDeleteAusgang() { Ausgang a = new Ausgang(); int oldlength = BL.getAusgaenge().Count(); a = BL.getAusgaenge().Last(); BL.deleteAusgang(a); Assert.That(BL.getAusgaenge().Count, Is.EqualTo(oldlength - 1)); Assert.That(BL.getAusgaenge().Last(), Is.Not.EqualTo(a)); }
public void TestAddAusgang() { Ausgang a = new Ausgang(); int oldlength = BL.getAusgaenge().Count(); a.Bezeichnung = "Testausgangsrechnung"; a.Kundenid = 1; a.Status = ObjectStates.New; BL.saveAusgang(a); Assert.That(BL.getAusgaenge().Count, Is.EqualTo(oldlength + 1)); Assert.That(BL.getAusgaenge().ElementAt(oldlength).Bezeichnung, Is.EqualTo("Testausgangsrechnung")); Assert.That(BL.getAusgaenge().ElementAt(oldlength).Kundenid, Is.EqualTo(1)); }
public static void deleteAusgang(Ausgang r) { try { DALFactory.getDAL().deleteAusgang(r); Logger.Info("Ausgangsrechnung mit ID " + r.Rechnungid + " gelöscht!"); } catch (DALException ex) { Logger.Error("Fehler beim Löschen der Ausgangsrechnung mit ID " + r.Rechnungid, ex); throw new BLException("Ausgangsrechnung konnte nicht gelöscht werden!"); } }
public void deleteAusgang(Ausgang r) { buildconnection(); NpgsqlCommand comm = null; try { string sql = "Delete from rechnungen_buchungen where rechnungid = @rechnungid"; comm = new NpgsqlCommand(sql, conn); comm.Parameters.AddWithValue("@rechnungid", r.Rechnungid); comm.Prepare(); comm.ExecuteNonQuery(); sql = "Delete from rechnungszeilen where rechnungid = @rechnungid"; comm = new NpgsqlCommand(sql, conn); comm.Parameters.AddWithValue("@rechnungid", r.Rechnungid); comm.Prepare(); comm.ExecuteNonQuery(); sql = "Delete from ausgang where rechnungid = @rechnungid"; comm = new NpgsqlCommand(sql, conn); comm.Parameters.AddWithValue("@rechnungid", r.Rechnungid); comm.Prepare(); comm.ExecuteNonQuery(); 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(); } }
public void saveAusgang(Ausgang r) { if (r.Status == ObjectStates.New) { r.Status = ObjectStates.Unmodified; r.Rechnungid = rechnungid + 1; rechnungid++; ausgaenge.Add(r); } else if (r.Status == ObjectStates.Modified) { int index = ausgaenge.IndexOf(r); ausgaenge[index].Rechnungid = r.Rechnungid; ausgaenge[index].Bezeichnung = r.Bezeichnung; ausgaenge[index].Datum = r.Datum.Value; ausgaenge[index].Projektid = r.Projektid; ausgaenge[index].Status = ObjectStates.Unmodified; } }
public void deleteAusgang(Ausgang r) { ausgaenge.Remove(r); }
public List<Ausgang> getAusgangViewListByProjektId(int projektid) { buildconnection(); NpgsqlCommand comm = null; NpgsqlDataReader reader = null; List<Ausgang> rlist = new List<Ausgang>(); try { string sql = @"Select a.rechnungid, a.projektid, a.kundenid, r.datum,r.bezeichnung from ausgang a, rechnungen r where a.rechnungid = r.rechnungid and projektid = @projektid;"; comm = new NpgsqlCommand(sql, conn); comm.Parameters.AddWithValue("@projektid", projektid); reader = comm.ExecuteReader(); while (reader.Read()) { Ausgang r = new Ausgang(); r.Rechnungid = reader.GetInt32(0); r.Projektid = reader.GetInt32(1); r.Kundenid = reader.GetInt32(2); r.Datum = reader.ReadNullableDateTime(3); r.Bezeichnung = reader.GetString(4).Trim(); rlist.Add(r); } return rlist; } catch (NpgsqlException exp) { throw new DALException("DAL: Rechnungsliste konnte nicht gefunden werden!", exp); } finally { comm.Dispose(); conn.Close(); reader.Close(); } }
public void saveAusgang(Ausgang r) { buildconnection(); NpgsqlCommand comm = null, commaus = null; try { string sql = "", sqlaus= ""; if (r.Status == ObjectStates.New) { sql = @"Insert into rechnungen (datum,bezeichnung) values (@datum,@bezeichnung)"; sqlaus = "Insert into ausgang (rechnungid,projektid,kundenid) values (currval('rechnungen_rechnungid_seq'),@projektid,@kundenid)"; comm = new NpgsqlCommand(sql, conn); commaus = new NpgsqlCommand(sqlaus, conn); } else if (r.Status == ObjectStates.Modified) { sql = @"Update rechnungen set datum = @datum, bezeichnung = @bezeichnung where rechnungid = @rechnungid"; comm = new NpgsqlCommand(sql, conn); sqlaus = @"Update ausgang set projektid = @projektid, kundenid = @kundenid where rechnungid = @rechnungid"; commaus = new NpgsqlCommand(sqlaus, conn); comm.Parameters.AddWithValue("@rechnungid", r.Rechnungid); commaus.Parameters.AddWithValue("@rechnungid", r.Rechnungid); } comm.Parameters.AddWithValue("@datum", r.Datum); comm.Parameters.AddWithValue("@bezeichnung", r.Bezeichnung); comm.Prepare(); comm.ExecuteNonQuery(); commaus.Parameters.AddWithValue("@kundenid", r.Kundenid); commaus.Parameters.AddWithValue("@projektid", r.Projektid); commaus.Prepare(); commaus.ExecuteNonQuery(); r.Status = ObjectStates.Unmodified; } catch (NpgsqlException exp) { throw new DALException("DAL: Rechnung konnte nicht gespeichert werden!", exp); } finally { comm.Dispose(); commaus.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<Ausgang> getOffeneARechnungen() { buildconnection(); List<Ausgang> rlist = new List<Ausgang>(); double summerezeile, summebuchung; NpgsqlCommand comm = null; NpgsqlDataReader reader = null; try { string sql = @"Select r.rechnungid, a.projektid, a.kundenid, r.datum,r.bezeichnung from ausgang a, rechnungen r where a.rechnungid = r.rechnungid;"; comm = new NpgsqlCommand(sql, conn); reader = comm.ExecuteReader(); while (reader.Read()) { Ausgang r = new Ausgang(); r.Rechnungid = reader.GetInt32(0); r.Projektid = reader.GetInt32(1); r.Kundenid = reader.GetInt32(2); r.Datum = reader.ReadNullableDateTime(3); r.Bezeichnung = reader.GetString(4).Trim(); summerezeile = summebuchung = 0; List<Rechnungszeile> zeilen = getRechnungszeilenViewList(r.Rechnungid); foreach (var rzeile in zeilen) { summerezeile += rzeile.Betrag; } List<Buchung> buchungen = getBuchungViewList(r.Rechnungid); foreach (var buchung in buchungen) { summebuchung += buchung.Betrag; } if (summebuchung != summerezeile) rlist.Add(r); } } catch (NpgsqlException exp) { throw new DALException("DAL: Offene Ausgangsrechnungen konnten nicht aus der Datenbank geladen werden!", exp); } finally { comm.Dispose(); reader.Close(); conn.Close(); } return rlist; }
public List<Ausgang> getEinnahmen(int month, int year) { buildconnection(); List<Ausgang> rlist = new List<Ausgang>(); NpgsqlCommand comm = null; NpgsqlDataReader reader = null; try { string sql = @"Select r.rechnungid, a.projektid, a.kundenid, r.datum,r.bezeichnung from ausgang a, rechnungen r where a.rechnungid = r.rechnungid;"; comm = new NpgsqlCommand(sql, conn); reader = comm.ExecuteReader(); while (reader.Read()) { Ausgang r = new Ausgang(); r.Rechnungid = reader.GetInt32(0); r.Projektid = reader.GetInt32(1); r.Kundenid = reader.GetInt32(2); r.Datum = reader.ReadNullableDateTime(3); r.Bezeichnung = reader.GetString(4).Trim(); if ((r.Datum.Value.Year) == year && (r.Datum.Value.Month == month)) { rlist.Add(r); } } } catch (NpgsqlException exp) { throw new DALException("DAL: Einnahmen konnte nicht aus der Datenbank geladen werden!", exp); } finally { reader.Close(); comm.Dispose(); conn.Close(); } return rlist; }