BuildIt.Bot.Client.DirectLinkApi.Services.DirectLineApiService.StartNewConversation C# (CSharp) Method

StartNewConversation() private method

private StartNewConversation ( ) : Task
return Task
        private async Task<string> StartNewConversation()
        {
            var newConvoTokenResponse = await masterClient.Tokens.GenerateTokenForNewConversationWithOperationResponseAsync();
            if (!string.IsNullOrWhiteSpace(newConvoTokenResponse?.Body))
            {
                ConversationClient = new DirectLinkApiClient(new TokenCredentials(newConvoTokenResponse.Body, TenantId), new LoggingHttpHandler());
                var newConvoResponse = await ConversationClient.Conversations.NewConversationWithOperationResponseAsync();
                if (!string.IsNullOrWhiteSpace(newConvoResponse?.Body?.ConversationId))
                {
                    conversationToken = newConvoResponse.Body.Token;
                    convoTokenExpirationDate = DateTimeOffset.UtcNow.AddMinutes(Utilities.Constants.ConvoTokenExpirationTimeInMinutes);

                    return newConvoResponse.Body.ConversationId;
                }
                else
                {
                    //TODO handle new conversation creation failure
                }
            }
            else
            {
                //TODO handle generation of new conversation token failure
            }

            return null;
        }