private void btnRemove_Click(object sender, RoutedEventArgs e)
        {
            var items = dgStartList.SelectedItems.OfType <AssignedStartNumber>().ToList();

            foreach (var i in items)
            {
                _snaWorkspace.Delete(i.StartNumber);
            }
        }
示例#2
0
        public void StartNumberAssignment_Manual_Test()
        {
            string dbFilename = TestUtilities.CreateWorkingFileFrom(testContextInstance.TestDeploymentDir, @"TestDB_LessParticipants_MultipleRacesNoStartnumber.mdb");

            RaceHorologyLib.Database db = new RaceHorologyLib.Database();
            db.Connect(dbFilename);

            AppDataModel model = new AppDataModel(db);
            var          rps   = model.GetRace(0).GetParticipants().ToList();


            StartNumberAssignment sna = new StartNumberAssignment();

            uint sn = sna.AssignNextFree(rps[0]);

            Assert.AreEqual(1U, sn);
            Assert.AreEqual(rps[0], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 1).Participant);

            sn = sna.AssignNextFree(rps[1]);
            Assert.AreEqual(2U, sn);
            Assert.AreEqual(rps[1], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 2).Participant);

            sna.Assign(4U, rps[2]);
            Assert.AreEqual(rps[2], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 4).Participant);

            sn = sna.AssignNextFree(rps[3]);
            Assert.AreEqual(5U, sn);
            Assert.AreEqual(rps[3], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 5).Participant);

            sna.InsertAndShift(2U);
            Assert.AreEqual(rps[0], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 1).Participant);
            Assert.AreEqual(null, sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 2).Participant);
            Assert.AreEqual(rps[1], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 3).Participant);
            Assert.AreEqual(null, sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 4).Participant);
            Assert.AreEqual(rps[2], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 5).Participant);
            Assert.AreEqual(rps[3], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 6).Participant);

            sna.Assign(1U, null);
            Assert.AreEqual(null, sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 1).Participant);
            Assert.AreEqual(null, sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 2).Participant);
            Assert.AreEqual(rps[1], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 3).Participant);
            Assert.AreEqual(null, sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 4).Participant);
            Assert.AreEqual(rps[2], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 5).Participant);
            Assert.AreEqual(rps[3], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 6).Participant);

            sna.Delete(1U);
            Assert.AreEqual(null, sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 1).Participant);
            Assert.AreEqual(rps[1], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 2).Participant);
            Assert.AreEqual(null, sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 3).Participant);
            Assert.AreEqual(rps[2], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 4).Participant);
            Assert.AreEqual(rps[3], sna.ParticipantList.FirstOrDefault(v => v?.StartNumber == 5).Participant);
        }