private async void SubmitCommandExecuted() { var OriginalResources = new ObservableCollection <GolfModel>(Golf.Golf.GolfFollowResources.Select(x => new GolfModel(AvailableGolfResources.Where(p => p.Golf.ID == x.FollowResourceID).FirstOrDefault().Golf))); var DeletedObjects = OriginalResources.ToList().Except(GolfFollowResources.ToList(), new GolfFollowResourcesComparer()).ToList(); var AddedObjects = GolfFollowResources.ToList().Except(OriginalResources.ToList(), new GolfFollowResourcesComparer()).ToList(); var OrginalFollowGolfResources = await _adminDataUnit.GolfFollowResourceRepository.GetAllAsync(x => x.GolfID == Golf.Golf.ID); DeletedObjects.ForEach(deletedResources => { _adminDataUnit.GolfFollowResourceRepository.Delete(OrginalFollowGolfResources.Where(p => p.FollowResourceID == deletedResources.Golf.ID).FirstOrDefault()); }); AddedObjects.ForEach(addedObject => { var obj = new GolfFollowResource() { ID = Guid.NewGuid(), GolfID = Golf.Golf.ID, FollowResourceID = addedObject.Golf.ID }; _adminDataUnit.GolfFollowResourceRepository.Add(obj); }); //await _adminDataUnit.SaveChanges(); }
private void EditFollowResourceCommandExecuted() { Guid?turnDefaultId = new Guid(); if (Golf.Golf.TurnDefault != null) { turnDefaultId = Golf.Golf.TurnDefault; } RaisePropertyChanged("DisableParentWindow"); var window = new GolfFollowResource(Golf); window.ShowDialog(); RaisePropertyChanged("EnableParentWindow"); if (window.DialogResult != null && window.DialogResult == true) { Golf.AvailableGolfs = window.ViewModel.GolfFollowResources; } Golf.Refresh(); if (turnDefaultId != null) { SetGolfTurnDefault(Golf, turnDefaultId, window.ViewModel.AvailableGolfResources); } RaisePropertyChanged(() => IsGolfFollowResourcesAvailable); }