public static async Task GetUserAsync(ITurnContext turnContext, TokenResponse tokenResponse, string upn)
        {
            if (turnContext == null)
            {
                throw new ArgumentNullException(nameof(turnContext));
            }

            if (tokenResponse == null)
            {
                throw new ArgumentNullException(nameof(tokenResponse));
            }

            var client = new SimpleGraphClient(tokenResponse.Token);
            var user   = await client.GetUserAsync(upn);

            var fileRead = System.IO.File.ReadAllText(@".\Resources\GetUserCard.json");
            var item     = (JObject)JsonConvert.DeserializeObject(fileRead);

            string classData = JsonConvert.SerializeObject(user, Formatting.Indented);

            AdaptiveTransformer transformer = new AdaptiveTransformer();
            string cardJson = transformer.Transform(fileRead, classData);

            Attachment attachment = new Attachment();

            attachment.ContentType = "application/vnd.microsoft.card.adaptive";
            attachment.Content     = JsonConvert.DeserializeObject(cardJson);

            var attachments = new List <Attachment>();
            var reply       = MessageFactory.Attachment(attachments);

            reply.Attachments.Add(attachment);

            await turnContext.SendActivityAsync(reply);
        }