public void ReportChange() { _parent.ReportChange(); Notify("HasChanges"); AddDocumentCommand.RaiseCanExecuteChanged(); RemoveDocumentsCommand.RaiseCanExecuteChanged(); }
protected override bool ChangeAndNotify <T>(T value, ref T field, [CallerMemberName] string propertyName = null) { // Note: we should extract this into a superclass ChangeTrackingViewModel if needed for further entities var hasChanged = base.ChangeAndNotify(value, ref field, propertyName); if (hasChanged) { if (propertyName != "HasChanges" && propertyName != "Id") // Id will never be set from UI and should never trigger the change tracking { HasChanges = true; } _parent?.ReportChange(); } return(hasChanged); }