public void TestRemovePlayers() { LMTeam t = LMTeam.DefaultTemplate(15); t.FormationStr = "1-2-3-4"; /* Removing a player from the starting list must be swapped * with the first player in the bench to keep the same lineup */ t.RemovePlayers(new List <LMPlayer> { t.Players [0] }, false); Assert.AreEqual(15, t.Players.Count); Assert.AreEqual(11, t.Players [0].Number); Assert.AreEqual(2, t.Players [1].Number); Assert.AreEqual(1, t.Players [14].Number); t.RemovePlayers(new List <LMPlayer> { t.Players [0] }, true); Assert.AreEqual(14, t.Players.Count); Assert.AreEqual(12, t.Players [0].Number); t.RemovePlayers(new List <LMPlayer> { new LMPlayer() }, true); Assert.AreEqual(14, t.Players.Count); t.RemovePlayers(new List <LMPlayer> { new LMPlayer(), t.Players [12] }, true); Assert.AreEqual(13, t.Players.Count); }
void HandleShowMenuEvent(List <LMPlayer> players) { Menu menu = new Menu(); MenuItem item; if (players.Count > 0) { item = new MenuItem("Remove for this match"); item.Activated += (sender, e) => { //FIXME: this logic should be handled in a Controller (NewProjectController?) // When this View is Ported fully to MVVM hometemplate.RemovePlayers(players, false); awaytemplate.RemovePlayers(players, false); App.Current.EventsBroker.Publish(new UpdateLineup()); }; } else { item = new MenuItem("Reset players"); item.Activated += (sender, e) => { //FIXME: this logic should be handled in a Controller (NewProjectController?) // When this View is Ported fully to MVVM hometemplate.ResetPlayers(); awaytemplate.ResetPlayers(); App.Current.EventsBroker.Publish(new UpdateLineup()); }; } menu.Add(item); menu.ShowAll(); menu.Popup(); }