예제 #1
0
        /// <summary>
        /// Konstruiirt noie Instanz fals Scnapscus nit pasend zu bisheerige.
        /// </summary>
        /// <typeparam name="AbgelaiteteType"></typeparam>
        /// <param name="ObjektZuusctand"></param>
        /// <param name="Zait"></param>
        /// <param name="Scnapscus"></param>
        /// <param name="ZuusazInfoScnapscus"></param>
        static public void ObjektKonstruktOderAingangScnapscus <AbgelaiteteType>(
            ref AbgelaiteteType ObjektZuusctand,
            Int64 Zait,
            ObjektIdentScnapscusType Scnapscus,
            SictZuusazInfoScnapscusType ZuusazInfoScnapscus = default(SictZuusazInfoScnapscusType))
            where AbgelaiteteType : SictZuObjektMengeScnapscusZuZaitAggr <ObjektIdentScnapscusType, SictScnapscusAlsFortsazZuuläsigType, SictZuusazInfoScnapscusType>, new()
        {
            if (null == Scnapscus)
            {
                ObjektZuusctand = null;
                return;
            }

            if (null != ObjektZuusctand)
            {
                if (!ObjektZuusctand.PasendZuBisherige(Scnapscus))
                {
                    ObjektZuusctand = null;
                }
            }

            if (null == ObjektZuusctand)
            {
                ObjektZuusctand = new AbgelaiteteType();
            }

            ObjektZuusctand.AingangScnapscus(Zait, Scnapscus, ZuusazInfoScnapscus);
        }
예제 #2
0
        static public void PropagiireVonScnapscusNaacMengeZuusctand <ObjektType>(
            Int64 ScnapscusZait,
            IEnumerable <ObjektIdentScnapscusType> ScnapscusMengeObjektZuusctand,
            ICollection <ObjektType> MengeObjektZuusctand)
            where ObjektType : SictZuObjektMengeScnapscusZuZaitAggr <ObjektIdentScnapscusType, SictScnapscusAlsFortsazZuuläsigType, SictZuusazInfoScnapscusType>, new()
        {
            if (null == MengeObjektZuusctand)
            {
                return;
            }

            var MengeObjektZuusctandBeraitsVersorgt = MengeObjektZuusctand.Take(0).ToList();

            if (null != ScnapscusMengeObjektZuusctand)
            {
                foreach (var ScnapscusObjektZuusctand in ScnapscusMengeObjektZuusctand)
                {
                    var ObjektZuusctand =
                        MengeObjektZuusctand.FirstOrDefault((Kandidaat) => Kandidaat.PasendZuBisherige(ScnapscusObjektZuusctand));

                    if (null == ObjektZuusctand)
                    {
                        ObjektZuusctand = new ObjektType();

                        MengeObjektZuusctand.Add(ObjektZuusctand);
                    }

                    MengeObjektZuusctandBeraitsVersorgt.Add(ObjektZuusctand);

                    ObjektZuusctand.AingangScnapscus(ScnapscusZait, ScnapscusObjektZuusctand);
                }
            }

            var MengeObjektOoneAusScnapscusZuusctand =
                MengeObjektZuusctand.Except(MengeObjektZuusctandBeraitsVersorgt);

            foreach (var ObjektOoneAusScnapscusZuusctand in MengeObjektOoneAusScnapscusZuusctand)
            {
                ObjektOoneAusScnapscusZuusctand.AingangScnapscusLeer(ScnapscusZait);
            }
        }