void ManageAssignedMaterials() { var assignedMaterialAlreadyExists = AssignedMaterials.Contains(SelectedMaterialFromCache); if (!assignedMaterialAlreadyExists) { AssignedMaterials.Add(SelectedMaterialFromCache); Materials.Remove(SelectedMaterialFromCache); } AssignedMaterials = new ObservableCollection <Material>(AssignedMaterials.OrderByDescending(m => m.MarkupPrice)); Materials = new ObservableCollection <Material>(Materials.OrderBy(m => m.Name)); }
void OnRemove(object obj) { AssignedMaterials.Remove(SelectedAssignedMaterial); AssignedMaterials = new ObservableCollection <Material>(AssignedMaterials.OrderByDescending(m => m.MarkupPrice)); Materials.Add(SelectedAssignedMaterial); Materials = new ObservableCollection <Material>(Materials.OrderBy(m => m.Name)); SelectedMaterialFromCache = SelectedAssignedMaterial; var materialToRemove = Service.Materials.SingleOrDefault(m => SelectedAssignedMaterial == m); Service.Materials.Remove(materialToRemove); SelectedAssignedMaterial = AssignedMaterials.FirstOrDefault(); IsDirty = true; UpdateState(); }