Exemplo n.º 1
0
        public static IRepository SetUpRepository(string connectionString)
        {
            DbContextOptions <AppDataContext> options = new DbContextOptionsBuilder <AppDataContext>()
                                                        .UseSqlServer(connectionString)
                                                        .Options;

            var appDataContext = new AppDataContext(options);

            EnsureDatabase(appDataContext);
            IRepository repository = new EfGenericRepo(appDataContext);

            EnsureInitialData(repository);

            return(repository);
        }
Exemplo n.º 2
0
        public static BotMain NewBot(TwitchClientSettings clientSettings, EfGenericRepo efGenericRepo)
        {
            var chatClients = new List <IChatClient>
            {
                new ConsoleChatClient(),
                new TwitchChatClient(clientSettings),
            };


            var commandMessages   = efGenericRepo.List(DataItemPolicy <SimpleResponseMessage> .ActiveOnly());
            var commandHandler    = new CommandHandler(chatClients, commandMessages);
            var subscriberHandler = new SubscriberHandler(chatClients);
            var followerHandler   = new FollowerHandler(chatClients);
            var botMain           = new BotMain(chatClients, efGenericRepo, commandHandler, subscriberHandler, followerHandler);

            return(botMain);
        }
Exemplo n.º 3
0
        private static void Main(string[] args)
        {
            Console.WriteLine("Initializing the Bot...");
            TwitchClientSettings clientSettings = SetUpConfig.InitializeConfiguration();

            DbContextOptions <AppDataContext> options = new DbContextOptionsBuilder <AppDataContext>()
                                                        .UseInMemoryDatabase("fake-data-db")
                                                        .Options;

            var efGenericRepo = new EfGenericRepo(new AppDataContext(options));

            new FakeData(efGenericRepo).Initialize();

            Console.WriteLine("To exit, press [Ctrl]+c");

            BotMain botMain = SetUpBot.NewBot(clientSettings, efGenericRepo);

            botMain.Run();
        }
Exemplo n.º 4
0
        private static void Main(string[] args)
        {
            var config = InitConfiguration();

            Console.WriteLine($"{DateTime.Now:HH:mm:ss}: Application starting...");

            var options = new DbContextOptionsBuilder <AppDataContext>()
                          .UseInMemoryDatabase(databaseName: "fake-data-db")
                          .Options;

            var efGenericRepo = new EfGenericRepo(new AppDataContext(options));

            new FakeData(efGenericRepo).Initialize();

            var chatClients = GetChatClients(config);

            Console.WriteLine($"{DateTime.Now:HH:mm:ss}: Application started successfully.");

            var commandMessages = efGenericRepo.List(StatusPolicy <SimpleResponseMessage> .ActiveOnly());
            var commandHandler  = new CommandHandler(chatClients, commandMessages);
            var botMain         = new BotMain(chatClients, efGenericRepo, commandHandler);

            WaitForCommands(botMain);
        }