public RecipesController(IMasterChefData data, IUserIdProvider userIdProvider, IImageUploadProvider imageUploadProvider, INotificationProvider notificationProvider) : base(data, userIdProvider) { this.imageUploadProvider = imageUploadProvider; this.notificationProvider = notificationProvider; }
/// <summary> /// Initializes a new instance of the <see cref="ActivityHelper{T}"/> class. /// </summary> /// <param name="logger">Instance to send logs to the Application Insights service.</param> /// <param name="userState">State management object for maintaining user conversation state.</param> /// <param name="teamStorageProvider">Provider for fetching information about team details from storage.</param> /// <param name="localizer">The current culture's string localizer.</param> /// <param name="dialog">Base class for all bot dialogs.</param> /// <param name="conversationState">State management object for maintaining conversation state.</param> /// <param name="teamMembershipHelper">Helper for team operations with Microsoft Graph API.</param> /// <param name="userProfileGraphApiHelper">Helper for user profile operations with Microsoft Graph API.</param> /// <param name="introductionStorageProvider">Provider for fetching information about new joiner introduction details from storage.</param> /// <param name="sharePointHelper">Helper for working with SharePoint.</param> /// <param name="introductionCardHelper">Helper for working with introduction cards.</param> /// <param name="graphUtility">Instance of Microsoft Graph utility helper.</param> /// <param name="welcomeCardFactory">Factory for working with welcome card attachments.</param> /// <param name="botOptions">A set of key/value application configuration properties for bot.</param> /// <param name="userStorageProvider">Provider for fetching information about user details from storage.</param> /// <param name="securityGroupSettings"> A set of key/value application configuration properties for AAD security group settings.</param> /// <param name="feedbackProvider">Provider for fetching information about new joiner feedbacks from storage.</param> /// <param name="imageUploadProvider">Provider for uploading user image to blob storage.</param> public ActivityHelper( ILogger <ActivityHelper <T> > logger, UserState userState, ITeamStorageProvider teamStorageProvider, IStringLocalizer <Strings> localizer, T dialog, ConversationState conversationState, ITeamMembership teamMembershipHelper, IUserProfile userProfileGraphApiHelper, IIntroductionStorageProvider introductionStorageProvider, ISharePointHelper sharePointHelper, IIntroductionCardHelper introductionCardHelper, IGraphUtilityHelper graphUtility, IWelcomeCardFactory welcomeCardFactory, IOptions <BotOptions> botOptions, IUserStorageProvider userStorageProvider, IOptions <AadSecurityGroupSettings> securityGroupSettings, IFeedbackProvider feedbackProvider, IImageUploadProvider imageUploadProvider) { this.logger = logger; this.userState = userState; this.teamStorageProvider = teamStorageProvider; this.localizer = localizer; this.dialog = dialog; this.conversationState = conversationState; this.teamOperationGraphApiHelper = teamMembershipHelper; this.userProfileGraphApiHelper = userProfileGraphApiHelper; this.introductionStorageProvider = introductionStorageProvider; this.sharePointHelper = sharePointHelper; this.introductionCardHelper = introductionCardHelper; this.graphUtility = graphUtility; this.welcomeCardFactory = welcomeCardFactory; this.botOptions = botOptions ?? throw new ArgumentNullException(nameof(botOptions)); this.userStorageProvider = userStorageProvider; this.securityGroupSettings = securityGroupSettings ?? throw new ArgumentNullException(nameof(securityGroupSettings)); this.feedbackProvider = feedbackProvider; this.imageUploadProvider = imageUploadProvider; }