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));
 }
Esempio n. 3
0
 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!");
     }
 }
Esempio n. 4
0
 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();
     }
 }
Esempio n. 5
0
 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;
     }
 }
Esempio n. 6
0
 public void deleteAusgang(Ausgang r)
 {
     ausgaenge.Remove(r);
 }
Esempio n. 7
0
        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();
            }
        }
Esempio n. 8
0
        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();
            }
        }
Esempio n. 9
0
        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;
        }
Esempio n. 10
0
        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;
        }
Esempio n. 11
0
        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;
        }