public async Task <IHttpActionResult> EmailAvailable(string email) { if (string.IsNullOrWhiteSpace(email)) { throw new ArgumentException($"{nameof(email)} is null or empty"); } var existingUser = await _userService.GetUserAsync(email); return(Ok(existingUser == null && !_workflowUserActivityService.IsUserBeingCreated(email))); }
public async Task Consume(ConsumeContext <ICreateUserCommand> context) { if (string.IsNullOrWhiteSpace(context.Message.Email)) { throw new ArgumentException(nameof(context.Message.Email)); } var existingUser = await _userService.GetUserAsync(context.Message.Email); if (existingUser != null) { throw new Exception("User already exists"); } if (_workflowUserActivityService.IsUserBeingCreated(context.Message.Email)) { throw new Exception("Create user already started"); } await _createUserWorkflowBuilder.Execute(context); }