Ejemplo n.º 1
0
        static public SictOptimatParamMission EveOnlinePräferenzSctandardWertBerecneTailMission()
        {
            var Präferenz = new SictOptimatParamMission();

            Präferenz.AktioonAcceptFraigaabe  = true;
            Präferenz.AktioonDeclineFraigaabe = false;

            Präferenz.AktioonAcceptMengeAgentLevelFraigaabe = Enumerable.Range(1, 4).ToArray();

            return(Präferenz);
        }
Ejemplo n.º 2
0
        public void KonfigScraibeNaacGbs(
            SictOptimatParamMission Konfig,
            bool VorherigeErhalte = false)
        {
            var AktioonAcceptFraigaabe  = (null == Konfig) ? null : Konfig.AktioonAcceptFraigaabe;
            var AktioonDeclineFraigaabe = (null == Konfig) ? null : Konfig.AktioonDeclineFraigaabe;
            var AktioonDeclineUnabhängigVonStandingLossFraigaabe = (null == Konfig) ? null : Konfig.AktioonDeclineUnabhängigVonStandingLossFraigaabe;

            var MengeZuMissionFilterVerhalte = (null == Konfig) ? null : Konfig.MengeZuMissionFilterVerhalte;
            var SuuceAgentMengeStation       = (null == Konfig) ? null : Konfig.SuuceAgentMengeStation;

            var AktioonAcceptMengeAgentLevelFraigaabe = (null == Konfig) ? null : Konfig.AktioonAcceptMengeAgentLevelFraigaabe;

            var AktioonDeclineAlsSctandardFürSonstigeFraigaabe = (null == Konfig) ? null : Konfig.AktioonDeclineAlsSctandardFürSonstigeFraigaabe;

            var MengeZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv = this.MengeZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv;

            if (null != MengeZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv)
            {
                foreach (var ZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv in MengeZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv)
                {
                    if (null == ZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv.Value)
                    {
                        continue;
                    }

                    var Checked = false;

                    if (null != AktioonAcceptMengeAgentLevelFraigaabe)
                    {
                        if (AktioonAcceptMengeAgentLevelFraigaabe.Contains(ZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv.Key))
                        {
                            Checked = true;
                        }
                    }

                    ZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv.Value.IsChecked = Checked;
                }
            }

            Bib3.Glob.PropagiireListeRepräsentatioon(
                MengeZuMissionFilterVerhalte,
                DataGridZuMissionGrupeVerhalteMengeRepr as IList <SictObservable <SictZuMissionGrupeAktioonReprInDataGrid> >,
                (Kwele) => new SictObservable <SictZuMissionGrupeAktioonReprInDataGrid>(
                    new SictZuMissionGrupeAktioonReprInDataGrid(Kwele.FilterAgentLevel, Kwele.FilterMissionTitelRegexPattern)),
                (KandidaatZiil, KandidaatKwele) =>
            {
                if (null == KandidaatZiil.Wert)
                {
                    return(false);
                }

                return(KandidaatKwele.FilterAgentLevel == KandidaatZiil.Wert.AgentLevelSictEnum &&
                       string.Equals(KandidaatKwele.FilterMissionTitelRegexPattern, KandidaatZiil.Wert.MissionTitelRegexPattern));
            },
                (Repr, Kwele) => { Repr.Wert.SezeVerhalte(Kwele); Repr.RaisePropertyChanged(); },
                VorherigeErhalte);

            Bib3.Glob.PropagiireListeRepräsentatioon(
                SuuceAgentMengeStation,
                DataGridSuuceAgentMengeStationRepr as IList <SictObservable <SictSuuceAgentStationRepr> >,
                (Kwele) =>
                new     SictObservable <SictSuuceAgentStationRepr>(
                    new SictSuuceAgentStationRepr(Kwele.Key, Kwele.Value)),
                (KandidaatZiil, KandidaatKwele) => string.Equals(KandidaatKwele.Key, KandidaatZiil.Wert.StationBezaicner),
                (Repr, Kwele) => { Repr.Wert.AktioonSuuceAktiiv = Kwele.Value; Repr.RaisePropertyChanged(); },
                VorherigeErhalte);

            CheckBoxAktioonAcceptAktiiv.IsChecked  = AktioonAcceptFraigaabe ?? false;
            CheckBoxAktioonDeclineAktiiv.IsChecked = AktioonDeclineFraigaabe ?? false;
            CheckBoxAktioonDeclineUnabhängigVonStandingLossFraigaabe.IsChecked = AktioonDeclineUnabhängigVonStandingLossFraigaabe ?? false;

            CheckBoxAktioonDeclineAlsSctandardFürSonstigeFraigaabe.IsChecked = AktioonDeclineAlsSctandardFürSonstigeFraigaabe ?? false;

            VonOptimatZuusctandApliziire();
        }
Ejemplo n.º 3
0
        public void    KonfigBerecneAusGbs(ref SictOptimatParamMission Konfig)
        {
            var DataGridZuMissionGrupeVerhalteMengeRepr = this.DataGridZuMissionGrupeVerhalteMengeRepr;

            var MengeZuMissionFilterVerhalte =
                (null == DataGridZuMissionGrupeVerhalteMengeRepr) ? null :
                DataGridZuMissionGrupeVerhalteMengeRepr
                .Select((Observable) => Observable.Wert)
                .Where((ZuMissionFilterVerhalteRepr) => null != ZuMissionFilterVerhalteRepr)
                .Select((ZuMissionFilterVerhalteRepr) => ZuMissionFilterVerhalteRepr.KonfigBerecne())
                .ToArray();

            var AktioonFüüreAusOderAcceptMengeAgentLevel = new List <int>();

            var MengeZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv = this.MengeZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv;

            if (null != MengeZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv)
            {
                foreach (var ZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv in MengeZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv)
                {
                    if (null == ZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv.Value)
                    {
                        continue;
                    }

                    if (true == ZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv.Value.IsChecked)
                    {
                        AktioonFüüreAusOderAcceptMengeAgentLevel.Add(ZuAgentLevelCheckBoxAktioonFüüreAusOderAcceptAktiiv.Key);
                    }
                }
            }

            var SuuceAgentMengeStation =
                DataGridSuuceAgentMengeStationRepr
                .Select((Repr) => new KeyValuePair <string, bool>(Repr.Wert.StationBezaicner, Repr.Wert.AktioonSuuceAktiiv))
                .ToArray();

            var AktioonDeclineAlsSctandardFürSonstigeFraigaabe = CheckBoxAktioonDeclineAlsSctandardFürSonstigeFraigaabe.IsChecked;

            if (null == Konfig)
            {
                Konfig = new SictOptimatParamMission();
            }

            Konfig.AktioonAcceptFraigaabe  = true == CheckBoxAktioonAcceptAktiiv.IsChecked;
            Konfig.AktioonDeclineFraigaabe = true == CheckBoxAktioonDeclineAktiiv.IsChecked;
            Konfig.AktioonDeclineUnabhängigVonStandingLossFraigaabe = true == CheckBoxAktioonDeclineUnabhängigVonStandingLossFraigaabe.IsChecked;

            if (!Bib3.Glob.SequenceEqual(
                    AktioonFüüreAusOderAcceptMengeAgentLevel,
                    Konfig.AktioonAcceptMengeAgentLevelFraigaabe))
            {
                Konfig.AktioonAcceptMengeAgentLevelFraigaabe = AktioonFüüreAusOderAcceptMengeAgentLevel.ToArray();
            }

            if (!Bib3.Glob.SequenceEqual(
                    MengeZuMissionFilterVerhalte,
                    Konfig.MengeZuMissionFilterVerhalte,
                    SictKonfigMissionZuMissionFilterVerhalte.HinraicendGlaicwertigFürIdentInOptimatParam))
            {
                Konfig.MengeZuMissionFilterVerhalte = MengeZuMissionFilterVerhalte;
            }

            Konfig.AktioonDeclineAlsSctandardFürSonstigeFraigaabe = AktioonDeclineAlsSctandardFürSonstigeFraigaabe;

            if (!Bib3.Glob.SequenceEqual(
                    SuuceAgentMengeStation,
                    Konfig.SuuceAgentMengeStation,
                    (Element0, Element1) => string.Equals(Element0.Key, Element1.Key) && Element0.Value == Element1.Value))
            {
                Konfig.SuuceAgentMengeStation = SuuceAgentMengeStation;
            }
        }
        public int?ZuStationMengeAgentPasendOoneMissionUnpasendAnzaalBerecne(
            SictAgentIdentSystemStationName StationIdent,
            SictOptimatParamMission OptimatParamMission,
            Int64?GültigkaitZaitScrankeMin = null)
        {
            if (null == StationIdent)
            {
                return(0);
            }

            if (null == OptimatParamMission)
            {
                return(0);
            }

            var StationMengeAgentMitMission = ZuStationMengeAgentMitMissionInfoLezteBerecne(StationIdent, GültigkaitZaitScrankeMin);

            if (null == StationMengeAgentMitMission)
            {
                return(null);
            }

            if (StationMengeAgentMitMission.Count < 1)
            {
                return(null);
            }

            int ZuStationMengeAgentPasendOoneMissionUnpasendAnzaal = 0;

            foreach (var AgentMitMission in StationMengeAgentMitMission)
            {
                var AgentEntry = AgentMitMission.Key;

                if (null == AgentEntry)
                {
                    continue;
                }

                var AgentLevelNulbar = AgentEntry.AgentLevel;

                if (!AgentLevelNulbar.HasValue)
                {
                    continue;
                }

                var AgentLevel = AgentLevelNulbar.Value;

                if (!OptimatParamMission.AktioonFüüreAusFraigaabeFürAgentLevel(AgentLevel))
                {
                    continue;
                }

                var Mission = AgentMitMission.Value;

                if (null != Mission)
                {
                    var MissionTailFürNuzer = Mission.TailFürNuzer;

                    var ZuMissionVerhalte = MissionTailFürNuzer.AusPräferenzEntscaidungVerhalte;

                    if (null == ZuMissionVerhalte)
                    {
                        continue;
                    }

                    if (!(true == ZuMissionVerhalte.AktioonAcceptAktiiv))
                    {
                        continue;
                    }
                }

                ++ZuStationMengeAgentPasendOoneMissionUnpasendAnzaal;
            }

            return(ZuStationMengeAgentPasendOoneMissionUnpasendAnzaal);
        }