/// <summary>
        /// Create a new Feedback entity from the input.
        /// </summary>
        /// <param name="message">A message in a conversation.</param>
        /// <param name="data">Represents the submit data associated with the Share feedback card.</param>
        /// <param name="member">Teams channel account detailing user Azure Active Directory details.</param>
        /// <param name="feedbackProvider">Tickets Provider.</param>
        /// <returns>TicketEntity object.</returns>
        private static async Task <FeedbackEntity> CreateFeedbackAsync(
            IMessageActivity message,
            ShareFeedbackCardPayload data,
            TeamsChannelAccount member,
            IFeedbackProvider feedbackProvider)
        {
            string description = null;

            if (data.Rating == nameof(FeedbackRating.Helpful))
            {
                description = data.DescriptionHelpful;
            }
            else if (data.Rating == nameof(FeedbackRating.NeedsImprovement))
            {
                description = data.DescriptionNeedsImprovement;
            }
            else if (data.Rating == nameof(FeedbackRating.NotHelpful))
            {
                description = data.DescriptionNotHelpful;
            }

            FeedbackEntity feedbackEntity = new FeedbackEntity
            {
                FeedbackId          = Guid.NewGuid().ToString(),
                UserPrincipalName   = member.UserPrincipalName,
                UserName            = member.Name,
                UserGivenName       = member.GivenName,
                Rating              = data.Rating,
                Description         = description,
                UserQuestion        = data.UserQuestion,
                KnowledgeBaseAnswer = data.KnowledgeBaseAnswer,
                Subject             = data.Project,
            };

            await feedbackProvider.UpsertFeecbackAsync(feedbackEntity).ConfigureAwait(false);

            return(feedbackEntity);
        }