protected override void OnChanged(string propertyName, object oldValue, object newValue) { base.OnChanged(propertyName, oldValue, newValue); if (!this.IsLoading) { switch (propertyName) { case "Anlage": if (newValue != null) { this.Liegenschaft = this.Session.GetObjectByKey <boLiegenschaft>(((boAnlage)newValue).Liegenschaft.Oid); } else { this.Liegenschaft = null; } break; case "Status": if (((enmBearbeitungsStatus)newValue) == enmBearbeitungsStatus.erledigt) { this.DatumReal = DateTime.Now; this.Save(); Session.CommitTransaction(); if (this.TurnusValue > 0 && this.Turnus != enmTurnus.none) { actionActionBase retValBase = (actionActionBase)this; createNewAction(retValBase); } } break; } } }
public override void createNewAction(actionActionBase curBaseAction) { actionActionAnlage retVal = new actionActionAnlage(this.Session); actionActionBase retValBase = (actionActionBase)retVal; retVal.Anlage = Session.GetObjectByKey <boAnlage>(this.Anlage.Oid); retVal.Save(); base.createNewAction(retValBase); }
public virtual void createNewAction(actionActionBase createdAction) { //einen neuen Service erstellen //TODO: Funktion für einen neuen Service createdAction.DatumFaellig = TurnusHelper.getNextDate(this.DatumReal, this.Turnus, this.TurnusValue); //was passiert if (this.WartungsPlan.GetType() == typeof(wartungWartungsPlanAnlagenArt)) { createdAction.WartungsPlan = this.Session.GetObjectByKey <wartungWartungsPlanAnlagenArt>(this.WartungsPlan.Oid); } if (this.WartungsPlan.GetType() == typeof(wartungWartungsPlanProdukt)) { createdAction.WartungsPlan = this.Session.GetObjectByKey <wartungWartungsPlanProdukt>(this.WartungsPlan.Oid); } createdAction.Liegenschaft = this.Session.GetObjectByKey <boLiegenschaft>(this.Liegenschaft.Oid); createdAction.ActionClassification = this.ActionClassification; createdAction.AnzahlTechniker = this.AnzahlTechniker; createdAction.Beschreibung = this.Beschreibung; createdAction.Bezeichnung = this.Bezeichnung; createdAction.Prioritaet = this.Prioritaet; createdAction.Status = enmBearbeitungsStatus.neu; createdAction.Turnus = this.Turnus; createdAction.TurnusValue = this.TurnusValue; if (this.MonteurVerantwortlich != null) { createdAction.MonteurVerantwortlich = this.Session.GetObjectByKey <boMitarbeiter>(this.MonteurVerantwortlich.Oid); } createdAction.Save(); //jetzt noch die Positionen übernehmen if (this.lstActionPosition != null) { actionActionPosition curActionPosition; actionActionPosition basePosition; for (int j = 0; j < this.lstActionPosition.Count; j++) { basePosition = this.lstActionPosition[j]; curActionPosition = new actionActionPosition(this.Session); curActionPosition.ActionBase = createdAction; curActionPosition.WartungsPosition = this.Session.GetObjectByKey <wartungWartungsPosition>(basePosition.Oid); curActionPosition.PositionsNummer = basePosition.PositionsNummer; curActionPosition.PosLangText = basePosition.PosLangText; curActionPosition.PosText = basePosition.PosText; curActionPosition.SortIndex = basePosition.SortIndex; curActionPosition.ZeitVorgabe = basePosition.ZeitVorgabe; curActionPosition.AnzahlTechniker = basePosition.AnzahlTechniker; curActionPosition.ArbeitsAnweisung = basePosition.ArbeitsAnweisung; if (basePosition.Artikel != null) { curActionPosition.Artikel = this.Session.GetObjectByKey <artikelArtikelBase>(basePosition.Artikel.Oid); curActionPosition.ArtikelMenge = basePosition.ArtikelMenge; } if (basePosition.Bauteil != null) { curActionPosition.Bauteil = this.Session.GetObjectByKey <fiBauteil>(basePosition.Bauteil.Oid); curActionPosition.BauteilAnzahl = basePosition.BauteilAnzahl; } curActionPosition.Beschreibung = basePosition.Beschreibung; curActionPosition.Notizen = basePosition.Notizen; curActionPosition.Save(); } } this.Session.CommitTransaction(); }