public ItemEditorViewModel(IItemEditorModel model, XElement item) { Model = model; if (item == null) { Item = Model.GetDefault(); } else { Item = Model.GetEdit(item); } OKCommand = new DelegateCommand((_) => { if (item == null) { XElement element = Model.Create(Item, out string errorMessage); if (element != null) { // set primary key foreach (XElement xValue in element.Elements()) { Item.SetElementValue(xValue.Name, xValue.Value); } DialogResult = true; } else { ShowMessage(errorMessage); } } else { if (Model.Update(Item, out string errorMessage)) { DialogResult = true; } else { ShowMessage(errorMessage); } } }); CancelCommand = new DelegateCommand((_) => { DialogResult = false; }); }
public ItemEditorViewModel(IItemEditorModel model) : this(model, null) { }