private void CmbTemplate_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (cmbTemplate.SelectedValue is CBItem selected)
            {
                if (selected.Value is string configName)
                {
                    RaceConfiguration config      = _raceConfigurationPresets.GetConfiguration(configName);
                    RaceConfiguration configToSet = RaceConfigurationMerger.MainConfig(_raceConfiguration, config);

                    ResetConfigurationSelectionUI(configToSet);
                }
            }
        }
Example #2
0
        public void GlobalRaceConfig_DSVAlpinExport()
        {
            RaceConfigurationPresets cfgPresets = new RaceConfigurationPresets("raceconfigpresets");

            string   dbFilename = TestUtilities.CreateWorkingFileFrom(testContextInstance.TestDeploymentDir, @"TestDB_Empty.mdb");
            Database db         = new Database();

            db.Connect(dbFilename);
            AppDataModel model = new AppDataModel(db);

            RaceConfiguration config;

            config = cfgPresets.GetConfiguration("DSV Erwachsene");
            Assert.AreEqual(CompetitionProperties.ECompetitionType.DSV_Points, config.InternalDSVAlpinCompetitionTypeWrite);
            model.GlobalRaceConfig = config;
            Assert.AreEqual(CompetitionProperties.ECompetitionType.DSV_Points, db.GetCompetitionProperties().Type);

            config = cfgPresets.GetConfiguration("DSV Schüler U14-U16");
            Assert.AreEqual(CompetitionProperties.ECompetitionType.DSV_SchoolPoints, config.InternalDSVAlpinCompetitionTypeWrite);
            model.GlobalRaceConfig = config;
            Assert.AreEqual(CompetitionProperties.ECompetitionType.DSV_SchoolPoints, db.GetCompetitionProperties().Type);

            config = cfgPresets.GetConfiguration("FIS Rennen Men");
            Assert.AreEqual(CompetitionProperties.ECompetitionType.FIS_Men, config.InternalDSVAlpinCompetitionTypeWrite);
            model.GlobalRaceConfig = config;
            Assert.AreEqual(CompetitionProperties.ECompetitionType.FIS_Men, db.GetCompetitionProperties().Type);

            config = cfgPresets.GetConfiguration("FIS Rennen Women");
            Assert.AreEqual(CompetitionProperties.ECompetitionType.FIS_Women, config.InternalDSVAlpinCompetitionTypeWrite);
            model.GlobalRaceConfig = config;
            Assert.AreEqual(CompetitionProperties.ECompetitionType.FIS_Women, db.GetCompetitionProperties().Type);

            config = cfgPresets.GetConfiguration("Inline (allgemein)");
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_Sum, config.InternalDSVAlpinCompetitionTypeWrite);
            model.GlobalRaceConfig = config;
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_Sum, db.GetCompetitionProperties().Type);

            config = cfgPresets.GetConfiguration("Inline (Punkte)");
            Assert.AreEqual(CompetitionProperties.ECompetitionType.DSV_Points, config.InternalDSVAlpinCompetitionTypeWrite);
            model.GlobalRaceConfig = config;
            Assert.AreEqual(CompetitionProperties.ECompetitionType.DSV_Points, db.GetCompetitionProperties().Type);

            config = cfgPresets.GetConfiguration("KSC Ebersberg -U12");
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_BestRun, config.InternalDSVAlpinCompetitionTypeWrite);
            model.GlobalRaceConfig = config;
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_BestRun, db.GetCompetitionProperties().Type);

            config = cfgPresets.GetConfiguration("KSC Ebersberg U14-");
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_Sum, config.InternalDSVAlpinCompetitionTypeWrite);
            model.GlobalRaceConfig = config;
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_Sum, db.GetCompetitionProperties().Type);

            config = cfgPresets.GetConfiguration("SVM Schüler U12");
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_Sum, config.InternalDSVAlpinCompetitionTypeWrite);
            model.GlobalRaceConfig = config;
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_Sum, db.GetCompetitionProperties().Type);

            config = cfgPresets.GetConfiguration("SVM Schüler U8-U10");
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_BestRun, config.InternalDSVAlpinCompetitionTypeWrite);
            model.GlobalRaceConfig = config;
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_BestRun, db.GetCompetitionProperties().Type);

            config = cfgPresets.GetConfiguration("Vereinsrennen - BestOfTwo");
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_BestRun, config.InternalDSVAlpinCompetitionTypeWrite);
            model.GlobalRaceConfig = config;
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_BestRun, db.GetCompetitionProperties().Type);

            config = cfgPresets.GetConfiguration("Vereinsrennen - Summe");
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_Sum, config.InternalDSVAlpinCompetitionTypeWrite);
            model.GlobalRaceConfig = config;
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_Sum, db.GetCompetitionProperties().Type);


            config = cfgPresets.GetConfiguration("Vereinsrennen - Summe");
            Assert.AreEqual(CompetitionProperties.ECompetitionType.ClubInternal_Sum, config.InternalDSVAlpinCompetitionTypeWrite);

            config.ActiveFields    = new List <string>();
            model.GlobalRaceConfig = config;
            Assert.IsFalse(db.GetCompetitionProperties().WithPoints);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveClub);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveCode);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveYear);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveNation);

            config.ActiveFields = new List <string> {
                "Points"
            };
            model.GlobalRaceConfig = config;
            Assert.IsTrue(db.GetCompetitionProperties().WithPoints);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveClub);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveCode);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveYear);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveNation);

            config.ActiveFields = new List <string> {
                "Club"
            };
            model.GlobalRaceConfig = config;
            Assert.IsFalse(db.GetCompetitionProperties().WithPoints);
            Assert.IsTrue(db.GetCompetitionProperties().FieldActiveClub);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveCode);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveYear);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveNation);

            config.ActiveFields = new List <string> {
                "Code"
            };
            model.GlobalRaceConfig = config;
            Assert.IsFalse(db.GetCompetitionProperties().WithPoints);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveClub);
            Assert.IsTrue(db.GetCompetitionProperties().FieldActiveCode);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveYear);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveNation);

            config.ActiveFields = new List <string> {
                "Year"
            };
            model.GlobalRaceConfig = config;
            Assert.IsFalse(db.GetCompetitionProperties().WithPoints);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveClub);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveCode);
            Assert.IsTrue(db.GetCompetitionProperties().FieldActiveYear);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveNation);

            config.ActiveFields = new List <string> {
                "Nation"
            };
            model.GlobalRaceConfig = config;
            Assert.IsFalse(db.GetCompetitionProperties().WithPoints);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveClub);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveCode);
            Assert.IsFalse(db.GetCompetitionProperties().FieldActiveYear);
            Assert.IsTrue(db.GetCompetitionProperties().FieldActiveNation);

            config.ActiveFields = new List <string> {
                "Year", "Nation", "Code", "Points", "Club"
            };
            model.GlobalRaceConfig = config;
            Assert.IsTrue(db.GetCompetitionProperties().WithPoints);
            Assert.IsTrue(db.GetCompetitionProperties().FieldActiveClub);
            Assert.IsTrue(db.GetCompetitionProperties().FieldActiveCode);
            Assert.IsTrue(db.GetCompetitionProperties().FieldActiveYear);
            Assert.IsTrue(db.GetCompetitionProperties().FieldActiveNation);
        }