public void TestAddRechnungszeilenMin()
 {
     Rechnungszeile rezeile = new Rechnungszeile(3,"rezeiletest",23.33,3,ObjectStates.New);
     BL.saveRechnungszeile(rezeile);
     Assert.That(BL.getRechnungszeilen(3).First().Betrag, Is.EqualTo(23.33));
     Assert.That(BL.getRechnungszeilen(3).First().Bezeichnung, Is.EqualTo("rezeiletest"));
 }
 public void TestDeleteRechnungsZeilen()
 {
     Rechnungszeile rezeile = new Rechnungszeile();
     int oldlength = BL.getRechnungszeilen(8).Count();
     rezeile = BL.getRechnungszeilen(8).Last();
     BL.deleteRechnungszeile(rezeile);
     Assert.That(BL.getRechnungszeilen(8).Count, Is.EqualTo(oldlength - 1));
     Assert.That(BL.getRechnungszeilen(8), Is.Not.EqualTo(rezeile));
 }
 public void TestAddRechnungszeilen()
 {
     Rechnungszeile rezeile = new Rechnungszeile();
     int oldlength = BL.getRechnungszeilen(8).Count();
     rezeile.Betrag = 656;
     rezeile.Bezeichnung = "Zeile1";
     rezeile.Rechnungid = 8;
     rezeile.Status = ObjectStates.New;
     BL.saveRechnungszeile(rezeile);
     Assert.That(BL.getRechnungszeilen(8).Count, Is.EqualTo(oldlength + 1));
     Assert.That(BL.getRechnungszeilen(8).First().Betrag, Is.EqualTo(656));
     Assert.That(BL.getRechnungszeilen(8).First().Bezeichnung, Is.EqualTo("Zeile1"));
     Assert.That(BL.getRechnungszeilen(8).First().Status, Is.EqualTo(ObjectStates.Modified));
 }
예제 #4
0
 public void saveRechnungszeile(Rechnungszeile r)
 {
     if (r.Status == ObjectStates.New)
     {
         r.Status = ObjectStates.Unmodified;
         r.Reid = zeilen.Count + 1;
         zeilen.Add(r);
     }
     else if (r.Status == ObjectStates.Modified)
     {
         int index = zeilen.IndexOf(r);
         zeilen[index].Reid = r.Reid;
         zeilen[index].Betrag = r.Betrag;
         zeilen[index].Bezeichnung = r.Bezeichnung;
         zeilen[index].Rechnungid = r.Rechnungid;
         zeilen[index].Status = ObjectStates.Unmodified;
     }
 }
예제 #5
0
 public void deleteRechnungszeile(Rechnungszeile r)
 {
     zeilen.Remove(r);
 }
예제 #6
0
 public static void saveRechnungszeile(Rechnungszeile r)
 {
     try
     {
         DALFactory.getDAL().saveRechnungszeile(r);
         Logger.Info("Rechnungszeile mit ID " + r.Reid + " gespeichert!");
     }
     catch (DALException ex)
     {
         Logger.Error("Fehler beim Speichern der Rechnungszeile mit ID " + r.Reid, ex);
         throw new BLException("Rechnungszeile konnte nicht gespeichert werden!");
     }
 }
예제 #7
0
 public void deleteRechnungszeile(Rechnungszeile r)
 {
     buildconnection();
     NpgsqlCommand comm = null;
     try
     {
         string sql = "Delete from rechnungszeilen where reid = @reid";
         comm = new NpgsqlCommand(sql, conn);
         comm.Parameters.AddWithValue("@reid", r.Reid);
         comm.Prepare();
         comm.ExecuteNonQuery();
         r.Status = ObjectStates.Deleted;
     }
     catch (NpgsqlException exp)
     {
         throw new DALException("DAL: Rechnungszeile konnte nicht gelöscht werden!", exp);
     }
     finally
     {
         comm.Dispose();
         conn.Close();
     }
 }
예제 #8
0
        public void saveRechnungszeile(Rechnungszeile r)
        {
            buildconnection();
            NpgsqlCommand comm = null;
            try
            {
                string sql = "";
                if (r.Status == ObjectStates.New)
                {
                    sql = @"Insert into rechnungszeilen (bezeichnung, betrag,rechnungid)
                            values (@bezeichnung, @betrag,@rechnungid)";
                    comm = new NpgsqlCommand(sql, conn);

                }
                else if (r.Status == ObjectStates.Modified)
                {
                    sql = @"Update rechnungszeilen set bezeichnung = @bezeichnung, betrag = @betrag,
                    rechnungid = @rechnungid where reid = @reid";
                    comm = new NpgsqlCommand(sql, conn);
                    comm.Parameters.AddWithValue("@reid", r.Reid);

                }
                comm.Parameters.AddWithValue("@bezeichnung", r.Bezeichnung);
                comm.Parameters.AddWithValue("@betrag", r.Betrag);
                comm.Parameters.AddWithValue("@rechnungid", r.Rechnungid);

                comm.Prepare();
                comm.ExecuteNonQuery();
                r.Status = ObjectStates.Unmodified;
            }
            catch (NpgsqlException exp)
            {
                throw new DALException("DAL: Rechnungszeile konnte nicht gespeichert werden!", exp);
            }
            finally
            {
                comm.Dispose();
                conn.Close();
            }
        }
예제 #9
0
        public List<Rechnungszeile> getRechnungszeilenViewList(int rechnungid)
        {
            buildconnection();
            List<Rechnungszeile> rlist = new List<Rechnungszeile>();
            NpgsqlCommand comm = null;
            NpgsqlDataReader reader = null;
            try
            {
                string sql = "Select reid,bezeichnung,betrag,rechnungid from rechnungszeilen where rechnungid = @rechnungid;";
                comm = new NpgsqlCommand(sql, conn);
                comm.Parameters.AddWithValue("@rechnungid", rechnungid);
                reader = comm.ExecuteReader();
                while (reader.Read())
                {
                    Rechnungszeile r = new Rechnungszeile();
                    r.Reid = reader.GetInt32(0);
                    r.Bezeichnung = reader.GetString(1).Trim();
                    r.Betrag = reader.GetDouble(2);
                    r.Rechnungid = reader.ReadNullableInt(3);
                    rlist.Add(r);
                }

            }
            catch (NpgsqlException exp)
            {
                throw new DALException("DAL: Rechnungszeilenliste konnte nicht aus der Datenbank geladen werden!", exp);
            }
            finally
            {
                reader.Close();
                comm.Dispose();
                conn.Close();
            }

            return rlist;
        }