private void doOpenBuildingDesigner_Execute(object sender, PopupWindowShowActionExecuteEventArgs e) { //abspeichern des Begäudes //das Gebäude gleich in die Anlagenkomponente schreiben IObjectSpace workingOs = Application.CreateObjectSpace(); DetailView curView = (DetailView)View; fiGebaeude curbuilding = (fiGebaeude)e.PopupWindowViewCurrentObject; curbuilding.Save(); e.PopupWindowView.ObjectSpace.CommitChanges(); boAnlage curAnlage = (boAnlage)curView.CurrentObject; }
private fiGebaeude createDefaultBuilding() { fiGebaeude curBuilding = this.Session.FindObject <fiGebaeude>(new BinaryOperator("Liegenschaft.Oid", this.Oid, BinaryOperatorType.Equal)); if (curBuilding == null) { curBuilding = new fiGebaeude(this.Session); curBuilding.Liegenschaft = this; curBuilding.Bezeichnung = "Haus 1"; boAdresse workingAddress = (this.Liegenschaftsadresse != null) ? this.Session.GetObjectByKey <boAdresse>(this.Liegenschaftsadresse.Oid) : null; curBuilding.Adresse = workingAddress;//(this.Liegenschaftsadresse != null) ? this.Liegenschaftsadresse : null; curBuilding.Save(); fiEbene defaultFloor = new fiEbene(this.Session); defaultFloor.Art = (this.Session.FindObject <fiEbenenart>(new BinaryOperator("Kuerzel", "EG", BinaryOperatorType.Equal)) != null)? this.Session.FindObject <fiEbenenart>(new BinaryOperator("Kuerzel", "EG", BinaryOperatorType.Equal)):null; if (defaultFloor.Art != null) { defaultFloor.Bezeichnung = defaultFloor.Art.Bezeichnung; } defaultFloor.Gebaeude = curBuilding; defaultFloor.Save(); curBuilding.Save(); //den Raum auch gleich erstellen fiRaum defaultRaum = new fiRaum(this.Session); defaultRaum.Raumart = (this.Session.FindObject <fiRaumart>(new BinaryOperator("Kuerzel", "TR", BinaryOperatorType.Equal)) != null) ? this.Session.FindObject <fiRaumart>(new BinaryOperator("Kuerzel", "TR", BinaryOperatorType.Equal)) : null; if (defaultRaum.Raumart != null) { defaultRaum.Bezeichnung = defaultRaum.Raumart.Bezeichnung; } defaultRaum.Ebene = defaultFloor; defaultRaum.Gebaeude = curBuilding; defaultRaum.Save(); this.Session.CommitTransaction(); return(curBuilding); } else { return(null); } }