private void RemoveCompositions() { foreach (var child in Compositions.Where(x => x.IsChecked).ToList()) { child.IsChecked = false; if (child.State == ItemState.Added) { Compositions.Remove(child); } else { child.State = ItemState.Removed; } } CompositionsView.Refresh(); CheckItem(); }
private void Save() { var removed = Compositions.Where(x => x.State == ItemState.Removed).ToList(); removed.ForEach(x => Compositions.Remove(x)); var added = Compositions.Where(x => x.State == ItemState.Added).ToList(); added.ForEach(x => x.State = ItemState.Unchanged); var updated = Compositions.Where(x => x.State == ItemState.Updated).ToList(); updated.ForEach(x => x.State = ItemState.Unchanged); _providerFactory.CompositionsProvider.RemoveCompositions(removed); _providerFactory.CompositionsProvider.AddCompositions(added); _providerFactory.CompositionsProvider.UpdateCompositions(updated); _providerFactory.CompositionsProvider.SaveChanges(); CheckItem(); }