protected override void OnChanged(string propertyName, object oldValue, object newValue)
        {
            base.OnChanged(propertyName, oldValue, newValue);
            if (!this.IsLoading)
            {
                switch (propertyName)
                {
                case "Anlage":
                    if (newValue != null)
                    {
                        this.Liegenschaft = this.Session.GetObjectByKey <boLiegenschaft>(((boAnlage)newValue).Liegenschaft.Oid);
                    }
                    else
                    {
                        this.Liegenschaft = null;
                    }
                    break;

                case "Status":
                    if (((enmBearbeitungsStatus)newValue) == enmBearbeitungsStatus.erledigt)
                    {
                        this.DatumReal = DateTime.Now;
                        this.Save();
                        Session.CommitTransaction();
                        if (this.TurnusValue > 0 && this.Turnus != enmTurnus.none)
                        {
                            actionActionBase retValBase = (actionActionBase)this;
                            createNewAction(retValBase);
                        }
                    }
                    break;
                }
            }
        }
        public override void createNewAction(actionActionBase curBaseAction)
        {
            actionActionAnlage retVal     = new actionActionAnlage(this.Session);
            actionActionBase   retValBase = (actionActionBase)retVal;

            retVal.Anlage = Session.GetObjectByKey <boAnlage>(this.Anlage.Oid);

            retVal.Save();

            base.createNewAction(retValBase);
        }
Example #3
0
        public virtual void createNewAction(actionActionBase createdAction)
        {
            //einen neuen Service erstellen

            //TODO: Funktion für einen neuen Service

            createdAction.DatumFaellig = TurnusHelper.getNextDate(this.DatumReal, this.Turnus, this.TurnusValue);
            //was passiert
            if (this.WartungsPlan.GetType() == typeof(wartungWartungsPlanAnlagenArt))
            {
                createdAction.WartungsPlan = this.Session.GetObjectByKey <wartungWartungsPlanAnlagenArt>(this.WartungsPlan.Oid);
            }

            if (this.WartungsPlan.GetType() == typeof(wartungWartungsPlanProdukt))
            {
                createdAction.WartungsPlan = this.Session.GetObjectByKey <wartungWartungsPlanProdukt>(this.WartungsPlan.Oid);
            }

            createdAction.Liegenschaft         = this.Session.GetObjectByKey <boLiegenschaft>(this.Liegenschaft.Oid);
            createdAction.ActionClassification = this.ActionClassification;
            createdAction.AnzahlTechniker      = this.AnzahlTechniker;

            createdAction.Beschreibung = this.Beschreibung;

            createdAction.Bezeichnung = this.Bezeichnung;
            createdAction.Prioritaet  = this.Prioritaet;
            createdAction.Status      = enmBearbeitungsStatus.neu;
            createdAction.Turnus      = this.Turnus;
            createdAction.TurnusValue = this.TurnusValue;
            if (this.MonteurVerantwortlich != null)
            {
                createdAction.MonteurVerantwortlich = this.Session.GetObjectByKey <boMitarbeiter>(this.MonteurVerantwortlich.Oid);
            }



            createdAction.Save();

            //jetzt noch die Positionen übernehmen
            if (this.lstActionPosition != null)
            {
                actionActionPosition curActionPosition;
                actionActionPosition basePosition;
                for (int j = 0; j < this.lstActionPosition.Count; j++)
                {
                    basePosition                       = this.lstActionPosition[j];
                    curActionPosition                  = new actionActionPosition(this.Session);
                    curActionPosition.ActionBase       = createdAction;
                    curActionPosition.WartungsPosition = this.Session.GetObjectByKey <wartungWartungsPosition>(basePosition.Oid);
                    curActionPosition.PositionsNummer  = basePosition.PositionsNummer;
                    curActionPosition.PosLangText      = basePosition.PosLangText;
                    curActionPosition.PosText          = basePosition.PosText;
                    curActionPosition.SortIndex        = basePosition.SortIndex;
                    curActionPosition.ZeitVorgabe      = basePosition.ZeitVorgabe;
                    curActionPosition.AnzahlTechniker  = basePosition.AnzahlTechniker;
                    curActionPosition.ArbeitsAnweisung = basePosition.ArbeitsAnweisung;
                    if (basePosition.Artikel != null)
                    {
                        curActionPosition.Artikel      = this.Session.GetObjectByKey <artikelArtikelBase>(basePosition.Artikel.Oid);
                        curActionPosition.ArtikelMenge = basePosition.ArtikelMenge;
                    }
                    if (basePosition.Bauteil != null)
                    {
                        curActionPosition.Bauteil       = this.Session.GetObjectByKey <fiBauteil>(basePosition.Bauteil.Oid);
                        curActionPosition.BauteilAnzahl = basePosition.BauteilAnzahl;
                    }
                    curActionPosition.Beschreibung = basePosition.Beschreibung;
                    curActionPosition.Notizen      = basePosition.Notizen;
                    curActionPosition.Save();
                }
            }
            this.Session.CommitTransaction();
        }