/// <summary> /// Generates the adaptive card string for the unrecognized input. /// </summary> /// <param name="actionsTeamContext">Team context for the actions</param> /// <param name="userStatusForTeam">Enrollment status for the actionsTeamContext for the user</param> /// <param name="showAdminActions">Whether to show the admin actions</param> /// <returns>The adaptive card for the unrecognized input</returns> public static string GetCardJson(TeamContext actionsTeamContext, EnrollmentStatus userStatusForTeam, bool showAdminActions) { var messageContent = Resources.UnrecognizedInput; var card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 0)) { Body = new List <AdaptiveElement> { new AdaptiveTextBlock() { Text = messageContent, Wrap = true } } }; card.Actions = new List <AdaptiveAction>(); card.Actions.AddRange(AdaptiveCardHelper.CreateUserActions(actionsTeamContext, userStatusForTeam)); if (showAdminActions) { var adminActions = AdaptiveCardHelper.CreateAdminActions(actionsTeamContext); card.Actions.AddRange(adminActions); } return(card.ToJson()); }
/// <summary> /// Creates the welcome new member card that welcomes the user to a specific team. /// </summary> /// <param name="teamContext">Team context for the card.</param> /// <param name="userStatus">User status</param> /// <param name="botInstallerName">The name of the person that installed the bot to the team. Can be empty.</param> /// <param name="showAdminActions">Whether to show the admin actions</param> /// <returns>The welcome new member card</returns> public static AdaptiveCard GetCard(TeamContext teamContext, EnrollmentStatus userStatus, string botInstallerName, bool showAdminActions) { string introMessagePart1; if (string.IsNullOrEmpty(botInstallerName)) { introMessagePart1 = string.Format(Resources.InstallMessageUnknownInstaller, teamContext.TeamName); } else { introMessagePart1 = string.Format(Resources.InstallMessageKnownInstaller, botInstallerName, teamContext.TeamName); } var introMessagePart2 = Resources.InstallMessageBotDescription; var introMessagePart3 = showAdminActions ? Resources.InstallMessageInstructionAdmin : Resources.InstallMessageInstruction; var suggestedNextStep = showAdminActions ? string.Format(Resources.InstallMessageSuggestedNextStepAdmin, Resources.MakePairsButtonText) : Resources.InstallMessageSuggestedNextStep; var baseDomain = CloudConfigurationManager.GetSetting("AppBaseDomain"); var welcomeCardImageUrl = $"https://{baseDomain}/Content/welcome-card-image.png"; var salutationText = Resources.SalutationTitleText; var variablesToValues = new Dictionary <string, string>() { { "salutationText", salutationText }, { "welcomeCardImageUrl", welcomeCardImageUrl }, { "introMessagePart1", introMessagePart1 }, { "introMessagePart2", introMessagePart2 }, { "introMessagePart3", introMessagePart3 }, { "suggestedNextStep", suggestedNextStep }, }; var cardBody = AdaptiveCardHelper.ReplaceTemplateKeys(CardTemplate, variablesToValues); var card = AdaptiveCard.FromJson(cardBody).Card; if (showAdminActions) { var adminActions = AdaptiveCardHelper.CreateAdminActions(teamContext); card.Actions.AddRange(adminActions); } var userActions = AdaptiveCardHelper.CreateUserActions(teamContext, userStatus); card.Actions.AddRange(userActions); return(card); }