/// <summary> /// Removes the specified value from the set of selected values. /// /// Removes the relevant node from the list of added nodes and adds it to the list of possible values. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void TeammateRemoved(object sender, TeammateControlClickedEventArgs e) { var selectedTeammateId = e.SelectedValue.Teammate.Id; var teammate = _allTeammates.Where(x => x.Id == selectedTeammateId).FirstOrDefault(); if (teammate == null) { return; } teammate.IsAddedToTeam = false; _teammatesSideScrollControl.AddPossibleTeammate(teammate); _teammatesHorizontalContainer.RemoveChild(e.SelectedValue); RemoveSelectedValueFromComponent(selectedTeammateId); }
/// <summary> /// If the set of selected values is not full, adds the specified value to the set of selected values, /// removes the relevant node from possible values and adds it to the added nodes. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void TeammateAdded(object sender, TeammateControlClickedEventArgs e) { if (SelectedValue.Count >= Constants.TEAMMATES_ADDED_COUNT) { return; } var selectedTeammateId = e.SelectedValue.Teammate.Id; var teammate = _allTeammates.Where(x => x.Id == selectedTeammateId).FirstOrDefault(); if (teammate == null) { return; } teammate.IsAddedToTeam = true; _teammatesSideScrollControl.RemovePossibleTeammate(teammate); var node = CreateTeammateNodeFromTeammate(teammate); node.Clicked += TeammateRemoved; _teammatesHorizontalContainer.AddChild(node); AddSelectedValueToComponent(selectedTeammateId); }