Exemple #1
0
        protected override void Seed(ShopyContext dbContext)
        {
            //define products
            var products = GetProducts();

            //define categories
            var tShirts  = new Category("T-shirts");
            var jackets  = new Category("Jackets");
            var footwear = new Category("Footwear");
            var shoes    = new Category("Shoes");
            var clothes  = new Category("Clothes");

            //define brands
            var active  = BrandType.From(BrandTypeId.Active);
            var addidas = BrandType.From(BrandTypeId.Addidas);
            var rebook  = BrandType.From(BrandTypeId.Rebook);
            var nike    = BrandType.From(BrandTypeId.Nike);
            var puma    = BrandType.From(BrandTypeId.Puma);

            //define sizes
            var xs = SizeType.From(SizeTypeId.XS);
            var s  = SizeType.From(SizeTypeId.S);
            var m  = SizeType.From(SizeTypeId.M);
            var l  = SizeType.From(SizeTypeId.L);
            var xl = SizeType.From(SizeTypeId.XL);

            //products categories
            products[0].AddCategory(footwear);
            products[0].AddCategory(shoes);

            products[1].AddCategory(jackets);
            products[1].AddCategory(clothes);

            products[2].AddCategory(jackets);
            products[2].AddCategory(clothes);

            products[3].AddCategory(jackets);
            products[3].AddCategory(clothes);

            products[4].AddCategory(jackets);
            products[4].AddCategory(clothes);

            products[5].AddCategory(footwear);
            products[5].AddCategory(shoes);

            products[6].AddCategory(jackets);
            products[6].AddCategory(tShirts);

            products[7].AddCategory(clothes);
            products[7].AddCategory(tShirts);

            products[8].AddCategory(clothes);
            products[8].AddCategory(tShirts);

            products[9].AddCategory(clothes);
            products[9].AddCategory(tShirts);

            products[10].AddCategory(clothes);
            products[10].AddCategory(jackets);

            products[11].AddCategory(footwear);
            products[11].AddCategory(shoes);

            products[12].AddCategory(footwear);
            products[12].AddCategory(shoes);

            products[13].AddCategory(clothes);
            products[13].AddCategory(tShirts);

            //products sizes
            products[0].AddSize(xs);
            products[0].AddSize(s);
            products[0].AddSize(m);

            products[1].AddSize(m);
            products[1].AddSize(l);
            products[1].AddSize(xl);

            products[2].AddSize(s);
            products[2].AddSize(m);

            products[3].AddSize(xs);
            products[3].AddSize(l);
            products[3].AddSize(xl);

            products[4].AddSize(l);
            products[4].AddSize(xl);

            products[5].AddSize(s);
            products[5].AddSize(l);
            products[5].AddSize(xs);

            products[6].AddSize(s);
            products[6].AddSize(m);
            products[6].AddSize(xl);

            products[7].AddSize(xl);
            products[7].AddSize(s);

            products[8].AddSize(s);
            products[8].AddSize(l);

            products[9].AddSize(s);
            products[9].AddSize(l);
            products[9].AddSize(m);

            products[10].AddSize(s);
            products[10].AddSize(l);
            products[10].AddSize(xl);

            products[11].AddSize(m);
            products[11].AddSize(l);

            products[12].AddSize(l);
            products[12].AddSize(xl);

            products[13].AddSize(s);
            products[13].AddSize(xl);
            products[13].AddSize(m);

            //products brands
            products[0].SetBrand(active);
            products[1].SetBrand(nike);
            products[2].SetBrand(rebook);
            products[3].SetBrand(addidas);
            products[4].SetBrand(active);
            products[5].SetBrand(nike);
            products[6].SetBrand(rebook);
            products[7].SetBrand(addidas);
            products[8].SetBrand(active);
            products[9].SetBrand(puma);
            products[10].SetBrand(rebook);
            products[11].SetBrand(addidas);
            products[12].SetBrand(puma);
            products[13].SetBrand(nike);

            //add products
            dbContext.Products.AddRange(products);

            //save
            dbContext.SaveChanges();
        }