Exemple #1
0
        private async Task <QueueItemProcessResult> ProcessMessagesAsync(QueueRequest request, IServiceBusClient sbSender, CancellationToken token)
        {
            try
            {
                // update user
                UserEntity dbUser = await adapterDocumentDbDependencyClient.GetUser(request.Id);

                dbUser.Processed = true;
                await adapterDocumentDbDependencyClient.UpdateUser(dbUser);

                await sbSenderClient.SendAsync(request);

                return(QueueItemProcessResult.Complete);
            }
            catch (Exception ex)
            {
                LoggingContext.CreateLogger <ServiceBusDependencyReceiver>()
                .LogError(
                    ex,
                    "{queue} item processing unhandled exception for type={type}, id={messageId}",
                    sbReceiverClient.QueueName,
                    request.GetType().Name,
                    request.Id);
                return(QueueItemProcessResult.Retry);
            }
        }
Exemple #2
0
        public async Task <User> GetUser(string id)
        {
            if (!Guid.TryParse(id, out Guid guid))
            {
                UserResponse user = await httpDependencyClient.GetUser(id);

                return(new User
                {
                    Id = user.Id,
                    Name = user.Name
                });
            }
            else
            {
                UserEntity user = await documentDbDependencyClient.GetUser(id);

                return(new User
                {
                    Id = user.Id,
                    Name = user.Name,
                    Processed = user.Processed
                });
            }
        }