Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
        }