예제 #1
0
            public async Task Handle(RemoveEntryCommand message)
            {
                if (!_database.IsOpen)
                {
                    throw new DatabaseClosedException();
                }

                await _database.RemoveEntry(message.ParentGroupId, message.EntryId);
            }
예제 #2
0
            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);
            }