private void btnAddParticipant_Click(object sender, RoutedEventArgs e) { Participant participant = new Participant(); _dm.GetParticipants().Add(participant); ParticipantEdit item = _editParticipants.FirstOrDefault(p => p.Participant == participant); dgParticipants.SelectedItem = item; }
private void txtSearch_TextChanged(object sender, TextChangedEventArgs e) { Application.Current.Dispatcher.Invoke(() => { if (_viewParticipantsFilterHandler != null) { _viewParticipants.Filter -= _viewParticipantsFilterHandler; } string sFilter = txtSearch.Text; _viewParticipantsFilterHandler = null; if (!string.IsNullOrEmpty(sFilter)) { _viewParticipantsFilterHandler = new FilterEventHandler(delegate(object s, FilterEventArgs ea) { bool contains(string bigString, string part) { if (string.IsNullOrEmpty(bigString)) { return(false); } return(System.Threading.Thread.CurrentThread.CurrentCulture.CompareInfo.IndexOf(bigString, part, CompareOptions.IgnoreCase) >= 0); } ParticipantEdit p = (ParticipantEdit)ea.Item; ea.Accepted = contains(p.Name, sFilter) || contains(p.Firstname, sFilter) || contains(p.Club, sFilter) || contains(p.Nation, sFilter) || contains(p.Year.ToString(), sFilter) || contains(p.Code, sFilter) || contains(p.SvId, sFilter) || contains(p.Class?.ToString(), sFilter) || contains(p.Group?.ToString(), sFilter); }); } if (_viewParticipantsFilterHandler != null) { _viewParticipants.Filter += _viewParticipantsFilterHandler; } _viewParticipants.View.Refresh(); }); }
private void btnDeleteParticipant_Click(object sender, RoutedEventArgs e) { ParticipantEdit[] selectedItems = new ParticipantEdit[dgParticipants.SelectedItems.Count]; dgParticipants.SelectedItems.CopyTo(selectedItems, 0); if (selectedItems.Length > 0) { string szQuestion = string.Format("Sollen die markierten {0} Teilnehmer gelöscht werden?", selectedItems.Length); if (MessageBox.Show(szQuestion, "Teilnehmer löschen?", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No) == MessageBoxResult.Yes) { foreach (var item in selectedItems) { if (item is ParticipantEdit pe) { Participant participant = pe.Participant; _dm.GetParticipants().Remove(participant); } } } } }