protected override async Task <bool> TryProcessAggregationGroup(IEnumerable <CreateUser3> messages, CreateUserGroup group, CancellationToken cancellationToken) { int i = 0; foreach (var message in messages) { var newUser = _mapper.Map <CreateUser, Dom.CreateUser>(message); newUser.Surname = $"{newUser.Surname}-{i++}"; var result = await _covidApiHelper.Users.CreateUserAsync(newUser); if (!result.Success) { _logger.Error($"Failed to create user '{message.Firstname} {message.Surname}'"); return(false); } var userId = result.Result; var createdUserResult = await _covidApiHelper.Users.GetUserByIdAsync(userId); if (!createdUserResult.Success) { _logger.Error($"Failed to retrieve user with id '{userId}'"); return(false); } _logger.Info($"Successfully created user with id '{userId}', publishing message"); _messagePublisher.PublishUserMessage(_mapper.Map <Dom.User, User>(createdUserResult.Result)); } return(true); }
protected override async Task ProcessMessageAsync(CreateUser message, ulong deliveryTag, CancellationToken cancellationToken, string routingKey = null) { var newUser = _mapper.Map <CreateUser, Dom.CreateUser>(message); var result = await _covidApiHelper.Users.CreateUserAsync(newUser); if (!result.Success) { _logger.Error($"Failed to create user '{message.Firstname} {message.Surname}'"); return; } var userId = result.Result; var createdUserResult = await _covidApiHelper.Users.GetUserByIdAsync(userId); if (!createdUserResult.Success) { _logger.Error($"Failed to retrieve user with id '{userId}'"); return; } _logger.Info($"Successfully created user with id '{userId}', publishing message"); _messagePublisher.PublishUserMessage(_mapper.Map <Dom.User, User>(createdUserResult.Result)); }