public void TestAddKunde_empty()
 {
     int oldlength = BL.getKunden().Count;
     Kunde k = new Kunde(6, "", "", "");
     k.Hausnummer = "";
     k.Adresse = String.Empty;
     k.Plz = String.Empty;
     k.Ort = String.Empty;
     k.Telefon = String.Empty;
     k.Bemerkungen = String.Empty;
     k.Status = ObjectStates.New;
     BL.saveKunde(k);
     int index = BL.getKunden().Count;
     Assert.That(index, Is.EqualTo(oldlength + 1));
     Assert.That(BL.getKunde(index).Vorname, Is.EqualTo(String.Empty));
     Assert.That(BL.getKunde(index).Nachname, Is.EqualTo(String.Empty));
     Assert.That(BL.getKunde(index).Email, Is.EqualTo(String.Empty));
     Assert.That(BL.getKunde(index).Hausnummer, Is.EqualTo(String.Empty));
     Assert.That(BL.getKunde(index).Adresse, Is.EqualTo(String.Empty));
     Assert.That(BL.getKunde(index).Plz, Is.EqualTo(String.Empty));
     Assert.That(BL.getKunde(index).Ort, Is.EqualTo(String.Empty));
     Assert.That(BL.getKunde(index).Telefon, Is.EqualTo(String.Empty));
     Assert.That(BL.getKunde(index).Bemerkungen, Is.EqualTo(String.Empty));
     Assert.That(BL.getKunde(index).Status, Is.EqualTo(ObjectStates.Modified));
     BL.deleteKunde(k);
 }
 public void TestAddKunde()
 {
     int oldlength = BL.getKunden().Count;
     Kunde k = new Kunde();
     k.Vorname = "Max";
     k.Nachname = "Test";
     k.Email = "*****@*****.**";
     k.Hausnummer = "44";
     k.Adresse = "Hauptstraße 101";
     k.Plz = "2275";
     k.Ort = "Bernhardsthal";
     k.Telefon = "+4369912760033";
     k.Bemerkungen = "Hallo";
     k.Status = ObjectStates.New;
     BL.saveKunde(k);
     int index = BL.getKunden().Count;
     Assert.That(index, Is.EqualTo(oldlength + 1));
     Assert.That(BL.getKunde(index).Vorname, Is.EqualTo("Max"));
     Assert.That(BL.getKunde(index).Nachname, Is.EqualTo("Test"));
     Assert.That(BL.getKunde(index).Email, Is.EqualTo("*****@*****.**"));
     Assert.That(BL.getKunde(index).Hausnummer, Is.EqualTo("44"));
     Assert.That(BL.getKunde(index).Adresse, Is.EqualTo("Hauptstraße 101"));
     Assert.That(BL.getKunde(index).Plz, Is.EqualTo("2275"));
     Assert.That(BL.getKunde(index).Ort, Is.EqualTo("Bernhardsthal"));
     Assert.That(BL.getKunde(index).Telefon, Is.EqualTo("+4369912760033"));
     Assert.That(BL.getKunde(index).Bemerkungen, Is.EqualTo("Hallo"));
     Assert.That(BL.getKunde(index).ToString(), Is.EqualTo("Max Test"));
     Assert.That(BL.getKunde(index).Status, Is.EqualTo(ObjectStates.Modified));
 }
 public void TestAddKunde_Sonderzeichen()
 {
     Kunde k = new Kunde(89999, "ö54848", "487!,", "587=!-", ObjectStates.New);
     BL.saveKunde(k);
     int index = BL.getKunden().Count;
     Assert.That(BL.getKunde(index).Vorname, Is.EqualTo("ö54848"));
     Assert.That(BL.getKunde(index).Nachname, Is.EqualTo("487!,"));
     Assert.That(BL.getKunde(index).Email, Is.EqualTo("587=!-"));
     Assert.That(BL.getKunde(index).Status, Is.EqualTo(ObjectStates.Modified));
     BL.deleteKunde(k);
 }
示例#4
0
 public void saveKunde(Kunde k)
 {
     if (k.Status == ObjectStates.New)
     {
         k.Status = ObjectStates.Unmodified;
         k.Kundenid = kunden.Count + 1;
         kunden.Add(k);
     }
     else if (k.Status == ObjectStates.Modified)
     {
         int index = kunden.IndexOf(k);
         kunden[index].Kundenid = k.Kundenid;
         kunden[index].Vorname = k.Vorname;
         kunden[index].Nachname = k.Nachname;
         kunden[index].Email = k.Email;
         kunden[index].Adresse = k.Adresse;
         kunden[index].Hausnummer = k.Hausnummer;
         kunden[index].Plz = k.Plz;
         kunden[index].Ort = k.Ort;
         kunden[index].Telefon = k.Telefon;
         kunden[index].Bemerkungen = k.Bemerkungen;
         kunden[index].Status = ObjectStates.Unmodified;
     }
 }
示例#5
0
 public void deleteKunde(Kunde k)
 {
     kunden.Remove(k);
 }
示例#6
0
 public static void saveKunde(Kunde k)
 {
     try
     {
         DALFactory.getDAL().saveKunde(k);
         Logger.Info("Kunde mit ID " + k.Kundenid + " gespeichert!");
     }
     catch (DALException ex)
     {
         Logger.Error("Fehler beim Speicher des Kunden mit der ID " + k.Kundenid, ex);
         throw new BLException("Kunde konnte nicht gepspeichert werden!");
     }
 }
示例#7
0
 public static void deleteKunde(Kunde k)
 {
     try
     {
         if (DALFactory.getDAL().getAngebotViewList(k.Kundenid).Count > 0)
         {
             Logger.Warn("Kunde mit ID " + k.Kundenid + " kann nicht gelöscht werden, da Angebote existieren, die zugeordnet sind!");
             throw new BLException("Kunde kann nicht gelöscht werden, da ihm Angebote zugeordnet sind!");
         }
         else if (DALFactory.getDAL().getAusgangViewList(k.Kundenid).Count > 0)
         {
             Logger.Warn("Kunde mit ID " + k.Kundenid + " kann nicht gelöscht werden, da Ausgangsrechnungen existieren, die zugeordnet sind!");
             throw new BLException("Kunde kann nicht gelöscht werden, da ihm Ausgangsrechnungen zugeordnet sind!");
         }
         else
         {
             DALFactory.getDAL().deleteKunde(k);
             Logger.Info("Kunde mit ID " + k.Kundenid + " gelöscht!");
         }
     }
     catch (DALException ex)
     {
         Logger.Error("Fehler beim Löschen des Kunden mit der ID " + k.Kundenid, ex);
         throw new BLException("Kunde konnte nicht gelöscht werden!");
     }
 }
 public void TestDeleteKunde()
 {
     Kunde k = new Kunde();
     int oldlength = BL.getKunden().Count;
     k = BL.getKunde(oldlength);
     BL.deleteKunde(k);
     Assert.That(BL.getKunden().Count, Is.EqualTo(oldlength - 1));
     Assert.That(BL.getKunden().Last(), Is.Not.EqualTo(k));
 }
示例#9
0
        public void saveKunde(Kunde k)
        {
            buildconnection();
            NpgsqlCommand comm = null;
            try
            {
                string sql = "";
                if (k.Status == ObjectStates.New)
                {
                    sql = @"Insert into kunden (nachname,vorname,email,adresse,hausnummer,plz,ort,telefon,bemerkungen)
                            values (@nachname,@vorname,@email,@adresse,@hausnummer,@plz,@ort,@telefon,@bemerkungen)";
                    comm = new NpgsqlCommand(sql, conn);
                }
                else if (k.Status == ObjectStates.Modified)
                {
                    sql = @"Update kunden set nachname = @nachname, vorname = @vorname, email=@email, adresse = @adresse, hausnummer = @hausnummer,
                            plz = @plz, ort = @ort, telefon = @telefon, bemerkungen = @bemerkungen where kundenid = @kundenid";
                    comm = new NpgsqlCommand(sql, conn);
                    comm.Parameters.AddWithValue("@kundenid", k.Kundenid);
                }

                comm.Parameters.AddWithValue("@nachname", k.Nachname);
                comm.Parameters.AddWithValue("@vorname", k.Vorname);
                comm.Parameters.AddWithValue("@email", k.Email);
                comm.Parameters.AddWithValue("@adresse", k.Adresse);
                comm.Parameters.AddWithValue("@hausnummer", k.Hausnummer);
                comm.Parameters.AddWithValue("@plz", k.Plz);
                comm.Parameters.AddWithValue("@ort", k.Ort);
                comm.Parameters.AddWithValue("@telefon", k.Telefon);
                comm.Parameters.AddWithValue("@bemerkungen", k.Bemerkungen);
                comm.Prepare();
                comm.ExecuteNonQuery();
                k.Status = ObjectStates.Unmodified;
            }
            catch (NpgsqlException exp)
            {
                throw new DALException("DAL: Kunde konnte nicht gespeichert werden!", exp);
            }
            finally
            {
                comm.Dispose();
                conn.Close();
            }
        }
示例#10
0
 public void deleteKunde(Kunde k)
 {
     buildconnection();
     NpgsqlCommand comm = null;
     try
     {
         string sql = "Delete from kunden where kundenid = @kundenid";
         comm = new NpgsqlCommand(sql, conn);
         comm.Parameters.AddWithValue("@kundenid", k.Kundenid);
         comm.Prepare();
         comm.ExecuteNonQuery();
         k.Status = ObjectStates.Deleted;
     }
     catch (NpgsqlException exp)
     {
         throw new DALException("DAL: Kunde konnte nicht gelöscht werden!", exp);
     }
     finally
     {
         comm.Dispose();
         conn.Close();
     }
 }
示例#11
0
        public List<Kunde> getKundeViewList(string search)
        {
            buildconnection();
            List<Kunde> klist = new List<Kunde>();
            NpgsqlCommand comm = null;
            NpgsqlDataReader reader = null;
            try
            {
                string sql = @"Select Distinct kundenid,vorname,nachname,email,adresse,
                hausnummer,plz,ort,telefon,bemerkungen from kunden where vorname ~* @search or nachname ~* @search or email ~* @search or adresse ~* @search or ort ~* @search;";
                comm = new NpgsqlCommand(sql, conn);
                comm.Parameters.AddWithValue("@search", search);
                comm.Prepare();
                reader = comm.ExecuteReader();
                while (reader.Read())
                {
                    Kunde k = new Kunde();
                    k.Kundenid = reader.GetInt32(0);
                    k.Vorname = reader.GetString(1).Trim();
                    k.Nachname = reader.GetString(2).Trim();
                    k.Email = reader.GetString(3).Trim();
                    k.Adresse = reader.GetString(4).Trim();
                    k.Hausnummer = reader.GetString(5).Trim();
                    k.Plz = reader.GetString(6).Trim();
                    k.Ort = reader.GetString(7).Trim();
                    k.Telefon = reader.GetString(8).Trim();
                    k.Bemerkungen = reader.GetString(9).Trim();
                    k.Status = ObjectStates.Unmodified;
                    klist.Add(k);
                }

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

            return klist;
        }
示例#12
0
        public Kunde getKunde(int id)
        {
            buildconnection();
            NpgsqlCommand comm = null;
            NpgsqlDataReader reader = null;
            Kunde k = new Kunde();
            try
            {
                string sql = @"Select kundenid, vorname,nachname,email,adresse,hausnummer,
                plz,ort,telefon,bemerkungen from kunden where kundenid = @kundenid;";
                comm = new NpgsqlCommand(sql, conn);

                comm.Parameters.AddWithValue("@kundenid",id);
                reader = comm.ExecuteReader();
                while (reader.Read())
                {
                    k.Kundenid = reader.GetInt32(0);
                    k.Vorname = reader.GetString(1).Trim();
                    k.Nachname = reader.GetString(2).Trim();
                    k.Email = reader.GetString(3).Trim();
                    k.Adresse = reader.GetString(4).Trim();
                    k.Hausnummer = reader.GetString(5).Trim();
                    k.Plz = reader.GetString(6).Trim();
                    k.Ort = reader.GetString(7).Trim();
                    k.Telefon = reader.GetString(8).Trim();
                    k.Bemerkungen = reader.GetString(9).Trim();
                    k.Status = ObjectStates.Unmodified;
                }
               return k;
            }
            catch (NpgsqlException exp)
            {
                throw new DALException("DAL: Kunde konnte nicht gefunden werden!", exp);
            }
            finally
            {
                comm.Dispose();
                conn.Close();
                reader.Close();
            }
        }