protected override void OnChanged(string propertyName, object oldValue, object newValue) { base.OnChanged(propertyName, oldValue, newValue); //alle geräte durchgehen und für jedes Gerät das in der Anlage verzeichent ist eine Probe anlegen switch (propertyName) { case "Messtyp": if (!this.Session.IsObjectToDelete(this)) { if (this.Anlage != null) { //erstmal alles löschen was schon da ist if (this.lstProben != null) { this.Session.Delete(this.lstProben); } if (newValue != null) { boMesstyp curMesstyp = (boMesstyp)newValue; /* * if (curMesstyp.lstGeraete != null) * { * generateProben(curMesstyp); * } */ } } } break; } }
private void generateProben(boMesstyp curTyp) { /* * boMesstyp curMesstyp = this.Session.GetObjectByKey<boMesstyp>(curTyp.Oid); * //dann feststellen b in der Anlage die zur Messung gehört Geräte vorhanden sind die auch in dem Messtyp vorhanden sind * if(curMesstyp.lstGeraete != null && this.Anlage != null) * { * foreach(boGeraet item in curMesstyp.lstGeraete) * { * //gibt es ein Anlagengerät dazu?? * fiAnlagenGeraet anlagenItem = this.Session.FindObject<fiAnlagenGeraet>(new GroupOperator(new BinaryOperator("Geraet.Oid", item.Oid, BinaryOperatorType.Equal), new BinaryOperator("Anlage.Oid", this.Anlage.Oid, BinaryOperatorType.Equal))); * if(anlagenItem != null) * { * boMessprobe messprobe = new boMessprobe(this.Session); * messprobe.Anlagengeraet = anlagenItem; * * this.lstProben.Add(messprobe); * * } * } * } */ }