private void doOpenRoomDesigner_CustomizePopupWindowParams(object sender, CustomizePopupWindowParamsEventArgs e) { IObjectSpace workingOs = Application.CreateObjectSpace(); DetailView curView = (DetailView)View; LgHaustechnikKomponente curHtKomponente = (LgHaustechnikKomponente)curView.CurrentObject; boLiegenschaft curLiegenschaft = workingOs.GetObjectByKey <boLiegenschaft>(curHtKomponente.Liegenschaft.Oid); //ein neues Gebäude erstellen //fiGebaeude curBuilding = workingOs.CreateObject<fiGebaeude>(); //curBuilding.Liegenschaft = curLiegenschaft; fiRaum curRaum = workingOs.CreateObject <fiRaum>(); e.View = Application.CreateDetailView(workingOs, curRaum); }
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); } }