public async Task Handle(RemoveEntryCommand message) { if (!_database.IsOpen) { throw new DatabaseClosedException(); } await _database.RemoveEntry(message.ParentGroupId, message.EntryId); }
public async Task Handle(DeleteEntryCommand message) { if (!_database.IsOpen) { throw new DatabaseClosedException(); } if (_database.IsRecycleBinEnabled && (string.IsNullOrEmpty(_database.RecycleBinId) || _database.RecycleBinId.Equals(Constants.EmptyId))) { _database.CreateGroup(_database.RootGroupId, message.RecycleBinName, true); } if (!_database.IsRecycleBinEnabled || message.ParentGroupId.Equals(_database.RecycleBinId)) { _database.DeleteEntity(message.EntryId); } else { await _database.AddEntry(_database.RecycleBinId, message.EntryId); } await _database.RemoveEntry(message.ParentGroupId, message.EntryId); }