예제 #1
0
        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();
        }
예제 #2
0
        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);
        }