Exemple #1
0
        /// <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"),
                    },
                },
            });
        }
Exemple #2
0
 /// <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}}",
                 },
             },
         });
     }
 }
Exemple #3
0
 /// <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"),
             },
         },
     });
 }
Exemple #4
0
 /// <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"),
             },
         },
     });
 }