static public bool HinraicendGlaicwertigFürIdentInOptimatParam( SictKonfigMissionZuMissionFilterVerhalte O0, SictKonfigMissionZuMissionFilterVerhalte O1) { if (O0 == O1) { return(true); } if (null == O0 || null == O1) { return(false); } return (O0.FilterAgentLevel == O1.FilterAgentLevel && O0.AktioonFüüreAusAktiiv == O1.AktioonFüüreAusAktiiv && O0.AktioonAcceptAktiiv == O1.AktioonAcceptAktiiv && O0.AktioonDeclineAktiiv == O1.AktioonDeclineAktiiv && O0.AktioonDeclineUnabhängigVonStandingLossAktiiv == O1.AktioonDeclineUnabhängigVonStandingLossAktiiv && O0.FilterMissionTitelRegexPattern == O1.FilterMissionTitelRegexPattern); }
public SictKonfigMissionZuMissionFilterVerhalte ZuMissionOfferVerhalteBerecne( string MissionTitel, SictFactionSictEnum[] MissionMengeFaction, int?AgentLevel, int?SecurityLevelMiliMinimum) { var MengeMissionFilterPasend = AusMengeZuMissionFilterVerhalteEnthalteTailmengeZuMissionUndAgent(MissionTitel, MissionMengeFaction, AgentLevel) .ToArrayNullable(); if (false) { // 2015.02.12 Filter Faction werd vorersct ignoriirt. /* * !!!! Temp: 2014.04.25 Zuusaz Bedingung Faction * */ if (MissionMengeFaction.IsNullOrEmpty()) { MengeMissionFilterPasend = null; } } var AktioonAcceptFraigaabe = this.AktioonAcceptFraigaabe ?? false; var AktioonDeclineFraigaabe = this.AktioonDeclineFraigaabe ?? false; var AktioonDeclineUnabhängigVonStandingLossFraigaabe = this.AktioonDeclineUnabhängigVonStandingLossFraigaabe ?? false; var AktioonDeclineAlsSctandardFürSonstigeFraigaabe = this.AktioonDeclineAlsSctandardFürSonstigeFraigaabe ?? false; var AktioonAcceptFraigaabeFürAgentLevel = AgentLevel.HasValue ? this.AktioonAcceptFraigaabeFürAgentLevel(AgentLevel.Value) : false; bool VerhalteSctandardDecline = false; if (AktioonDeclineAlsSctandardFürSonstigeFraigaabe && AktioonDeclineFraigaabe && (AgentLevel.HasValue && AktioonAcceptFraigaabeFürAgentLevel) || MengeMissionFilterPasend.IsNullOrEmpty()) { VerhalteSctandardDecline = true; } SictKonfigMissionZuMissionFilterVerhalte VerhalteSctandard = null; if (VerhalteSctandardDecline) { VerhalteSctandard = new SictKonfigMissionZuMissionFilterVerhalte(null, null); VerhalteSctandard.AktioonDeclineAktiiv = true; VerhalteSctandard.AktioonDeclineUnabhängigVonStandingLossAktiiv = AktioonDeclineUnabhängigVonStandingLossFraigaabe; } if (null == MengeMissionFilterPasend) { return(VerhalteSctandard); } // Scpezielere Filter sole hööher priorisiirt were. var MengeMissionFilterPasendOrdnet = MengeMissionFilterPasend .OrderBy((ZuMissionFilterVerhalte) => SictAgentLevelOderAnySictEnum.Any == ZuMissionFilterVerhalte.FilterAgentLevel) .ToArray(); var ZuMissionFilterVerhaltePrioHööcste = MengeMissionFilterPasendOrdnet.FirstOrDefault(); if (null == ZuMissionFilterVerhaltePrioHööcste) { return(VerhalteSctandard); } var ZuMissionFilterVerhalteAbbild = ZuMissionFilterVerhaltePrioHööcste.Kopii(); if (!(500 <= SecurityLevelMiliMinimum)) { // Mission Offer naac Low Sec werde nit Ausgefüürt oder accepted. ZuMissionFilterVerhalteAbbild.AktioonFüüreAusAktiiv = false; ZuMissionFilterVerhalteAbbild.AktioonAcceptAktiiv = false; } if (AgentLevel.HasValue) { if (!AktioonAcceptFraigaabeFürAgentLevel) { ZuMissionFilterVerhalteAbbild.AktioonAcceptAktiiv = false; } if (!AktioonFüüreAusFraigaabeFürAgentLevel(AgentLevel.Value)) { ZuMissionFilterVerhalteAbbild.AktioonFüüreAusAktiiv = false; } } else { /* * 2015.01.11 * Änderung: Msn kan jezt auc vor AgentEntry erfast werde, daher AgentLevel nit sofort bekant. * * ZuMissionFilterVerhalteAbbild.AktioonAcceptAktiiv = false; * ZuMissionFilterVerhalteAbbild.AktioonFüüreAusAktiiv = false; * */ } if (!(true == ZuMissionFilterVerhalteAbbild.AktioonAcceptAktiiv) && VerhalteSctandardDecline) { ZuMissionFilterVerhalteAbbild.AktioonDeclineAktiiv = true; } if (!AktioonAcceptFraigaabe) { ZuMissionFilterVerhalteAbbild.AktioonAcceptAktiiv = false; } if (!AktioonDeclineFraigaabe) { ZuMissionFilterVerhalteAbbild.AktioonDeclineAktiiv = false; } if (!ZuMissionFilterVerhalteAbbild.AktioonDeclineUnabhängigVonStandingLossAktiiv.HasValue) { ZuMissionFilterVerhalteAbbild.AktioonDeclineUnabhängigVonStandingLossAktiiv = AktioonDeclineUnabhängigVonStandingLossFraigaabe; } return(ZuMissionFilterVerhalteAbbild); }