예제 #1
0
 public void TestAddKontatk_empty()
 {
     int oldlength = BL.getKontakte().Count;
     Kontakt k = new Kontakt(899, "", "", "", "", ObjectStates.New);
     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.saveKontakt(k);
     int index = BL.getKontakte().Count;
     Assert.That(index, Is.EqualTo(oldlength + 1));
     Assert.That(BL.getKontakte().ElementAt(index - 1).Firmenname, Is.EqualTo(String.Empty));
     Assert.That(BL.getKontakte().ElementAt(index - 1).Vorname, Is.EqualTo(String.Empty));
     Assert.That(BL.getKontakte().ElementAt(index - 1).Nachname, Is.EqualTo(String.Empty));
     Assert.That(BL.getKontakte().ElementAt(index - 1).Email, Is.EqualTo(String.Empty));
     Assert.That(BL.getKontakte().ElementAt(index - 1).Hausnummer, Is.EqualTo(String.Empty));
     Assert.That(BL.getKontakte().ElementAt(index - 1).Adresse, Is.EqualTo(String.Empty));
     Assert.That(BL.getKontakte().ElementAt(index - 1).Plz, Is.EqualTo(String.Empty));
     Assert.That(BL.getKontakte().ElementAt(index - 1).Ort, Is.EqualTo(String.Empty));
     Assert.That(BL.getKontakte().ElementAt(index - 1).Telefon, Is.EqualTo(String.Empty));
     Assert.That(BL.getKontakte().ElementAt(index - 1).Bemerkungen, Is.EqualTo(String.Empty));
     Assert.That(BL.getKontakte().ElementAt(index - 1).Status, Is.EqualTo(ObjectStates.Unmodified));
     BL.deleteKontakt(k);
 }
예제 #2
0
 public void TestAddKontakt()
 {
     int oldlength = BL.getKontakte().Count;
     Kontakt k = new Kontakt();
     k.Firmenname = "Testfirma";
     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 = "Ich bin eine Bemerkung!";
     k.Status = ObjectStates.New;
     BL.saveKontakt(k);
     int index = BL.getKontakte().Count - 1;
     Assert.That(BL.getKontakte().Count, Is.EqualTo(oldlength + 1));
     Assert.That(BL.getKontakte().ElementAt(index).Firmenname, Is.EqualTo("Testfirma"));
     Assert.That(BL.getKontakte().ElementAt(index).Vorname, Is.EqualTo("Max"));
     Assert.That(BL.getKontakte().ElementAt(index).Nachname, Is.EqualTo("Test"));
     Assert.That(BL.getKontakte().ElementAt(index).Email, Is.EqualTo("*****@*****.**"));
     Assert.That(BL.getKontakte().ElementAt(index).Hausnummer, Is.EqualTo("44"));
     Assert.That(BL.getKontakte().ElementAt(index).Adresse, Is.EqualTo("Hauptstraße 101"));
     Assert.That(BL.getKontakte().ElementAt(index).Plz, Is.EqualTo("2275"));
     Assert.That(BL.getKontakte().ElementAt(index).Ort, Is.EqualTo("Bernhardsthal"));
     Assert.That(BL.getKontakte().ElementAt(index).Telefon, Is.EqualTo("+4369912760033"));
     Assert.That(BL.getKontakte().ElementAt(index).Bemerkungen, Is.EqualTo("Ich bin eine Bemerkung!"));
     Assert.That(BL.getKontakte().ElementAt(index).ToString(), Is.EqualTo("Max Test"));
     Assert.That(BL.getKontakte().ElementAt(index).Status, Is.EqualTo(ObjectStates.Unmodified));
 }
예제 #3
0
 public void TestAddKontakt_Sonderzeichen()
 {
     Kontakt k = new Kontakt(89999, "ö54848", "487!,", "587=!-", "*****@*****.**", ObjectStates.New);
     BL.saveKontakt(k);
     int index = BL.getKontakte().Count - 1;
     Assert.That(BL.getKontakte().ElementAt(index).Kontaktid, Is.EqualTo(index + 1));
     Assert.That(BL.getKontakte().ElementAt(index).Vorname, Is.EqualTo("ö54848"));
     Assert.That(BL.getKontakte().ElementAt(index).Nachname, Is.EqualTo("487!,"));
     Assert.That(BL.getKontakte().ElementAt(index).Firmenname, Is.EqualTo("587=!-"));
     Assert.That(BL.getKontakte().ElementAt(index).Email, Is.EqualTo("*****@*****.**"));
     Assert.That(BL.getKunde(index).Status, Is.EqualTo(ObjectStates.Unmodified));
     BL.deleteKontakt(k);
 }
예제 #4
0
 public void saveKontakt(Kontakt k)
 {
     if (k.Status == ObjectStates.New)
     {
         k.Status = ObjectStates.Unmodified;
         k.Kontaktid = kontakte.Count + 1;
         kontakte.Add(k);
     }
     else if (k.Status == ObjectStates.Modified)
     {
         int index = kontakte.IndexOf(k);
         kontakte[index].Kontaktid = k.Kontaktid;
         kontakte[index].Firmenname = k.Firmenname;
         kontakte[index].Vorname = k.Vorname;
         kontakte[index].Nachname = k.Nachname;
         kontakte[index].Status = ObjectStates.Unmodified;
     }
 }
예제 #5
0
 public void deleteKontakt(Kontakt k)
 {
     kontakte.Remove(k);
 }
예제 #6
0
 public static void deleteKontakt(Kontakt k)
 {
     try
     {
         if (DALFactory.getDAL().getEingangViewList(k.Kontaktid).Count > 0)
         {
             Logger.Warn("Kontakt mit ID " + k.Kontaktid + " kann nicht gelöscht werden, da Eingangsrechnungen existieren, die zugeordnet sind!");
             throw new BLException("Kontakt kann nicht gelöscht werden, da ihm Eingangsrechungen zugeordnet sind!");
         }
         else
         {
             DALFactory.getDAL().deleteKontakt(k);
             Logger.Info("Kontakt mit ID " + k.Kontaktid + " gelöscht!");
         }
     }
     catch (DALException ex)
     {
         Logger.Error("Kontakt mit ID " + k.Kontaktid + " konnte nicht gelöscht werden!", ex);
         throw new BLException("Kontakt konnte nicht gelöscht werden!");
     }
 }
예제 #7
0
 public static void saveKontakt(Kontakt k)
 {
     try
     {
         DALFactory.getDAL().saveKontakt(k);
         Logger.Info("Kontakt mit ID " + k.Kontaktid + " gespeichert!");
     }
     catch (DALException ex)
     {
         Logger.Error("Kontakt mit ID " + k.Kontaktid + " konnte nicht gespeichert werden!", ex);
         throw new BLException("Kontakt konnte nicht gespeichert werden!");
     }
 }
예제 #8
0
 public void TestDeleteKontakt()
 {
     Kontakt k = new Kontakt();
     int oldlength = BL.getKontakte().Count;
     k = BL.getKontakte().ElementAt(oldlength - 1);
     BL.deleteKontakt(k);
     Assert.That(BL.getKontakte().Count, Is.EqualTo(oldlength - 1));
     Assert.That(BL.getKontakte().Last(), Is.Not.EqualTo(k));
 }
예제 #9
0
 public ControlKontaktInfo(Kontakt kontakt)
 {
     InitializeComponent();
     BindTo(kontakt);
 }
예제 #10
0
 public void saveKontakt(Kontakt k)
 {
     buildconnection();
     NpgsqlCommand comm = null;
     try
     {
         string sql = "";
         if (k.Status == ObjectStates.New)
         {
             sql = @"Insert into kontakte (firmenname, nachname,vorname,email,adresse,hausnummer,plz,ort,telefon,bemerkungen)
                     values (@firmenname, @nachname,@vorname,@email,@adresse,@hausnummer,@plz,@ort,@telefon,@bemerkungen)";
             comm = new NpgsqlCommand(sql, conn);
         }
         else if (k.Status == ObjectStates.Modified)
         {
             sql = @"Update kontakte set firmenname = @firmenname, nachname = @nachname, vorname = @vorname, email=@email, adresse = @adresse, hausnummer = @hausnummer,
                     plz = @plz, ort = @ort, telefon = @telefon, bemerkungen = @bemerkungen where kontaktid = @kontaktid";
             comm = new NpgsqlCommand(sql, conn);
             comm.Parameters.AddWithValue("@kontaktid", k.Kontaktid);
         }
         comm.Parameters.AddWithValue("@firmenname", k.Firmenname);
         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: Kontakt konnte nicht gespeichert werden!", exp);
     }
     finally
     {
         comm.Dispose();
         conn.Close();
     }
 }
예제 #11
0
 public void deleteKontakt(Kontakt k)
 {
     buildconnection();
     NpgsqlCommand comm = null;
     try
     {
         string sql = "Delete from kontakte where kontaktid = @kontaktid";
         comm = new NpgsqlCommand(sql, conn);
         comm.Parameters.AddWithValue("@kontaktid", k.Kontaktid);
         comm.Prepare();
         comm.ExecuteNonQuery();
         k.Status = ObjectStates.Deleted;
     }
     catch (NpgsqlException exp)
     {
         throw new DALException("DAL: Kontakt konnte nicht gelöscht werden!", exp);
     }
     finally
     {
         comm.Dispose();
         conn.Close();
     }
 }
예제 #12
0
        public List<Kontakt> getKontaktViewList(string search)
        {
            buildconnection();
            List<Kontakt> klist = new List<Kontakt>();
            NpgsqlCommand comm = null;
            NpgsqlDataReader reader = null;
            try
            {
                string sql = @"Select Distinct kontaktid, firmenname, vorname,nachname, email,adresse,hausnummer,
                plz, ort, telefon, bemerkungen from kontakte where firmenname ~* @search or vorname ~* @search
                or nachname ~* @search or adresse ~* @search or ort ~* @search;";
                comm = new NpgsqlCommand(sql, conn);
                comm.Parameters.AddWithValue("@search", search);
                reader = comm.ExecuteReader();
                while (reader.Read())
                {
                    Kontakt k = new Kontakt();
                    k.Kontaktid = reader.GetInt32(0);
                    k.Firmenname = reader.GetString(1).Trim();
                    k.Vorname = reader.GetString(2).Trim();
                    k.Nachname = reader.GetString(3).Trim();
                    k.Email = reader.GetString(4).Trim();
                    k.Adresse = reader.GetString(5).Trim();
                    k.Hausnummer = reader.GetString(6).Trim();
                    k.Plz = reader.GetString(7).Trim();
                    k.Ort = reader.GetString(8).Trim();
                    k.Telefon = reader.GetString(9).Trim();
                    k.Bemerkungen = reader.GetString(10).Trim();
                    k.Status = ObjectStates.Unmodified;
                    klist.Add(k);
                }

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

            return klist;
        }
예제 #13
0
        public Kontakt getKontakt(int id)
        {
            buildconnection();
            NpgsqlCommand comm = null;
            NpgsqlDataReader reader = null;
            Kontakt k = new Kontakt();
            try
            {
                string sql = "";

                sql = @"Select kontaktid, firmenname, vorname,nachname, email,adresse,hausnummer,
                plz, ort, telefon, bemerkungen from kontakte where kontaktid = @kontaktid;";
                comm = new NpgsqlCommand(sql, conn);

                comm.Parameters.AddWithValue("@kontaktid", id);
                reader = comm.ExecuteReader();
                while (reader.Read())
                {
                    k.Kontaktid = reader.GetInt32(0);
                    k.Firmenname = reader.GetString(1).Trim();
                    k.Vorname = reader.GetString(2).Trim();
                    k.Nachname = reader.GetString(3).Trim();
                    k.Email = reader.GetString(4).Trim();
                    k.Adresse = reader.GetString(5).Trim();
                    k.Hausnummer = reader.GetString(6).Trim();
                    k.Plz = reader.GetString(7).Trim();
                    k.Ort = reader.GetString(8).Trim();
                    k.Telefon = reader.GetString(9).Trim();
                    k.Bemerkungen = reader.GetString(10).Trim();
                    k.Status = ObjectStates.Unmodified;
                }
                return k;

            }
            catch (NpgsqlException exp)
            {
                throw new DALException("DAL: Kontakt konnte nicht gefunden werden!", exp);
            }
            finally
            {
                comm.Dispose();
                conn.Close();
                reader.Close();
            }
        }