Exemple #1
0
        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;
            });
        }
Exemple #2
0
 public ItemEditorViewModel(IItemEditorModel model) : this(model, null)
 {
 }