public void TestExtentRelatedObjects() { m.Hinzufuegen(r); pm.MakePersistent(m); pm.Save(); IList liste = pm.GetClassExtent(typeof(Mitarbeiter)); m = (Mitarbeiter)liste[0]; Assert.AreEqual(NDOObjectState.Persistent, m.NDOObjectState, "1: Mitarbeiter should be persistent"); Assert.NotNull(m.Reisen, "2. Relation is missing"); Assert.AreEqual(1, m.Reisen.Count, "3. Wrong number of objects"); Assert.AreEqual(NDOObjectState.Persistent, ((Reise)m.Reisen[0]).NDOObjectState, "4.: Reise should be hollow"); pm.UnloadCache(); liste = pm.GetClassExtent(typeof(Mitarbeiter)); m = (Mitarbeiter)liste[0]; Assert.AreEqual(NDOObjectState.Hollow, m.NDOObjectState, "5: Mitarbeiter should be hollow"); Assert.NotNull(m.Reisen, "6. Relation is missing"); Assert.AreEqual(1, m.Reisen.Count, "7. Wrong number of objects"); Assert.AreEqual(NDOObjectState.Hollow, ((Reise)m.Reisen[0]).NDOObjectState, "8.: Reise should be hollow"); pm.UnloadCache(); liste = pm.GetClassExtent(typeof(Mitarbeiter), false); m = (Mitarbeiter)liste[0]; Assert.AreEqual(NDOObjectState.Persistent, m.NDOObjectState, "9: Mitarbeiter should be persistent"); Assert.NotNull(m.Reisen, "10. Relation is missing"); Assert.AreEqual(1, m.Reisen.Count, "11. Wrong number of objects"); Assert.AreEqual(NDOObjectState.Hollow, ((Reise)m.Reisen[0]).NDOObjectState, "12.: Reise should be hollow"); }
public void CompTestCreateObjectsSave() { m.Adresse = a; pm.MakePersistent(m); pm.Save(); Assert.That(!m.NDOObjectId.Equals(a.NDOObjectId), "Ids should be different"); m = pm.Objects <Mitarbeiter>().Where(e => e.Oid() == m.NDOObjectId.Id.Value).SingleOrDefault(); a = (Adresse)pm.FindObject(a.NDOObjectId); Assert.NotNull(m, "1. Mitarbeiter not found"); Assert.NotNull(a, "1. Adresse not found"); ObjectId moid = m.NDOObjectId; ObjectId aoid = a.NDOObjectId; m = null; a = null; pm.UnloadCache(); m = pm.Objects <Mitarbeiter>().Where(e => e.NDOObjectId == moid).SingleOrDefault(); Adresse a2 = m.Adresse; a = pm.Objects <Adresse>().Where(x => x.NDOObjectId == aoid).SingleOrDefault(); Assert.NotNull(m, "2. Mitarbeiter not found"); Assert.NotNull(a, "2. Adresse not found"); Assert.AreSame(a, a2, "Address should match"); }
public void LoadDataOnUnknownObjectCallsEventHandler() { pm.ObjectNotPresentEvent += ea => true; // prevents throwing an exception Mitarbeiter m = (Mitarbeiter)pm.FindObject(typeof(Mitarbeiter), 1000000); pm.LoadData(m); }
public void CanPerformDirectDelete() { pm.MakePersistent(m); pm.Save(); var firstName = m.Vorname; Assert.IsTrue(pm.Objects <Mitarbeiter>().Where(m => m.Vorname == firstName).Count > 0); var q = new NDOQuery <Mitarbeiter>(pm, "vorname = {0}"); q.Parameters.Add(firstName); q.DeleteDirectly(); Assert.AreEqual(0, pm.Objects <Mitarbeiter>().Where(m => m.Vorname == firstName).Count); m = CreateMitarbeiter("Mirko", "Matytschak"); pm.MakePersistent(m); pm.Save(); firstName = m.Vorname; Assert.IsTrue(pm.Objects <Mitarbeiter>().Where(m => m.Vorname == firstName).Count > 0); pm.Objects <Mitarbeiter>().Where(m => m.Vorname == firstName).DeleteDirectly(); Assert.AreEqual(0, pm.Objects <Mitarbeiter>().Where(m => m.Vorname == firstName).Count); }
public void TestLinqQuery() { ArrayList mliste = new ArrayList(); for (int i = 1; i <= 100; i++) { Mitarbeiter mm = CreateMitarbeiter("Hartmut", (i % 3) == 0 ? "Test" : "xxx"); pm.MakePersistent(mm); mliste.Add(mm); } pm.Save(); List <Mitarbeiter> mitarbeiterListe = from m in pm.Objects <Mitarbeiter>() select m; Assert.AreEqual(100, mitarbeiterListe.Count, "Number of read objects is wrong #1"); mitarbeiterListe = from m in pm.Objects <Mitarbeiter>() where m.Nachname == "Test" select m; Assert.AreEqual(100 / 3, mitarbeiterListe.Count, "Number of read objects is wrong #2"); // Partial select List <string> nameList = from m in pm.Objects <Mitarbeiter>() select m.Vorname; Assert.AreEqual(100, nameList.Count, "Number of read objects is wrong #3"); nameList = from m in pm.Objects <Mitarbeiter>() where m.Nachname == "Test" select m.Vorname; Assert.AreEqual(100 / 3, mitarbeiterListe.Count, "Number of read objects is wrong #4"); }
public void TestAggregateQuery() { Mitarbeiter mm; IList l = new ArrayList(); for (int i = 0; i < 20; i++) { mm = new Mitarbeiter(); mm.Vorname = "lkj"; mm.Nachname = i.ToString(); mm.Position = new System.Drawing.Point(0, i); pm.MakePersistent(mm); l.Add(mm); } pm.Save(); decimal sum = 0m; foreach (Mitarbeiter m2 in l) { sum += m2.Position.Y; } NDOQuery <Mitarbeiter> q = new NDOQuery <Mitarbeiter>(pm, null); decimal newsum = (decimal)q.ExecuteAggregate("position.Y", AggregateType.Sum); Assert.AreEqual(sum, newsum, "Summe stimmt nicht"); decimal count = (decimal)q.ExecuteAggregate("position.X", AggregateType.Count); Assert.AreEqual(20, count, "Count stimmt nicht"); }
/// <summary> /// Bearbeitet einen existierenden Mitarbeiter mit den übergebenen Daten in der Datenbank. /// </summary> /// <param name="mitarbeiter">aktualisierte Daten des Mitarbeiters</param> /// <param name="mitarbeiterID">Primärschlüssel des Mitarbeiters in der Datenbank</param> /// <seealso cref="EasyAuftragContext"/> public bool MitarbeiterBearbeiten(Mitarbeiter mitarbeiter, int mitarbeiterID, string connection) { try { using (var db = new EasyAuftragContext(connection)) { if (db.Mitarbeiters.Find(mitarbeiterID) != null) { db.Mitarbeiters.Find(mitarbeiterID).Name = mitarbeiter.Name; db.Mitarbeiters.Find(mitarbeiterID).Strasse = mitarbeiter.Strasse; db.Mitarbeiters.Find(mitarbeiterID).Hausnr = mitarbeiter.Hausnr; db.Mitarbeiters.Find(mitarbeiterID).PLZ = mitarbeiter.PLZ; db.Mitarbeiters.Find(mitarbeiterID).Wohnort = mitarbeiter.Wohnort; db.Mitarbeiters.Find(mitarbeiterID).TelefonNr = mitarbeiter.TelefonNr; db.Mitarbeiters.Find(mitarbeiterID).AuslastungStelle = mitarbeiter.AuslastungStelle; db.SaveChanges(); return(true); } else { return(false); } } } catch (Exception ex) { ErrorHandler.ErrorHandle(ex); return(false); } }
/// <summary> /// Gibt einen Mitarbeiter aus der Datenbank anhand der Mitarbeiter ID zurück /// </summary> /// <param name="mitarbeiterID"></param> /// <returns>Mitarbeiter aus Datenbank</returns> /// <seealso cref="EasyAuftragContext"/> public Mitarbeiter MitarbeiterLaden(int mitarbeiterID, out bool success, string connection) { Mitarbeiter mitarb = new Mitarbeiter(); try { using (var db = new EasyAuftragContext(connection)) { if (db.Mitarbeiters.Find(mitarbeiterID) != null) { mitarb = (from k in db.Mitarbeiters select k).First(k => k.MitarbeiterID == mitarbeiterID); success = true; } else { success = false; } } } catch (Exception ex) { ErrorHandler.ErrorHandle(ex); success = false; } return(mitarb); }
public void TestListenoperationen() { var mitarbeiter1 = new Mitarbeiter(new Person("1", "Mr.", "John", "Doe"), "Marketing"); var mitarbeiter2 = new Mitarbeiter(new Person("2", "Ms.", "Jane", "Smith"), "Entwicklung"); var mitarbeiterListe = new MitarbeiterListe(); mitarbeiterListe.Add(mitarbeiter1); mitarbeiterListe.Add(mitarbeiter2); Assert.AreEqual(2, mitarbeiterListe.Count, "Anzahl nach dem Hinzufügen"); Assert.AreEqual(mitarbeiter1, mitarbeiterListe.First, "Mitarbeiter an erster Position"); Assert.AreEqual("1 / 2", mitarbeiterListe.Info, "Info"); Assert.AreEqual(mitarbeiter2, mitarbeiterListe.Next, "Mitarbeiter an nächster Position"); Assert.AreEqual("2 / 2", mitarbeiterListe.Info, "Info"); Assert.AreEqual(mitarbeiter2, mitarbeiterListe.Next, "Mitarbeiter an nochmaliger nächster Position"); Assert.AreEqual("2 / 2", mitarbeiterListe.Info, "Info"); Assert.AreEqual(mitarbeiter1, mitarbeiterListe.Previous, "Mitarbeiter an vorheriger Position"); Assert.AreEqual("1 / 2", mitarbeiterListe.Info, "Info"); Assert.AreEqual(mitarbeiter1, mitarbeiterListe.Previous, "Mitarbeiter an nochmaliger vorheriger Position"); Assert.AreEqual("1 / 2", mitarbeiterListe.Info, "Info"); Assert.AreEqual(mitarbeiter2, mitarbeiterListe.Last, "Mitarbeiter an letzter Position"); Assert.AreEqual("2 / 2", mitarbeiterListe.Info, "Info"); Assert.AreEqual(mitarbeiter2, mitarbeiterListe.Current, "Mitarbeiter an aktueller Position"); Assert.AreEqual("2 / 2", mitarbeiterListe.Info, "Info"); Assert.IsNotNull(mitarbeiterListe.New, "Mitarbeiter an neuer Position"); Assert.AreEqual(3, mitarbeiterListe.Count, "Anzahl nach dem Hinzufügen eines neuen Mitarbeiters"); Assert.AreEqual("3 / 3", mitarbeiterListe.Info, "Info"); var ma = mitarbeiterListe.First; Assert.AreEqual("1 / 3", mitarbeiterListe.Info, "Info"); }
public void PrefetchOccurs() { Reise r = new Reise() { Zweck = "NDO" }; Mitarbeiter m = new Mitarbeiter() { Vorname = "Mirko", Nachname = "Matytschak" }; pm.MakePersistent(m); m.Hinzufuegen(r); pm.Save(); NDOQuery <Mitarbeiter> q = new NDOQuery <Mitarbeiter>(pm); q.AddPrefetch(nameof(Mitarbeiter.Reisen)); var m2 = q.ExecuteSingle(); var oc = pm.GetObjectContainer(); Assert.AreEqual(2, oc.RootObjects.Count); }
public void CompTestExtentRelatedObjects() { var pm = PmFactory.NewPersistenceManager(); m.SVN = svn; pm.MakePersistent(m); pm.Save(); IList liste = pm.GetClassExtent(typeof(Mitarbeiter)); m = (Mitarbeiter)liste[0]; Assert.AreEqual(NDOObjectState.Persistent, m.NDOObjectState, "1: Mitarbeiter should be persistent"); Assert.NotNull(m.SVN, "2. Relation is missing"); Assert.AreEqual(NDOObjectState.Persistent, m.SVN.NDOObjectState, "2.: SVN should be hollow"); Assert.AreSame(m, svn.Angestellter, "2. Backlink wrong"); pm.UnloadCache(); liste = pm.GetClassExtent(typeof(Mitarbeiter)); m = (Mitarbeiter)liste[0]; Assert.AreEqual(NDOObjectState.Hollow, m.NDOObjectState, "5: Mitarbeiter should be hollow"); Assert.NotNull(m.SVN, "6. Relation is missing"); Assert.AreEqual(NDOObjectState.Hollow, m.SVN.NDOObjectState, "8.: SVN should be hollow"); Assert.That(m != svn.Angestellter, "8a. Should be different objects"); Assert.AreSame(m, m.SVN.Angestellter, "8b. Mitarbeiter should match"); pm.UnloadCache(); liste = pm.GetClassExtent(typeof(Mitarbeiter), false); m = (Mitarbeiter)liste[0]; Assert.AreEqual(NDOObjectState.Persistent, m.NDOObjectState, "9: Mitarbeiter should be persistent"); Assert.NotNull(m.SVN, "10. Relation is missing"); Assert.AreEqual(NDOObjectState.Hollow, m.SVN.NDOObjectState, "12.: SVN should be hollow"); Assert.That(m != svn.Angestellter, "12a. Should be different objects"); Assert.AreSame(m, m.SVN.Angestellter, "12b. Mitarbeiter should match"); }
public void CompTestHollow() { var pm = PmFactory.NewPersistenceManager(); m.SVN = svn; pm.MakePersistent(m); pm.Save(); pm.MakeHollow(m); // setzt m.svn auf null Assert.AreEqual(NDOObjectState.Hollow, m.NDOObjectState, "1: Mitarbeiter should be hollow"); Assert.AreEqual(NDOObjectState.Persistent, svn.NDOObjectState, "1: SVN should be persistent"); svn = m.SVN; // ruft LoadData för m auf. m.svm liegt auf dem Cache und ist Persistent Assert.AreEqual(NDOObjectState.Persistent, m.NDOObjectState, "1: Mitarbeiter should be persistent"); Assert.AreEqual(NDOObjectState.Persistent, svn.NDOObjectState, "2: SVN should be persistent"); ObjectId id = m.NDOObjectId; pm.Close(); pm = PmFactory.NewPersistenceManager(); m = (Mitarbeiter)pm.FindObject(id); Assert.NotNull(m, "Mitarbeiter not found"); Assert.AreEqual(NDOObjectState.Hollow, m.NDOObjectState, "2: Mitarbeiter should be hollow"); svn = m.SVN; Assert.AreEqual(NDOObjectState.Persistent, m.NDOObjectState, "2: Mitarbeiter should be persistent"); Assert.NotNull(svn, "SVN not found"); Assert.AreEqual(NDOObjectState.Hollow, svn.NDOObjectState, "1: SVN should be hollow"); Assert.AreSame(m, svn.Angestellter, "2. Backlink wrong"); }
public void CompTestCreateObjectsSave() { var pm = PmFactory.NewPersistenceManager(); m.SVN = svn; pm.MakePersistent(m); pm.Save(); Assert.That(!m.NDOObjectId.Equals(m.SVN.NDOObjectId), "Ids should be different"); m = (Mitarbeiter)pm.FindObject(m.NDOObjectId); svn = (Sozialversicherungsnummer)pm.FindObject(m.SVN.NDOObjectId); Assert.NotNull(m, "1. Mitarbeiter not found"); Assert.NotNull(svn, "1. SVN not found"); ObjectId moid = m.NDOObjectId; ObjectId soid = svn.NDOObjectId; m = null; svn = null; pm.UnloadCache(); m = (Mitarbeiter)pm.FindObject(moid); Sozialversicherungsnummer s2 = m.SVN; svn = (Sozialversicherungsnummer)pm.FindObject(soid); Assert.NotNull(m, "2. Mitarbeiter not found"); Assert.NotNull(svn, "2. SVN not found"); Assert.AreSame(svn, s2, "SVN should match"); Assert.AreSame(m, svn.Angestellter, "Mitarbeiter should match"); }
public void CompTestHollow() { m.Adresse = a; pm.MakePersistent(m); pm.Save(); pm.MakeHollow(m); // setzt m.adresse auf null Assert.AreEqual(NDOObjectState.Hollow, m.NDOObjectState, "1: Mitarbeiter should be hollow"); Assert.AreEqual(NDOObjectState.Persistent, a.NDOObjectState, "1: Adresse should be persistent"); a = m.Adresse; // ruft LoadData för m auf. m.adresse liegt auf dem Cache und ist Persistent Assert.AreEqual(NDOObjectState.Persistent, m.NDOObjectState, "1: Mitarbeiter should be persistent"); Assert.AreEqual(NDOObjectState.Persistent, a.NDOObjectState, "2: Adresse should be persistent"); ObjectId id = m.NDOObjectId; pm.Close(); pm = PmFactory.NewPersistenceManager(); m = (Mitarbeiter)pm.FindObject(id); Assert.NotNull(m, "Mitarbeiter not found"); Assert.AreEqual(NDOObjectState.Hollow, m.NDOObjectState, "2: Mitarbeiter should be hollow"); a = m.Adresse; Assert.AreEqual(NDOObjectState.Persistent, m.NDOObjectState, "2: Mitarbeiter should be persistent"); Assert.NotNull(a, "Adress not found"); Assert.AreEqual(NDOObjectState.Hollow, a.NDOObjectState, "1: Adresse should be hollow"); }
public void AssoTestCreateObjectsSave() { pm.MakePersistent(b); m.Zimmer = b; pm.MakePersistent(m); pm.Save(); Assert.That(!m.NDOObjectId.Equals(b.NDOObjectId), "Ids should be different"); m = (Mitarbeiter)pm.FindObject(m.NDOObjectId); b = (Buero)pm.FindObject(b.NDOObjectId); Assert.NotNull(m, "1. Mitarbeiter not found"); Assert.NotNull(b, "1. Büro not found"); ObjectId moid = m.NDOObjectId; ObjectId boid = b.NDOObjectId; m = null; b = null; pm.UnloadCache(); m = (Mitarbeiter)pm.FindObject(moid); Buero b2 = m.Zimmer; b = (Buero)pm.FindObject(boid); Assert.NotNull(m, "2. Mitarbeiter not found"); Assert.NotNull(b, "2. Adresse not found"); Assert.AreSame(b, b2, "Büro should match"); }
public void ObjectContainerIsSerializable() { var binaryFormatter = new BinaryFormatter(); pm.MakePersistent(m); pm.Save(); var oc = pm.GetObjectContainer(); Assert.That(Object.ReferenceEquals(m, oc.RootObjects[0])); oc.Formatter = binaryFormatter; string serialized = oc.MarshalingString; pm.UnloadCache(); var oc2 = pm.GetObjectContainer(); Assert.AreEqual(0, oc2.RootObjects.Count); oc = new ObjectContainer(); oc.Deserialize(serialized, binaryFormatter); pm.MergeObjectContainer(oc); oc2 = pm.GetObjectContainer(); Assert.AreEqual(1, oc2.RootObjects.Count); m = (Mitarbeiter)oc2.RootObjects[0]; Assert.AreEqual("Mirko", m.Vorname); Assert.AreEqual(NDOObjectState.Persistent, m.NDOObjectState); }
private void projektleiterComboBox_SelectedIndexChanged(object sender, EventArgs e) { Mitarbeiter mitarbeiter = (ProjektleiterComboBox.SelectedItem as MitarbeiterComboboxItem).Value; MitarbeiterInfoLbl.Text = "Abteilung: " + mitarbeiter.abteilung + "\n" + "Pensum: " + mitarbeiter.arbeitspensum + "% \n" + "Funktion: " + mitarbeiter.funktionsbeschreibung; }
private void button3_Click(object sender, EventArgs e) { var abt1 = new Abteilung() { Bezeichnung = "Holz" }; var abt2 = new Abteilung() { Bezeichnung = "Steine" }; for (int i = 0; i < 100; i++) { var m = new Mitarbeiter() { Name = $"Fred #{i:000}", GebDatum = DateTime.Now.AddYears(-30).AddDays(i * 17), Beruf = "Macht dinge" }; if (i % 2 == 0) { m.Abteilungen.Add(abt1); } if (i % 3 == 0) { m.Abteilungen.Add(abt2); } context.Mitarbeiter.Add(m); } context.SaveChanges(); }
public async Task <bool> CreateEmployee(Mitarbeiter mitarbeiter) { if (mitarbeiter.Password == null || mitarbeiter.Password == String.Empty) { mitarbeiter.Password = "******"; } using (var conn = new SqlConnection(_configuration.Value)) { const string query = @"insert into dbo.Mitarbeiter (MitarbeiterName, StadtId, Password, RoleId) values (@MitarbeiterName, @StadtId, @Password, @RoleId)"; if (conn.State == ConnectionState.Closed) { conn.Open(); } try { await conn.ExecuteAsync(query, new { mitarbeiter.MitarbeiterName, mitarbeiter.StadtId, mitarbeiter.Password, mitarbeiter.RoleId }, commandType : CommandType.Text); } catch (Exception ex) { throw ex; } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } } } return(true); }
/// <summary> /// Eventhandler für wenn der "Hinzufügen" Knopf gedrückt wurde /// </summary> /// <param name="sender">Der Sender</param> /// <param name="e">Die Argumente</param> private void BTNAdd_Click(object sender, RoutedEventArgs e) { try { Mitarbeiter newMitarbeiter = null; if (this.tabAngestellter.IsSelected) { newMitarbeiter = new Angestellter(txbAngestellterVorname.Text, txbAngestellterName.Text, float.Parse(txbAngestellterBruttogehalt.Text)); } else if (this.tabArbeiter.IsSelected) { newMitarbeiter = new Arbeiter(txbArbeiterVorname.Text, txbArbeiterName.Text, int.Parse(txbArbeiterStundenanzahl.Text), float.Parse(txbArbeiterStundenlohn.Text)); } this.firma.ListMitarbeiter.Add(newMitarbeiter); this.firma.Notify(); MessageBox.Show("Mitarbeiter hinzugefügt", "Erfolg", MessageBoxButton.OK, MessageBoxImage.Information); } catch { MessageBox.Show("Ungültige Eingabe", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error); } }
public string updateStatement(BaseModel entity) { if (entity.GetType() == typeof(Bestand)) { Bestand bestand = (Bestand)entity; return("UPDATE `festbon`.`t_bestand` SET " + "`name_bestand`='" + bestand.Name + "', `einheit_bestand`='" + bestand.Einheit + "', `menge_bestand`='" + ersetzeKommaMitPunkt(bestand.Menge) + "' WHERE `id_bestand`='" + bestand.ID + "';"); } else if (entity.GetType() == typeof(Event)) { Event _event = (Event)entity; return("UPDATE `festbon`.`t_event` SET " + "`name_event`= '" + _event.Name + "', `ort_event`= '" + _event.Ort + "', `datum_event`= '" + formatiereDatum(_event.Datum) + "', `beginn_event`= '" + _event.Beginn + "', `ende_event`= '" + _event.Ende + "', `aktiv_event`= '1" + "', `maxBestellung_event`= '" + _event.maxBestellungProStunde + "' WHERE `id_event`= '" + _event.ID + "'; "); } else if (entity.GetType() == typeof(Produkt)) { Produkt produkt = (Produkt)entity; return("UPDATE `festbon`.`t_produkt` SET `" + "name_produkt`='" + produkt.Name + "', `preis_produkt`='" + wandelEuropreisInCentpreis(produkt.Preis) + "', `letztesUpdate_produkt`='" + formatiereDatum(DateTime.Now) + "', `id_bestand`='" + produkt.Bestand.ID + "', `art_produkt`='" + produkt.Art + "', `portion_produkt`='" + ersetzeKommaMitPunkt(produkt.Groesse * 1000) + "', `aktiv_produkt`='1'" + " WHERE `id_produkt`='" + produkt.ID + "';"); } else if (entity.GetType() == typeof(Menue)) { Menue menue = (Menue)entity; return("UPDATE `festbon`.`t_menue` SET " + "`name_menue`= '" + menue.Name + "', `beschreibung_menue`= '" + menue.Beschreibung + "', `preis_menue`= '" + wandelEuropreisInCentpreis(menue.Preis) + "', `datum_menue`= '" + formatiereDatum(DateTime.Now) + "', `aktiv_menue`= '1'" + " WHERE `id_menue`= '" + menue.ID + "'; "); } else { Mitarbeiter mitarbeiter = (Mitarbeiter)entity; return("UPDATE `festbon`.`t_mitarbeiter` SET " + "`vorname_mitarbeiter`='" + mitarbeiter.Vorname + "', `nachname_mitarbeiter`='" + mitarbeiter.Nachname + "', `geburtsdatum_mitarbeiter`='" + formatiereDatum(mitarbeiter.Geburtsdatum) + "', `passwort_mitarbeiter`= '" + mitarbeiter.Passwort + "', `aktiv_mitarbeiter`='1" + "' WHERE `id_mitarbeiter`='" + mitarbeiter.ID + "';"); } }
public void CompleteTurnaroundWithAddedObject(Type formatterType) { // Create object and serialize it IFormatter formatter = (IFormatter)Activator.CreateInstance(formatterType); var m = CreateMitarbeiter(); pm.MakePersistent(m); pm.Save(); var oc = pm.GetObjectContainer(); oc.Formatter = formatter; string serialized = oc.MarshalingString; pm.UnloadCache(); // Merge object into an OfflinePersistenceManager and change it OfflinePersistenceManager opm = new OfflinePersistenceManager(pm.NDOMapping.FileName); oc = new ObjectContainer(); oc.Deserialize(serialized, formatter); opm.MergeObjectContainer(oc); var m2 = new Mitarbeiter() { Vorname = "Hans", Nachname = "Müller" }; opm.MakePersistent(m2); // Create a ChangeSetContainer and serialize it var csc = opm.GetChangeSet(); csc.Formatter = formatter; string serializedChanges = csc.MarshalingString; // Merge the changes back to pm csc = new ChangeSetContainer(); csc.Deserialize(serializedChanges, formatter); Assert.That(csc.AddedObjects.Count == 1); pm = new PersistenceManager(); // we need a new pm here which get's us id's beginning from -1 pm.MergeObjectContainer(csc); // Now we should have a created object in the cache Assert.AreEqual(true, pm.HasChanges); m = (Mitarbeiter)pm.FindObject(typeof(Mitarbeiter), -1); Assert.That(m.NDOObjectState == NDOObjectState.Created); // Save and Reload pm.Save(); Assert.That(m.NDOObjectState == NDOObjectState.Persistent); pm.UnloadCache(); var l = pm.Objects <Mitarbeiter>().ResultTable; Assert.AreEqual(2, l.Count); Assert.That(l.Any(m1 => m1.Vorname == "Mirko" && m1.Nachname == "Matytschak")); Assert.That(l.Any(m1 => m1.Vorname == "Hans" && m1.Nachname == "Müller")); }
public void Setup() { pm = PmFactory.NewPersistenceManager(); m = CreateMitarbeiter("Mirko", "Matytschak"); a = CreateAdresse("D", "83646", "Nockhergasse 7", "Bad Tölz"); b = CreateBuero("3-0815"); }
public void TestCreateObjects() { pm.MakePersistent(m); pm.MakePersistent(a); pm.MakePersistent(b); if (!pm.HasOwnerCreatedIds) { if (m.NDOObjectId.Id[0] is Int32) { Assert.AreEqual(-1, m.NDOObjectId.Id[0], "Mitarbeiter key wrong"); } if (a.NDOObjectId.Id[0] is Int32) { Assert.AreEqual(-1, a.NDOObjectId.Id[0], "Adresse key wrong"); } if (b.NDOObjectId.Id[0] is Int32) { Assert.AreEqual(-1, b.NDOObjectId.Id[0], "Büro key wrong"); } } Assert.That(!m.NDOObjectId.Equals(a.NDOObjectId), "Ids should be different m-a"); Assert.That(!m.NDOObjectId.Equals(b.NDOObjectId), "Ids should be different m-b"); Assert.That(!a.NDOObjectId.Equals(b.NDOObjectId), "Ids should be different a-b"); m = (Mitarbeiter)pm.FindObject(m.NDOObjectId); a = (Adresse)pm.FindObject(a.NDOObjectId); b = (Buero)pm.FindObject(b.NDOObjectId); }
public void CombinedTestAddBüroRemoveAdresseAbort() { pm.MakePersistent(b); m.Adresse = a; pm.MakePersistent(m); pm.Save(); ObjectId aoid = a.NDOObjectId; m.Zimmer = b; m.Adresse = null; pm.Abort(); Assert.NotNull(m, "1. Mitarbeiter not found"); Assert.NotNull(m.Adresse, "1. Adresse not found"); Assert.Null(m.Zimmer, "1. Unexpected Büro"); ObjectId moid = m.NDOObjectId; m = null; a = null; b = null; pm.UnloadCache(); m = (Mitarbeiter)pm.FindObject(moid); Assert.NotNull(m, "2. Mitarbeiter not found"); Assert.NotNull(m.Adresse, "2. Adresse not found"); Assert.Null(m.Zimmer, "2. Unexpected Büro"); }
public void CombinedTestCreateObjectsSave() { pm.MakePersistent(b); m.Adresse = a; m.Zimmer = b; pm.MakePersistent(m); pm.Save(); Assert.That(!m.NDOObjectId.Equals(a.NDOObjectId), "Ids should be different"); m = (Mitarbeiter)pm.FindObject(m.NDOObjectId); a = (Adresse)pm.FindObject(a.NDOObjectId); b = (Buero)pm.FindObject(b.NDOObjectId); Assert.NotNull(m, "1. Mitarbeiter not found"); Assert.NotNull(a, "1. Adresse not found"); Assert.NotNull(b, "1. Büro not found"); ObjectId moid = m.NDOObjectId; ObjectId aoid = a.NDOObjectId; ObjectId boid = b.NDOObjectId; m = null; a = null; b = null; pm.UnloadCache(); m = (Mitarbeiter)pm.FindObject(moid); Assert.NotNull(m, "2. Mitarbeiter not found"); Assert.NotNull(m.Adresse, "2. Adresse not found"); Assert.NotNull(m.Zimmer, "2. Büro not found"); }
public void AssoTestExtentRelatedObjects() { pm.MakePersistent(b); m.Zimmer = b; pm.MakePersistent(m); pm.Save(); IList liste = pm.GetClassExtent(typeof(Mitarbeiter)); m = (Mitarbeiter)liste[0]; Assert.AreEqual(NDOObjectState.Persistent, m.NDOObjectState, "1: Mitarbeiter should be persistent"); Assert.NotNull(m.Zimmer, "2. Relation is missing"); Assert.AreEqual(NDOObjectState.Persistent, m.Zimmer.NDOObjectState, "4.: Büro should be hollow"); pm.UnloadCache(); liste = pm.GetClassExtent(typeof(Mitarbeiter)); m = (Mitarbeiter)liste[0]; Assert.AreEqual(NDOObjectState.Hollow, m.NDOObjectState, "5: Mitarbeiter should be hollow"); Assert.NotNull(m.Zimmer, "6. Relation is missing"); Assert.AreEqual(NDOObjectState.Hollow, m.Zimmer.NDOObjectState, "8.: Büro should be hollow"); pm.UnloadCache(); liste = pm.GetClassExtent(typeof(Mitarbeiter), false); m = (Mitarbeiter)liste[0]; Assert.AreEqual(NDOObjectState.Persistent, m.NDOObjectState, "9: Mitarbeiter should be persistent"); Assert.NotNull(m.Zimmer, "10. Relation is missing"); Assert.AreEqual(NDOObjectState.Hollow, m.Zimmer.NDOObjectState, "12.: Büro should be hollow"); }
public void AssoTestHollow() { pm.MakePersistent(b); m.Zimmer = b; pm.MakePersistent(m); pm.Save(); pm.MakeHollow(m); // setzt m.Zimmer auf null Assert.AreEqual(NDOObjectState.Hollow, m.NDOObjectState, "1: Mitarbeiter should be hollow"); Assert.AreEqual(NDOObjectState.Persistent, b.NDOObjectState, "1: Büro should be persistent"); b = m.Zimmer; // ruft LoadData för m auf. m.Zimmer liegt im Cache und ist Persistent Assert.AreEqual(NDOObjectState.Persistent, m.NDOObjectState, "1: Mitarbeiter should be persistent"); Assert.AreEqual(NDOObjectState.Persistent, b.NDOObjectState, "2: Adresse should be persistent"); ObjectId id = m.NDOObjectId; pm.Close(); pm = PmFactory.NewPersistenceManager(); m = (Mitarbeiter)pm.FindObject(id); Assert.NotNull(m, "Mitarbeiter not found"); Assert.AreEqual(NDOObjectState.Hollow, m.NDOObjectState, "2: Mitarbeiter should be hollow"); b = m.Zimmer; Assert.AreEqual(NDOObjectState.Persistent, m.NDOObjectState, "2: Mitarbeiter should be persistent"); Assert.NotNull(b, "Büro not found"); Assert.AreEqual(NDOObjectState.Hollow, b.NDOObjectState, "1: Büro should be hollow"); }
/// <summary> /// Edit Action for Employees /// </summary> /// <param name="id"></param> /// <returns>edit view</returns> /// Example: GET: Mitarbeiter/Edit/5 public ActionResult Edit(int?id) { //Check if an ID was set and if not, show a Bad-Request-Error if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //Search the employee in the database Mitarbeiter mitarbeiter = new Mitarbeiter(); mitarbeiter = db.Mitarbeiter.Find(id); //If no employee was found with the given ID, show an error if (mitarbeiter == null) { return(HttpNotFound()); } //Automatically map the properties of "Mitarbeiter" to MitarbeiterViewMode var model = Mapper.Map <MitarbeiterViewModel>(mitarbeiter); //Populate Employee Functions this.ViewBag.AllFunctions = this.db.Funktion.ToList(); //Return Edit view return(View(model)); }
/// <summary> /// Konstruktor für die <see cref="MitarbeiterView"/> /// </summary> public MitarbeiterView(string titel, string connection) { _connection = connection; MitarbeiterInfo = new Mitarbeiter(); InitializeComponent(); Text = titel; }
private void btnMit_Handler(object sender, RoutedEventArgs e) { Button myButton = (Button)sender; // Create new Mitarbeiter if (myButton.Tag.ToString() == "new") { Mitarbeiter newMitarbeiter = new Mitarbeiter(); int id; var bool4 = Int32.TryParse(Application.Current.Properties["mit_id"].ToString(), out id); // saved max id to increment newMitarbeiter.ID = id += 1; Application.Current.Properties["mit_id"] = (id += 1).ToString(); newMitarbeiter.Name = this.mitName.Text; newMitarbeiter.Vorname = this.mitVorname.Text; newMitarbeiter.IstAktiv = this.mitAktiv.IsChecked.Value; Bibliothek.Mitarbeiter_Neu(newMitarbeiter); // Employee entry created - show success and reset form this.mitName.Text = ""; this.mitVorname.Text = ""; this.mitAktiv.IsChecked = false; this.success.Text = "Mitarbeiter erfolgrichlich erstellt"; this.success.Visibility = Visibility.Visible; } // Edit Mitarbeiter if (myButton.Tag.ToString() == "edit") { int id; var bool6 = Int32.TryParse(this.btnID.Tag.ToString(), out id); Mitarbeiter mit = Bibliothek.Mitarbeiter_nach_ID(id); mit.Name = this.mitName.Text; mit.Vorname = this.mitVorname.Text; mit.IstAktiv = this.mitAktiv.IsChecked.Value; this.btnID.Tag = ""; // reset edit employee id holder // Employee entry edited - show success and reset form this.mitName.Text = ""; this.mitVorname.Text = ""; this.mitAktiv.IsChecked = false; this.success.Text = "Mitarbeiter erfolgrichlich gearbeitet"; this.success.Visibility = Visibility.Visible; } }
public static void ToString(Mitarbeiter obj, MethodReturnEventArgs<string> e) { e.Result = obj.Name; }
private void CreateTestData() { { srvCtx = scope.Resolve<IZetboxServerContext>(); var grpAdmin = Zetbox.NamedObjects.Base.Groups.Administrator.Find(srvCtx); var grpEveryOne = Zetbox.NamedObjects.Base.Groups.Everyone.Find(srvCtx); // Create Identities admin = srvCtx.Create<Identity>(); admin.DisplayName = "Administrator"; admin.UserName = "******"; admin.Groups.Add(grpAdmin); admin.Groups.Add(grpEveryOne); identity1 = srvCtx.Create<Identity>(); identity1.DisplayName = "User 1"; identity1.UserName = "******"; identity1.Groups.Add(grpEveryOne); identity2 = srvCtx.Create<Identity>(); identity2.DisplayName = "User 2"; identity2.UserName = "******"; identity2.Groups.Add(grpEveryOne); identity3_low = srvCtx.Create<Identity>(); identity3_low.DisplayName = "User 3 with low privileges"; identity3_low.UserName = "******"; ma1 = srvCtx.Create<Mitarbeiter>(); ma1.Name = identity1.DisplayName; ma1.Identity = identity1; ma2 = srvCtx.Create<Mitarbeiter>(); ma2.Name = identity2.DisplayName; ma2.Identity = identity2; ma3_low = srvCtx.Create<Mitarbeiter>(); ma3_low.Name = identity3_low.DisplayName; ma3_low.Identity = identity3_low; srvCtx.SubmitChanges(); } { // Create 3 identity context var ctx = scope.Resolve<ServerZetboxContextFactory>().Invoke(identity1); // Create TestData with Identity 1 prj1 = ctx.Create<Projekt>(); prj1.Name = "Project User 1"; prj1.Mitarbeiter.Add(ctx.Find<Mitarbeiter>(ma1.ID)); CreateTasks(ctx, prj1); // Create TestData with Identity 1, common prjCommon = ctx.Create<Projekt>(); prjCommon.Name = "Project Common"; prjCommon.Mitarbeiter.Add(ctx.Find<Mitarbeiter>(ma1.ID)); prjCommon.Mitarbeiter.Add(ctx.Find<Mitarbeiter>(ma2.ID)); CreateTasks(ctx, prjCommon); ctx.SubmitChanges(); prj1ID = prj1.ID; prjCommonID = prjCommon.ID; } { var ctx = scope.Resolve<ServerZetboxContextFactory>().Invoke(identity2); // Create TestData with Identity 2 prj2 = ctx.Create<Projekt>(); prj2.Name = "Project User 2"; prj2.Mitarbeiter.Add(ctx.Find<Mitarbeiter>(ma2.ID)); CreateTasks(ctx, prj2); ctx.SubmitChanges(); prj2ID = prj2.ID; } id1Ctx = scope.Resolve<ServerZetboxContextFactory>().Invoke(identity1); id2Ctx = scope.Resolve<ServerZetboxContextFactory>().Invoke(identity2); id3Ctx_low = scope.Resolve<ServerZetboxContextFactory>().Invoke(identity3_low); prj1 = id1Ctx.Find<Projekt>(prj1ID); prjCommon = id1Ctx.Find<Projekt>(prjCommonID); prj2 = id2Ctx.Find<Projekt>(prj2ID); // Fix security tables // Own test checks if this works during object modifications too var connectionString = config.Server.GetConnectionString(Helper.ZetboxConnectionStringKey); using (var db = scope.ResolveNamed<ISchemaProvider>(connectionString.SchemaProvider)) { db.Open(connectionString.ConnectionString); db.ExecRefreshRightsOnProcedure(db.GetProcedureName("projekte", "RefreshRightsOn_Projekte")); db.ExecRefreshRightsOnProcedure(db.GetProcedureName("projekte", "RefreshRightsOn_Tasks")); db.ExecRefreshRightsOnProcedure(db.GetProcedureName("projekte", "RefreshRightsOn_Auftraege")); } }