using System; using System.Collections.Generic; using System.Diagnostics; using System.ComponentModel; using Avalonia.Controls; using Avalonia.Controls.ApplicationLifetimes; namespace PortfolioManager.ViewModels { public abstract class ViewModelBase : ModelBase, IDisposable, IPersistentViewModel { protected ViewModelBase() { } public abstract SaveParameters GetSaveParameters(); public abstract void SetSaveParameters(SaveParameters saveParameters); public abstract bool CanPersist(); public virtual void Dispose() { this.OnDispose(); } protected virtual void OnDispose() { } #if DEBUG ~ViewModelBase() { } #endif } }