protected override void CancelEditing() { if (editableObject != null) { editableObject.CancelEdit(); } else if (Equals(_oldObject, default(TDetailViewModel))) { Object = default(TDetailViewModel); HandleListViewRowChanged(_lastRowID); } else { if (_oldObject.ID == _lastRowID) { Object = _oldObject; } else { Object = default(TDetailViewModel); HandleListViewRowChanged(_lastRowID); } } _oldObject = default(TDetailViewModel); editableObject = null; EditMode = EditMode.ReadOnly; }
public ContentPageViewModel() { Contact = new EditableAdapter <Contact>(new Contact { Name = "Rich", Irrelevant = 49, Sensible = false }); OkCommand = new DelegateCommand(EndEdit); CancelCommand = new DelegateCommand(() => Contact.CancelEdit()); }
protected override void Save() { if (!Validate()) { return; } IsObjectLoading = true; if (Object.ID == 0) { IObservable <T> addObs = Observable.FromAsync(() => Service.Add(Mapper.Map <TDetailViewModel, T>(Object))); addObs.Select((o) => Mapper.Map <TDetailViewModel>(o)).Subscribe((res) => { Object = res; OnAdd(); EditMode = EditMode.ReadOnly; IsObjectLoading = false; }, (e) => { ShowMessageBox("Error occured while adding data.", "Error", System.Windows.MessageBoxButton.OK); IsObjectLoading = false; }); } else { IObservable <T> updateObs = Observable.FromAsync(() => Service.Update(Mapper.Map <TDetailViewModel, T>(Object))); updateObs.Subscribe((res) => { editableObject.EndEdit(); editableObject = null; Object = Mapper.Map <TDetailViewModel>(res); OnSave(); EditMode = EditMode.ReadOnly; IsObjectLoading = false; }, (e) => { ShowMessageBox("Error occured while saving data.", "Error", System.Windows.MessageBoxButton.OK); IsObjectLoading = false; }); } }
protected override void Edit() { editableObject = new EditableAdapter <TDetailViewModel>(Object); editableObject.BeginEdit(); EditMode = EditMode.Editable; }
public EntityViewModelBase() { editableAdapter = new EditableAdapter <T>(this as T); }