public MitarbeiterManager() { _serializationService = new SerializationService(); var mitarbeiters = _serializationService.ReadMitarbeiterListe() ?? new List <Common.Entities.Mitarbeiter>(); MitarbeiterCollection = new ObservableCollection <MitarbeiterViewmodel>(mitarbeiters.Select(x => x.MapMitarbeiterToViewmodel())); MitarbeiterView = CollectionViewSource.GetDefaultView(MitarbeiterCollection); MitarbeiterView.SortDescriptions.Add(new SortDescription("DefaultGruppe", ListSortDirection.Ascending)); MitarbeiterView.SortDescriptions.Add(new SortDescription("IsHelfer", ListSortDirection.Ascending)); MitarbeiterView.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending)); _lazyCreateMitarbeiterCommand = new Lazy <DelegateCommand>(() => new DelegateCommand(CreateMitarbeiterCommandExecute, CanCreateMitarbeiterCommandExecute)); _lazySaveMitarbeiterCommand = new Lazy <DelegateCommand>(() => new DelegateCommand(SaveMitarbeiterCommandExecute, CanSaveMitarbeiterCommandExecute)); _lazyDeleteMitarbeiterCommand = new Lazy <DelegateCommand>(() => new DelegateCommand(DeleteMitarbeiterCommandExecute, CanDeleteMitarbeiterCommandExecute)); }
private void CreatePlanungswocheCommandExecute() { if (!CanCreatePlanungswocheCommandExecute()) { return; } var am = new ArbeitswochenService(); var aw = am.CreateArbeitswoche(Jahr, KalenderWoche); var ms = new SerializationService(); aw.Mitarbeiter = new List <Common.Entities.Mitarbeiter>(ms.ReadMitarbeiterListe()); var vm = aw.MapArbeitswocheToViewmodel(); ArbeitswochenCollection.Add(vm); SelectedArbeitswoche = vm; ArbeitswocheVorschau.Refresh(); }
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); }