예제 #1
0
        public static void Initialize(SnowShopAPIDbContext context)
        {
            context.Database.EnsureCreated();

            // Look for any students.
            if (context.Products.Any())
            {
                return;   // DB has been seeded
            }

            var Companies = new Company[]
            {
                new Company {
                    Name = "SNOW", CreatedDate = DateTime.Now
                },
                new Company {
                    Name = "A.K", CreatedDate = DateTime.Now
                }
            };

            foreach (Company p in Companies)
            {
                context.Companies.Add(p);
            }
            context.SaveChanges();

            var Brands = new Brand[]
            {
                new Brand {
                    Name = "LV", Company = Companies.FirstOrDefault(), CreatedDate = DateTime.Now
                }
            };


            foreach (Brand b in Brands)
            {
                context.Brands.Add(b);
            }
            context.SaveChanges();


            var Categories = new Category[]
            {
                new Category {
                    Name = "Clothes", Company = Companies.FirstOrDefault(), CreatedDate = DateTime.Now
                },
                new Category {
                    Name = "Accessaries", Company = Companies.FirstOrDefault(), CreatedDate = DateTime.Now
                },
                new Category {
                    Name = "Computer", Company = Companies.LastOrDefault(), CreatedDate = DateTime.Now
                },
                new Category {
                    Name = "Shoes", Company = Companies.LastOrDefault(), CreatedDate = DateTime.Now
                }
            };


            foreach (Category p in Categories)
            {
                context.Categories.Add(p);
            }
            context.SaveChanges();

            var Products = new Product[]
            {
                new Product {
                    Name        = "laptop", Description = "laptop", Brand = Brands.FirstOrDefault(), Category = Categories.FirstOrDefault(), Company = Companies.FirstOrDefault(),
                    MarketPrice = 2.11M, StockPrice = 3.11M, CreatedDate = DateTime.Now
                },
                new Product {
                    Name        = "top", Description = "top", Brand = Brands.FirstOrDefault(), Category = Categories.FirstOrDefault(), Company = Companies.FirstOrDefault(),
                    MarketPrice = 2.11M, StockPrice = 3.11M, CreatedDate = DateTime.Now
                },
                new Product {
                    Name        = "t-shirt", Description = "t-shirt", Brand = Brands.FirstOrDefault(), Category = Categories.LastOrDefault(), Company = Companies.LastOrDefault(),
                    MarketPrice = 2.11M, StockPrice = 3.11M, CreatedDate = DateTime.Now
                },
                new Product {
                    Name        = "jeans", Description = "jeans", Brand = Brands.FirstOrDefault(), Category = Categories.LastOrDefault(), Company = Companies.LastOrDefault(),
                    MarketPrice = 2.11M, StockPrice = 3.11M, CreatedDate = DateTime.Now
                }
            };

            foreach (Product p in Products)
            {
                context.Products.Add(p);
            }
            context.SaveChanges();
        }
예제 #2
0
 public BrandRepository(SnowShopAPIDbContext dbContext) : base(dbContext)
 {
 }
예제 #3
0
 public EntityRepository(SnowShopAPIDbContext context)
 {
     _context = context;
 }
예제 #4
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, SnowShopAPIDbContext context)
        {
            app.UseResponseCompression();
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();

            // Add MVC to the request pipeline.
            app.UseCors(builder =>
                        builder.AllowAnyOrigin()
                        .AllowAnyHeader()
                        .AllowAnyMethod());


            app.UseExceptionHandler(
                builder =>
            {
                builder.Run(
                    async httpContext =>
                {
                    httpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError;
                    httpContext.Response.Headers.Add("Access-Control-Allow-Origin", "*");

                    var error = httpContext.Features.Get <IExceptionHandlerFeature>();
                    if (error != null)
                    {
                        httpContext.Response.AddApplicationError(error.Error.Message);
                        await httpContext.Response.WriteAsync(error.Error.Message).ConfigureAwait(false);
                    }
                });
            });

            app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions
            {
                Authority     = "http://localhost:5000",
                AllowedScopes = new List <string> {
                    "snowApi"
                },
                RequireHttpsMetadata = false
            });

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });

            DbInitializer.Initialize(context);

            app.UseSwagger();


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