/// <summary> /// Get nomination task module on messaging extension action response. /// </summary> /// <param name="applicationBasePath">Represents the application base Uri.</param> /// <param name="instrumentationKey">Instrumentation key of the telemetry client.</param> /// <param name="localizer">The current cultures' string localizer.</param> /// <param name="teamId">Team id from where the ME action is called.</param> /// <param name="isCycleRunning">Gets the value false if cycle is not running currently.</param> /// <returns>Returns task module response.</returns> public static MessagingExtensionActionResponse GetNominationTaskModuleBasedOnMessagingExtensionAction(string applicationBasePath, string instrumentationKey, IStringLocalizer <Strings> localizer, string teamId = null, bool isCycleRunning = true) { // Show error message if award cycle is not active. if (!isCycleRunning) { return(new MessagingExtensionActionResponse { Task = new TaskModuleContinueResponse { Value = new TaskModuleTaskInfo() { Card = ValidationMessageCard.GetErrorAdaptiveCard(localizer.GetString("CycleValidationMessage")), Height = ErrorMessageTaskModuleHeight, Width = ErrorMessageTaskModuleWidth, Title = localizer.GetString("NominatePeopleTitle"), }, }, }); } return(new MessagingExtensionActionResponse { Task = new TaskModuleContinueResponse { Value = new TaskModuleTaskInfo { Url = $"{applicationBasePath}/nominate-awards?telemetry={instrumentationKey}&teamId={teamId}&theme={{theme}}&locale={{locale}}", Height = NominationTaskModuleHeight, Width = NominationTaskModuleWidth, Title = localizer.GetString("NominatePeopleTitle"), }, }, }); }
/// <summary> /// Get task module response. /// </summary> /// <param name="applicationBasePath">Represents the Application base Uri.</param> /// <param name="instrumentationKey">Telemetry instrumentation key.</param> /// <param name="localizer">The current cultures' string localizer.</param> /// <param name="command">Get the command from the user.</param> /// <param name="teamId">Team id from where the ME action is called.</param> /// <param name="awardId">Award id to fetch the award details.</param> /// <param name="isCycleRunning">Gets the value false if cycle is not running currently.</param> /// <param name="isActivityIdPresent">Gets the boolean value based on activity id.</param> /// <param name="isCycleClosed">Gets the value true if cycle is closed.</param> /// <returns>Returns task module response.</returns> public static TaskModuleResponse GetTaskModuleResponse(string applicationBasePath, string instrumentationKey, IStringLocalizer <Strings> localizer, string command, string teamId = null, string awardId = null, bool isCycleRunning = true, bool isActivityIdPresent = true, bool isCycleClosed = false) { if ((!isCycleRunning || isCycleClosed) && command != Constants.ConfigureAdminAction) { return(new TaskModuleResponse { Task = new TaskModuleContinueResponse { Value = new TaskModuleTaskInfo() { Card = ValidationMessageCard.GetErrorAdaptiveCard(isCycleClosed == true ? localizer.GetString("CycleClosedMessage") : localizer.GetString("CycleValidationMessage")), Height = ErrorMessageTaskModuleHeight, Width = ErrorMessageTaskModuleWidth, Title = command == Constants.NominateAction ? localizer.GetString("NominatePeopleTitle") : localizer.GetString("EndorseTitle"), }, }, }); } else if (command == Constants.ConfigureAdminAction) { return(new TaskModuleResponse { Task = new TaskModuleContinueResponse { Value = new TaskModuleTaskInfo() { Url = $"{applicationBasePath}/config-admin-page?telemetry={instrumentationKey}&teamId={teamId}&isActivityIdPresent={isActivityIdPresent}&theme={{theme}}&locale={{locale}}", Height = TaskModuleHeight, Width = TaskModuleWidth, Title = localizer.GetString("ConfigureAdminTitle"), FallbackUrl = $"{applicationBasePath}/config-admin-page?telemetry={instrumentationKey}&teamId={teamId}&isActivityIdPresent={isActivityIdPresent}&theme={{theme}}&locale={{locale}}", }, }, }); } else { return(new TaskModuleResponse { Task = new TaskModuleContinueResponse { Value = new TaskModuleTaskInfo { Url = $"{applicationBasePath}/nominate-awards?telemetry={instrumentationKey}&teamId={teamId}&awardId={awardId}&theme={{theme}}&locale={{locale}}", Height = NominationTaskModuleHeight, Width = NominationTaskModuleWidth, Title = localizer.GetString("NominatePeopleTitle"), FallbackUrl = $"{applicationBasePath}/nominate-awards?telemetry={instrumentationKey}&teamId={teamId}&awardId={awardId}&theme={{theme}}&locale={{locale}}", }, }, }); } }
/// <summary> /// Get task module response for error/validation message. /// </summary> /// <param name="localizer">The current cultures' string localizer.</param> /// <param name="command">Get the task module command from the user.</param> /// <param name="isCycleClosed">Gets the value true if cycle is closed.</param> /// <returns>Returns task module response.</returns> public static TaskModuleResponse GetErrorMessageTaskModuleResponse(IStringLocalizer <Strings> localizer, string command, bool isCycleClosed) { return(new TaskModuleResponse { Task = new TaskModuleContinueResponse { Value = new TaskModuleTaskInfo() { Card = ValidationMessageCard.GetErrorAdaptiveCard(isCycleClosed ? localizer.GetString("CycleClosedMessage") : localizer.GetString("CycleValidationMessage")), Height = ErrorMessageTaskModuleHeight, Width = ErrorMessageTaskModuleWidth, Title = command == Constants.NominateAction ? localizer.GetString("NominatePeopleTitle") : localizer.GetString("EndorseTitle"), }, }, }); }
/// <summary> /// Get task module response for error message when bot is invoked from 1:1 chat or group chat on messaging extension action response. /// </summary> /// <param name="localizer">The current cultures' string localizer.</param> /// <returns>Returns task module response.</returns> public static MessagingExtensionActionResponse GetTaskModuleErrorMessageCard(IStringLocalizer <Strings> localizer) { return(new MessagingExtensionActionResponse { Task = new TaskModuleContinueResponse { Value = new TaskModuleTaskInfo { Card = ValidationMessageCard.GetErrorAdaptiveCard(localizer.GetString("MessagingExtensionErrorMessage")), Height = ErrorMessageTaskModuleHeight, Width = ErrorMessageTaskModuleWidth, Title = localizer.GetString("NominatePeopleTitle"), }, }, }); }