Пример #1
0
        public override void AfterConstruction()
        {
            base.AfterConstruction();
            // Place your initialization code here (https://documentation.devexpress.com/eXpressAppFramework/CustomDocument112834.aspx).
            this.HauptZugang = false;

            //Die Defaultkategorie >setzen (Sonstige)
            fiZugangKategorie defaultkategorie = this.Session.FindObject <fiZugangKategorie>(new BinaryOperator("Bezeichnung", "Sonstiges", BinaryOperatorType.Equal));

            this.ZugangKategorie = defaultkategorie;
        }
Пример #2
0
        protected override void OnChanged(string propertyName, object oldValue, object newValue)
        {
            base.OnChanged(propertyName, oldValue, newValue);
            //wenn sich die Liegneschaft ändert prüfen ob es

            switch (propertyName)
            {
            case "Liegenschaft":
                if (newValue != null)
                {
                    boLiegenschaft curLiegenschaft = (boLiegenschaft)newValue;
                    if (curLiegenschaft.lstZugangLiegenschaft != null)
                    {
                        //ist schon ein Hauptzugang definiert??
                        var cnt = curLiegenschaft.lstZugangLiegenschaft.Where(t => t.HauptZugang == true).Count();
                        if (cnt == 0)
                        {
                            this.HauptZugang = true;
                        }
                    }
                    else
                    {
                        this.HauptZugang = true;
                    }
                }
                break;

            case "HauptZugang":
                //wenn auf ja geändert wird prüfen ob schon ein anderer mit ja da ist, wenn dem so sei dann diesen auch ändern
                if ((bool)newValue == true)
                {
                    if (this.Liegenschaft != null)
                    {
                        var cnt = this.Liegenschaft.lstZugangLiegenschaft.Where(t => t.HauptZugang == true && t.Oid != this.Oid).Count();
                        if (cnt > 0)
                        {
                            fiZugangLiegenschaft oldHauptZugang = this.Liegenschaft.lstZugangLiegenschaft.FirstOrDefault(t => t.HauptZugang == true && t.Oid != this.Oid);
                            oldHauptZugang.HauptZugang = false;
                            oldHauptZugang.Save();
                        }
                    }
                }



                break;

            case "ZugangKategorie":

                //wenn es sich um Hausbetreuer oder Hausverwalter handelt nur die Kontakte der jreweiligen Adresse einbelnden
                if (newValue != null)
                {
                    fiZugangKategorie curKategorie = (fiZugangKategorie)newValue;

                    //fiZugangKategorie curKategorie = (fiZugangKategorie)(newValue);
                    if (curKategorie != null)
                    {
                        this.Status = curKategorie.DefaultStatus;


                        switch (curKategorie.Bezeichnung)
                        {
                        case "Hausverwaltung":
                            if (this.Liegenschaft != null)
                            {
                                this.ZugangAdresse = (this.Liegenschaft.Hausverwalter != null) ?       this.Liegenschaft.Hausverwalter.Adresse : null;
                                // RaisePropertyChangedEvent("ZugangAdresse");
                            }
                            break;

                        case "Hausbetreuung":
                            if (this.Liegenschaft != null)
                            {
                                this.ZugangAdresse = (this.Liegenschaft.Hausbetreuer != null) ? this.Liegenschaft.Hausbetreuer.Adresse : null;
                                //RaisePropertyChangedEvent("ZugangAdresse");
                            }
                            break;

                        //wenn Kontakt gewähl wird die Liegenschaft
                        case "Kontakt":
                            if (this.Liegenschaft != null)
                            {
                                this.ZugangAdresse = (this.Liegenschaft.Liegenschaftsadresse != null) ? this.Liegenschaft.Liegenschaftsadresse : null;
                                // RaisePropertyChangedEvent("ZugangAdresse");
                            }
                            break;

                        case "Sonstiges":
                            //this.ZugangAdresse = this.ZugangAdresse = this.Liegenschaft.Liegenschaftsadresse;
                            break;

                        default:
                            if (this.Liegenschaft != null)
                            {
                                this.ZugangAdresse = (this.Liegenschaft.Liegenschaftsadresse != null) ? this.Liegenschaft.Liegenschaftsadresse : null;
                                //RaisePropertyChangedEvent("ZugangAdresse");
                            }
                            break;
                        }
                        // RefreshAvailableContacts();
                    }
                    else
                    {
                        this.ZugangAdresse = null;
                    }
                }
                break;

            case "ZugangAdresse":
                if (this.Kontakt != null)
                {
                    this.Kontakt = null;
                }
                RefreshAvailableContacts();
                break;
            }
        }