public void TestAddProjektMin()
 {
     Projekt p = new Projekt(3,"testprojekt",ObjectStates.New);
     BL.saveProjekt(p);
     Assert.That(BL.getProjekt(4).Name, Is.EqualTo("testprojekt"));
     BL.deleteProjekt(p);
 }
 public void TestDeleteProjekt()
 {
     Projekt p = new Projekt();
     int oldlength = BL.getProjekte().Count;
     p = BL.getProjekt(oldlength);
     BL.deleteProjekt(p);
     Assert.That(BL.getProjekte().Count, Is.EqualTo(oldlength - 1));
     Assert.That(BL.getProjekte().Last(), Is.Not.EqualTo(p));
 }
 public void TestAddProjekt()
 {
     Projekt p = new Projekt();
     int oldlength = BL.getProjekte().Count;
     p.Name = "Testprojekt";
     p.Stunden = 56;
     p.Status = ObjectStates.New;
     BL.saveProjekt(p);
     Assert.That(BL.getProjekte().Count, Is.EqualTo(oldlength + 1));
     Assert.That(BL.getProjekt(oldlength + 1).Projektid, Is.EqualTo(oldlength + 1));
     Assert.That(BL.getProjekt(oldlength + 1).Name, Is.EqualTo("Testprojekt"));
     Assert.That(BL.getProjekt(oldlength + 1).ToString(), Is.EqualTo("Testprojekt"));
 }
示例#4
0
 public void saveProjekt(Projekt p)
 {
     if (p.Status == ObjectStates.New)
     {
         p.Status = ObjectStates.Unmodified;
         p.Projektid = projekte.Count + 1;
         projekte.Add(p);
     }
     else if (p.Status == ObjectStates.Modified)
     {
         int index = projekte.IndexOf(p);
         projekte[index].Projektid = p.Projektid;
         projekte[index].Name = p.Name;
         projekte[index].Status = ObjectStates.Unmodified;
     }
 }
示例#5
0
 public void deleteProjekt(Projekt p)
 {
     projekte.Remove(p);
 }
示例#6
0
 public static void saveProjekt(Projekt p)
 {
     try
     {
         DALFactory.getDAL().saveProjekt(p);
         Logger.Info("Projekt mit ID " + p.Projektid + " gespeichert!");
     }
     catch (DALException ex)
     {
         Logger.Error("Projekt mit ID " + p.Projektid + " konnte nicht gespeichert!", ex);
         throw new BLException("Projekt konnte nicht gespeichert werden!");
     }
 }
示例#7
0
        public static void deleteProjekt(Projekt p)
        {
            try
            {
                if (DALFactory.getDAL().getAusgangViewListByProjektId(p.Projektid).Count > 0)
                {
                    Logger.Warn("Projekt kann nicht gelöscht werden, da diesem Ausgangsrechnungen zugeordnet sind!");
                    throw new BLException("Projekt kann nicht gelöscht werden, da diesem noch Ausgangsrechnungen zugeordnet sind!");
                }
                else
                {
                    DALFactory.getDAL().deleteProjekt(p);
                    Logger.Info("Projekt mit ID " + p.Projektid + " gelöscht!");
                }

            }
            catch (DALException ex)
            {
                Logger.Error("Projekt mit ID " + p.Projektid + " konnte nicht gelöscht!", ex);
                throw new BLException("Projekt konnte nicht gelöscht werden!");
            }
        }
示例#8
0
 public void saveProjekt(Projekt p)
 {
     buildconnection();
     NpgsqlCommand comm = null;
     try
     {
         string sql = "";
         if (p.Status == ObjectStates.New)
         {
             sql = "Insert into projekte (name) values (@name)";
             comm = new NpgsqlCommand(sql, conn);
         }
         else if (p.Status == ObjectStates.Modified)
         {
             sql = @"Update projekte set name = @name where projektid = @projektid";
             comm = new NpgsqlCommand(sql, conn);
             comm.Parameters.AddWithValue("@projektid", p.Projektid);
         }
         comm.Parameters.AddWithValue("@name", p.Name);
         comm.Prepare();
         comm.ExecuteNonQuery();
         p.Status = ObjectStates.Unmodified;
     }
     catch (NpgsqlException exp)
     {
         throw new DALException("DAL: Projekt konnte nicht gepspeichert werden!", exp);
     }
     finally
     {
         comm.Dispose();
         conn.Close();
     }
 }
示例#9
0
 public void deleteProjekt(Projekt p)
 {
     buildconnection();
     NpgsqlCommand comm = null;
     try
     {
         string sql = "Delete from projekte where projektid = @projektid";
         comm = new NpgsqlCommand(sql, conn);
         comm.Parameters.AddWithValue("@projektid", p.Projektid);
         comm.Prepare();
         comm.ExecuteNonQuery();
         p.Status = ObjectStates.Deleted;
     }
     catch (NpgsqlException exp)
     {
         throw new DALException("DAL: Projekt konnte nicht gelöscht werden!", exp);
     }
     finally
     {
         comm.Dispose();
         conn.Close();
     }
 }
示例#10
0
        public List<Projekt> getProjektViewList(string search)
        {
            buildconnection();
            List<Projekt> plist = new List<Projekt>();
            NpgsqlCommand comm = null;
            NpgsqlDataReader reader = null;
            try
            {
                string sql = @"Select distinct projektid, name from projekte
                where name ~* @search;";
                comm = new NpgsqlCommand(sql, conn);
                comm.Parameters.AddWithValue("@search", search);
                reader = comm.ExecuteReader();
                while (reader.Read())
                {
                    Projekt p = new Projekt();
                    p.Projektid = reader.GetInt32(0);
                    p.Name = reader.GetString(1).Trim();
                    p.Stunden = getProjektStunden(p.Name);
                    p.Status = ObjectStates.Unmodified;
                    plist.Add(p);
                }

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

            return plist;
        }
示例#11
0
        public Projekt getProjekt(int id)
        {
            buildconnection();
            Projekt p = new Projekt();
            NpgsqlCommand comm = null;
            NpgsqlDataReader reader = null;
            try
            {
                string sql = "Select projektid, name from projekte where projektid = @projektid;";
                comm = new NpgsqlCommand(sql, conn);
                comm.Parameters.AddWithValue("@projektid",id);
                reader = comm.ExecuteReader();
                while (reader.Read())
                {
                    p.Projektid = reader.GetInt32(0);
                    p.Name = reader.GetString(1).Trim();
                    p.Status = ObjectStates.Unmodified;

                }

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

            return p;
        }