using System.Collections.Generic; using System.Threading.Tasks; using System.Windows.Input; using ModernKeePass.ViewModels; namespace ModernKeePass.Interfaces { public interface IVmEntity { GroupVm ParentGroup { get; } GroupVm PreviousGroup { get; } int IconId { get; } string Id { get; } string Name { get; set; } IEnumerable BreadCrumb { get; } bool IsEditMode { get; } bool IsRecycleOnDelete { get; } /// /// Save changes to Model /// ICommand SaveCommand { get; } /// /// Restore ViewModel /// ICommand UndoDeleteCommand { get; } /// /// Move a entity to the destination group /// /// The destination to move the entity to void Move(GroupVm destination); /// /// Delete from Model /// Task CommitDelete(); /// /// Delete from ViewModel /// Task MarkForDelete(string recycleBinTitle); } }