private CommandAddResult Add(HandledCommand handledCommand) { if (_handledCommandDict.TryAdd(handledCommand.CommandId, handledCommand)) { return CommandAddResult.Success; } return CommandAddResult.DuplicateCommand; }
public Task<AsyncTaskResult<CommandAddResult>> AddAsync(HandledCommand handledCommand) { if (_currentFailedCount < _expectAddFailedCount) { _currentFailedCount++; if (_failedType == FailedType.UnKnownException) { throw new Exception("AddCommandAsyncUnKnownException" + _currentFailedCount); } else if (_failedType == FailedType.IOException) { throw new IOException("AddCommandAsyncIOException" + _currentFailedCount); } else if (_failedType == FailedType.TaskIOException) { return Task.FromResult(new AsyncTaskResult<CommandAddResult>(AsyncTaskStatus.Failed, "AddCommandAsyncError" + _currentFailedCount)); } } return Task.FromResult(new AsyncTaskResult<CommandAddResult>(AsyncTaskStatus.Success, null, Add(handledCommand))); }