Esempio n. 1
0
 public CovidModule(CovidDataProvider dataProvider,
                    CovidDataFormatter dataFormatter,
                    AnnouncementsDbContext dbContext,
                    CovidAnnouncer covidAnnouncer)
 {
     _dataProvider   = dataProvider;
     _dataFormatter  = dataFormatter;
     _dbContext      = dbContext;
     _covidAnnouncer = covidAnnouncer;
 }
Esempio n. 2
0
        public CovidAnnouncer(AnnouncementsDbContext dbContext,
                              CovidDataProvider dataProvider,
                              CovidDataFormatter dataFormatter,
                              DiscordSocketClient client,
                              IConfiguration configuration)
        {
            _dbContext     = dbContext;
            _dataFormatter = dataFormatter;
            _client        = client;
            _configuration = configuration;

            dataProvider.RunOnDataUpdated(() => OnDataUpdatedAsync);
        }
Esempio n. 3
0
 public DiscordBot(
     Runtime runtime,
     ILogger <DiscordBot> logger,
     IConfiguration configuration,
     CommandHandler commandHandler,
     DiscordSocketClient client,
     AnnouncementsDbContext announcementsDbContext,
     CovidDataDbContext covidDataDbContext)
 {
     _runtime                = runtime;
     _logger                 = logger;
     _configuration          = configuration;
     _commandHandler         = commandHandler;
     _client                 = client;
     _announcementsDbContext = announcementsDbContext;
     _covidDataDbContext     = covidDataDbContext;
 }
Esempio n. 4
0
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, AnnouncementsDbContext announcementsDbContext)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logger"));
            loggerFactory.AddDebug();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler(appBuilder =>
                {
                    appBuilder.Run(async context =>
                    {
                        var exceptionHandler = context.Features.Get <IExceptionHandlerFeature>();
                        if (exceptionHandler != null)
                        {
                            var logger = loggerFactory.CreateLogger("Global exception logger");
                            logger.LogError(500, exceptionHandler.Error, exceptionHandler.Error.Message);
                        }

                        context.Response.StatusCode = 500;
                        await context.Response.WriteAsync("An unxpected error happened. Try again later.");
                    });
                });
                app.UseHsts();
            }

            // Mapping entities and view models
            AutoMapping();

            // Seeding fake data
            announcementsDbContext.SeedAnnouncementsData();

            app.UseSwaggerUi(typeof(Startup).GetTypeInfo().Assembly, settings =>
            {
                settings.GeneratorSettings.DefaultPropertyNameHandling =
                    PropertyNameHandling.CamelCase;
            });

            app.UseSwagger(typeof(Startup).Assembly, settings =>
            {
                settings.PostProcess = document =>
                {
                    document.Info.Version        = "V1";
                    document.Info.Title          = "Announcements API";
                    document.Info.Description    = "Web API for announcements";
                    document.Info.TermsOfService = "None";
                    document.Info.Contact        = new SwaggerContact
                    {
                        Name  = "David Chkhitunidze",
                        Email = "*****@*****.**"
                    };
                    document.Info.License = new SwaggerLicense
                    {
                        Name = "License",
                        Url  = "https://example.com/license"
                    };
                };
            });

            app.UseIpRateLimiting();
            //app.UseResponseCaching();
            //app.UseHttpCacheHeaders();
            app.UseHttpsRedirection();
            app.UseMvc();
        }
Esempio n. 5
0
 public AnnouncementsRepository(AnnouncementsDbContext context)
 {
     _context = context;
 }
        public static void SeedAnnouncementsData(this AnnouncementsDbContext context)
        {
            if (context.Announcements.Any())
            {
                return;
            }

            var announcementList = new List <Announcement>()
            {
                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 1",
                    Description     = "Description 1",
                    Phone           = "111-111-111",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = true
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 2",
                    Description     = "Description 2",
                    Phone           = "222-222-222",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = false
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 3",
                    Description     = "Description 3",
                    Phone           = "333-333-333",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = false
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 4",
                    Description     = "Description 4",
                    Phone           = "444-444-444",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = false
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 5",
                    Description     = "Description 5",
                    Phone           = "555-555-555",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = false
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 6",
                    Description     = "Description 6",
                    Phone           = "666-666-666",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = true
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 7",
                    Description     = "Description 7",
                    Phone           = "777-777-777",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = false
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 8",
                    Description     = "Description 8",
                    Phone           = "888-888-888",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = false
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 9",
                    Description     = "Description 9",
                    Phone           = "999-999-999",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = false
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 10",
                    Description     = "Description 10",
                    Phone           = "101-010-101",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = false
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 11",
                    Description     = "Description 11",
                    Phone           = "010-101-010",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = false
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 12",
                    Description     = "Description 12",
                    Phone           = "121-212-121",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = false
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 13",
                    Description     = "Description 13",
                    Phone           = "131-313-131",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = false
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 14",
                    Description     = "Description 14",
                    Phone           = "141-414-141",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = true
                },

                new Announcement
                {
                    ID              = Guid.NewGuid(),
                    Title           = "Title 15",
                    Description     = "Description 15",
                    Phone           = "151-515-151",
                    ImageName       = "Image12345.jpg",
                    VipAnnouncement = false
                },
            };

            context.Announcements.AddRange(announcementList);
            context.SaveChanges();
        }