public void Save() { _craftingCondition.CraftingSubConditions.Clear(); foreach (var subcondition in SubconditionControls.Select(x => (SubconditionControlViewModel)x.ViewModel).Select(x => x.Save())) { _craftingCondition.CraftingSubConditions.Add(subcondition); } }
private int GetNextIndex() { if (!SubconditionControls.Any()) { return(1); } return(SubconditionControls.Select(x => (SubconditionControlViewModel)x.ViewModel).Max(x => x.Index) + 1); }
private int GetNextIndex() { if (!SubconditionControls.Any()) { return(1); } return(SubconditionControls.Max(x => x.Index) + 1); }
public void AddSubcondition() { var subcondition = new CraftingSubcondition(); var subconditionControl = new SubconditionControl(subcondition, _affixes, GetNextIndex(), _itemBase); subconditionControl.OnDeleteEvent += (x, y) => RemoveSubcondition(y.Control); _craftingCondition.CraftingSubConditions.Add(subcondition); SubconditionControls.Add(subconditionControl); SelectedSubcondition = subconditionControl; OnPropertyChanged(nameof(SelectedSubcondition)); OnPropertyChanged(nameof(SubconditionControls)); }
public void RemoveSubcondition(SubconditionControlViewModel model) { SubconditionControls.Remove(SubconditionControls.First(x => x.ViewModel == model)); _craftingCondition.CraftingSubConditions.Remove(model.SubCondition); SelectedSubcondition = null; if (SubconditionControls.Count == 0) { AddSubcondition(); } SelectedSubcondition = SubconditionControls[0]; OnPropertyChanged(nameof(SelectedSubcondition)); OnPropertyChanged(nameof(SubconditionControls)); }
public void RemoveSubcondition(SubconditionControl subcondition) { SubconditionControls.Remove(subcondition); _craftingCondition.CraftingSubConditions.Remove(subcondition.SubCondition); SelectedSubcondition = null; if (SubconditionControls.Count == 0) { AddSubcondition(); } SelectedSubcondition = SubconditionControls[0]; OnPropertyChanged(nameof(SelectedSubcondition)); OnPropertyChanged(nameof(SubconditionControls)); }