/// <summary>
 /// Initializes a new instance of the <see cref="DeliveryPreparationExecutor"/> class.
 /// </summary>
 /// <param name="occurrenceRepository">The occurrence repository service.</param>
 /// <param name="groupingNotificationsByTeamService">The service that groups occurrences by team.</param>
 /// <param name="notifyEventActivityBuilder">The service that creates bot proactive message for event occurrence.</param>
 /// <param name="sendToConversationQueue">The message queue that keeps the bot proactive messages to be sent to users.</param>
 public DeliveryPreparationExecutor(
     OccurrenceRepository occurrenceRepository,
     GroupingNotificationsByTeamService groupingNotificationsByTeamService,
     NotifyEventActivityBuilder notifyEventActivityBuilder,
     SendToConversationQueue sendToConversationQueue)
 {
     this.occurrenceRepository = occurrenceRepository;
     this.groupingNotificationsByTeamService = groupingNotificationsByTeamService;
     this.notifyEventActivityBuilder         = notifyEventActivityBuilder;
     this.sendToConversationQueue            = sendToConversationQueue;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="OccurrenceInitializationExecutor"/> class.
 /// </summary>
 /// <param name="eventRepository">The event repository service.</param>
 /// <param name="occurrenceRepository">The occurrence repository service.</param>
 /// <param name="userRepository">The user repository service.</param>
 /// <param name="sendToConversationQueue">The SendToConversation message queue service.</param>
 /// <param name="previewCardRenderer">The event occurrence card renderer.</param>
 /// <param name="botActivityBuilder">The bot activity builder.</param>
 public OccurrenceInitializationExecutor(
     EventRepository eventRepository,
     OccurrenceRepository occurrenceRepository,
     UserRepository userRepository,
     SendToConversationQueue sendToConversationQueue,
     PreviewCardRenderer previewCardRenderer,
     BotActivityBuilder botActivityBuilder)
 {
     this.eventRepository         = eventRepository;
     this.occurrenceRepository    = occurrenceRepository;
     this.userRepository          = userRepository;
     this.sendToConversationQueue = sendToConversationQueue;
     this.previewCardRenderer     = previewCardRenderer;
     this.botActivityBuilder      = botActivityBuilder;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="WelcomeTeamMembersService"/> class.
 /// </summary>
 /// <param name="configurationSettings">the configuration settings object.</param>
 /// <param name="eventRepository">The event repository.</param>
 /// <param name="botConnectorClientFactory">The bot connector client factory service.</param>
 /// <param name="sendToConversationQueue">The Azure service bus queue which triggers the send bot messages Azure function.</param>
 /// <param name="userRepository">The user repository.</param>
 /// <param name="userTeamMembershipRepository">The user membership repository.</param>
 /// <param name="welcomeTeamMembersCardRenderer">The welcome team members card renderer.</param>
 /// <param name="shareEventCardRenderer">The share event card renderer.</param>
 /// <param name="botActivityBuilder">The bot activity builder.</param>
 public WelcomeTeamMembersService(
     ConfigurationSettings configurationSettings,
     EventRepository eventRepository,
     BotConnectorClientFactory botConnectorClientFactory,
     SendToConversationQueue sendToConversationQueue,
     UserRepository userRepository,
     UserTeamMembershipRepository userTeamMembershipRepository,
     WelcomeTeamMembersCardRenderer welcomeTeamMembersCardRenderer,
     ShareEventCardRenderer shareEventCardRenderer,
     BotActivityBuilder botActivityBuilder)
 {
     this.configurationSettings          = configurationSettings;
     this.eventRepository                = eventRepository;
     this.botConnectorClientFactory      = botConnectorClientFactory;
     this.sendToConversationQueue        = sendToConversationQueue;
     this.userRepository                 = userRepository;
     this.userTeamMembershipRepository   = userTeamMembershipRepository;
     this.welcomeTeamMembersCardRenderer = welcomeTeamMembersCardRenderer;
     this.shareEventCardRenderer         = shareEventCardRenderer;
     this.botActivityBuilder             = botActivityBuilder;
 }