public CreatePollCommand(
     DataAccess.Commands.PoGo.INewPollCommand newPollCommand,
     IGetActivePollByRaidId getActivePollByRaidId
     )
     : base()
 {
     this.newPollCommand        = newPollCommand;
     this.getActivePollByRaidId = getActivePollByRaidId;
 }
        public Announcer(
            TelegramProxies.NimRaidBot proxy,
            TelegramProxies.MinunBot minunBot,
            IGetNextNewRaidQuery getNextNewRaidQuery,
            IMarkEventAsProcessedQuery markAsProcessedQuery,
            IMarkEventAsProcessingQuery markAsProcessingQuery,

            DataAccess.Queries.Raid.IGetActivePogoGroups activeUsers,
            IGetSpecialGymsForChatsQuery getSpecialGymsForChatsQuery,
            Commands.Raid.ICreatePollCommand pollCommand,
            Commands.Raid.ICreatePollText createPollText

            , DataAccess.Queries.PoGo.IPollVotesUsers pollVotesUsers
            , DataAccess.Queries.Raid.IGetActivePollByRaidId getActivePollByRaidId
            , DataAccess.Queries.Raid.IGetRaidTimeOffsetsQuery getRaidTimeOffsetsQuery

            , IGetNextPollToProcessQuery getNextPollToProcessQuery,
            IMarkPollAsProcessedQuery markPollAsProcessedQuery,
            IMarkPollAsProcessingQuery markPollAsProcessingQuery,
            IGetRaidByIdQuery getRaidByIdQuery,
            DataAccess.Queries.Pokes.IGetPokesForChatQuery getPokesForChatQuery,
            IGetRaidBossPreferencesAllQuery getRaidBossPreferencesQuery,
            DataAccess.Queries.Location.IGetCurrentNotificationsQuery getCurrentNotificationsQuery,
            IDeactiveMinunUserCommand deactiveMinunUserCommand
            )
        {
            this.proxy                 = proxy;
            this.minunBot              = minunBot;
            this.getNextNewRaidQuery   = getNextNewRaidQuery;
            this.markAsProcessedQuery  = markAsProcessedQuery;
            this.markAsProcessingQuery = markAsProcessingQuery;

            this.activeUsers = activeUsers;

            this.pollCommand = pollCommand;

            this.createPollText = createPollText;

            this.pollVotesUsers          = pollVotesUsers;
            this.getActivePollByRaidId   = getActivePollByRaidId;
            this.getRaidTimeOffsetsQuery = getRaidTimeOffsetsQuery;

            this.getNextPollToProcessQuery = getNextPollToProcessQuery;
            this.markPollAsProcessedQuery  = markPollAsProcessedQuery;
            this.markPollAsProcessingQuery = markPollAsProcessingQuery;
            this.getRaidByIdQuery          = getRaidByIdQuery;

            this.getSpecialGymsForChatsQuery  = getSpecialGymsForChatsQuery;
            this.getPokesForChatQuery         = getPokesForChatQuery;
            this.getRaidBossPreferencesQuery  = getRaidBossPreferencesQuery;
            this.getCurrentNotificationsQuery = getCurrentNotificationsQuery;
            this.deactiveMinunUserCommand     = deactiveMinunUserCommand;
        }
        public ModifyRaidCommand(
            IStateUpdateCommand stateUpdateCommand,
            IStatePushCommand statePushCommand,
            IStatePopCommand statePopCommand,
            StatePeakQuery statePeakQuery,

            IGetActiveUserRaids getActiveUserRaids,
            ISetRaidIdToUpdateCommand setRaidIdToUpdateCommand,
            IDeletePollsByIdsCommand deletePollsByIdsCommand,
            IGetCurrentManualRaidQuery getCurrentManualRaidQuery,
            IGetActivePollByRaidId getActivePollByRaidId,
            IGetActivePogoGroups getActivePogoGroups,
            ISetPokeIdForRaidCommand setPokeIdForRaidCommand,


            TelegramProxies.NimRaidBot nimRaidBot

            ) : base(stateUpdateCommand, statePushCommand, statePopCommand, statePeakQuery)
        {
            this.getActiveUserRaids        = getActiveUserRaids;
            this.setRaidIdToUpdateCommand  = setRaidIdToUpdateCommand;
            this.deletePollsByIdsCommand   = deletePollsByIdsCommand;
            this.getCurrentManualRaidQuery = getCurrentManualRaidQuery;
            this.getActivePollByRaidId     = getActivePollByRaidId;
            this.getActivePogoGroups       = getActivePogoGroups;
            this.setPokeIdForRaidCommand   = setPokeIdForRaidCommand;

            this.nimRaidBot = nimRaidBot;

            base.Steps.Add(0, Step0);
            base.Steps.Add(1, Step1);
            base.Steps.Add(2, Step2);
            base.Steps.Add(3, Step3);
            base.Steps.Add(4, Step4);

            base.Steps.Add(5, Step5);
            base.Steps.Add(6, Step6);
            base.Steps.Add(7, Step7);
        }