示例#1
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);
            }
        }
示例#2
0
        static public void ZuZaitAingangMengeObjektScnapscus <AbgelaiteteType>(
            Int64 Zait,
            IEnumerable <ObjektIdentScnapscusType> MengeObjektScnapscus,
            IList <AbgelaiteteType> ZiilListeObjektZuusctandAggr,
            bool TailmengeWelceNictInScnapscusRepräsentiirtEntferne = false,
            SictZuusazInfoScnapscusType ZuusazInfoScnapscus         = default(SictZuusazInfoScnapscusType))
            where AbgelaiteteType : SictZuObjektMengeScnapscusZuZaitAggr <ObjektIdentScnapscusType, SictScnapscusAlsFortsazZuuläsigType, SictZuusazInfoScnapscusType>, new()
        {
            if (null == ZiilListeObjektZuusctandAggr)
            {
                return;
            }

            var MengeObjektRepräsentiirtInScnapscus = new List <AbgelaiteteType>();

            if (null != MengeObjektScnapscus)
            {
                foreach (var ObjektScnapscus in MengeObjektScnapscus)
                {
                    var ObjektZuusctandAggr = ZiilListeObjektZuusctandAggr.FirstOrDefault((Kandidaat) => Kandidaat.PasendZuBisherige(ObjektScnapscus));

                    if (null == ObjektZuusctandAggr)
                    {
                        ObjektZuusctandAggr = new AbgelaiteteType();

                        ZiilListeObjektZuusctandAggr.Add(ObjektZuusctandAggr);
                    }

                    MengeObjektRepräsentiirtInScnapscus.Add(ObjektZuusctandAggr);

                    ObjektZuusctandAggr.AingangScnapscus(Zait, ObjektScnapscus, ZuusazInfoScnapscus);
                }
            }

            var MengeObjektRepräsentiirtInScnapscusNict =
                ZiilListeObjektZuusctandAggr.Except(MengeObjektRepräsentiirtInScnapscus).ToArray();

            foreach (var ObjektRepräsentiirtInScnapscusNict in MengeObjektRepräsentiirtInScnapscusNict)
            {
                if (TailmengeWelceNictInScnapscusRepräsentiirtEntferne)
                {
                    ZiilListeObjektZuusctandAggr.Remove(ObjektRepräsentiirtInScnapscusNict);
                }
                else
                {
                    if (null != ObjektRepräsentiirtInScnapscusNict)
                    {
                        ObjektRepräsentiirtInScnapscusNict.AingangScnapscusLeer(Zait, ZuusazInfoScnapscus);
                    }
                }
            }

            //	!!!!	Ainbau erhaltung Ordnung
        }