public static void Shows(BoxOfficeContext dbContext)
        {
            if (EnumerableExtensions.Any(dbContext.Tickets))
            {
                return;
            }

            var shows = Enumerable.Range(1, 55).Select(i => new Show()
            {
                Name     = $"Show {i}",
                Sessions = new List <ShowSession>()
                {
                    new ShowSession()
                    {
                        From      = DateTimeOffset.UtcNow,
                        To        = DateTimeOffset.UtcNow.AddHours(2),
                        FreeSeats = 100
                    },
                    new ShowSession()
                    {
                        From      = DateTimeOffset.UtcNow.AddDays(1),
                        To        = DateTimeOffset.UtcNow.AddDays(1).AddHours(2),
                        FreeSeats = 100
                    }
                }
            });

            dbContext.AddRange(shows);
            dbContext.SaveChanges();
        }
Пример #2
0
        public static void Users(BoxOfficeContext dbContext)
        {
            if (dbContext.Users.Any())
            {
                return;
            }

            var adminUser = new User
            {
                FirstName = "Maxim",
                LastName  = "Stecenko",
                UserName  = "******",
                Password  = "******",
                UserRoles = new List <UserRole>
                {
                    new UserRole
                    {
                        Role = new Role
                        {
                            Name = "Admin"
                        }
                    }
                }
            };

            dbContext.Users.Add(adminUser);
            dbContext.SaveChanges();
        }
        private void InitDataBase(BoxOfficeContext dbContext)
        {
            dbContext.Database.EnsureDeleted();
            // Always use automigration for test purposes
            dbContext.Database.Migrate();

            SeedData.Users(dbContext);
            SeedData.Shows(dbContext);
        }
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, BoxOfficeContext dbContext)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Error");
            }

            app.UseStaticFiles();
            app.UseSpaStaticFiles();

            app.UseSwagger();
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "Box Office API V1");
            });

            app.UseRouting();

            app.UseAuthentication();
            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller}/{action=Index}/{id?}");
            });

            app.UseSpa(spa =>
            {
                spa.Options.SourcePath = "ClientApp";

                if (env.IsDevelopment())
                {
                    spa.UseReactDevelopmentServer(npmScript: "start");
                }
            });


            InitDataBase(dbContext);
        }
 public ShowController(BoxOfficeContext dbContext)
 {
     _dbContext = dbContext;
 }
Пример #6
0
 public UserController(BoxOfficeContext dbContext)
 {
     _dbContext = dbContext;
 }
Пример #7
0
 public TicketController(BoxOfficeContext dbContext)
 {
     _dbContext = dbContext;
 }
Пример #8
0
 public AuthorizationController(IOptions <AppAuthorizationOptions> authOptions, BoxOfficeContext dbContext, ILoggerFactory loggerFactory)
 {
     _authOptions = authOptions.Value;
     _dbContext   = dbContext;
     _logger      = loggerFactory.CreateLogger(nameof(AuthorizationController));
 }
Пример #9
0
 public AdminRequirementHandler(BoxOfficeContext dbContext, ILoggerFactory loggerFactory)
 {
     _dbContext = dbContext;
     _logger    = loggerFactory.CreateLogger(nameof(AdminRequirementHandler));
 }