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); } }
public async Task <User> UpdateUser(User user) { if (!Guid.TryParse(user.Id, out Guid guid)) { throw new BusinessException($"User with id='{user.Id}' could not be updated"); } UserEntity dbUser = await documentDbDependencyClient.GetUser(user.Id); if (dbUser == null) { throw new BusinessException(string.Format($"User with id='{user.Id}' could not be found")); } dbUser.Name = user.Name; await documentDbDependencyClient.UpdateUser(dbUser); return(new User { Id = dbUser.Id, Name = dbUser.Name, Processed = dbUser.Processed }); }