Exemple #1
0
        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);
            }
        }