private void DeleteMitarbeiterCommandExecute() { if (!CanDeleteMitarbeiterCommandExecute()) { return; } var dlg = MessageBox.Show($"Wollen Sie den Mitarbeiter: {SelectedMitarbeiter.Name} wirklich löschen?", "Mitarbeiter löschen", MessageBoxButton.YesNo, MessageBoxImage.Question); if (dlg == MessageBoxResult.Yes) { MitarbeiterCollection.Remove(SelectedMitarbeiter); } }
private void CreateMitarbeiterCommandExecute() { if (!CanCreateMitarbeiterCommandExecute()) { return; } SelectedMitarbeiter = new MitarbeiterViewmodel() { Name = "" }; MitarbeiterCollection.Add(SelectedMitarbeiter); MitarbeiterView.Refresh(); FocusToBindingPath = "Name"; }
private async void SaveMitarbeiterCommandExecute() { if (!CanSaveMitarbeiterCommandExecute()) { return; } IsBusy = true; try { await Task.Run(() => _serializationService.WriteMitarbeiterListe(MitarbeiterCollection.Select(x => x.MapViewmodelToMitarbeiter()).ToList())); MitarbeiterView.Refresh(); } catch (Exception ex) { MessageBox.Show("Fehler beim Speichern der Daten. " + Environment.NewLine + ex.GetAllErrorMessages()); } finally { IsBusy = false; } }
public bool HasChanges() { var mitarbeiters = _serializationService.ReadMitarbeiterListe() ?? new List <Common.Entities.Mitarbeiter>(); var savedCollection = new ObservableCollection <MitarbeiterViewmodel>(mitarbeiters.Select(x => x.MapMitarbeiterToViewmodel())); if (savedCollection.Count != MitarbeiterCollection.Count) { return(true); } var savedOrdered = savedCollection.OrderBy(x => x.Name).ToList(); var checkOrdered = MitarbeiterCollection.OrderBy(x => x.Name).ToList(); for (int i = 0; i < savedOrdered.Count; i++) { var saved = savedOrdered[i]; var check = checkOrdered[i]; if (saved.Name != check.Name || saved.DefaultGruppe != check.DefaultGruppe || saved.WochenStunden != check.WochenStunden || saved.Wunschdienste != check.Wunschdienste || saved.DefaultThema != check.DefaultThema || saved.KindFreieZeit != check.KindFreieZeit) { return(true); } if (saved.NichtDaZeiten.Count != check.NichtDaZeiten.Count || saved.NichtDaZeiten.Intersect(check.NichtDaZeiten).Count() != saved.NichtDaZeiten.Count) { return(true); } } return(false); }