예제 #1
0
        protected override void Seed(DatabaseContext context)
        {
            List <Brand>   brandList   = new List <Brand>();
            List <MyUser>  brandUsers  = new List <MyUser>();
            List <Product> productList = new List <Product>();


            //Only one super user is creating
            MyUser SuperUser = new MyUser()
            {
                Name         = "Emre",
                Surname      = "Serbest",
                ActivateGuid = Guid.NewGuid(),
                Email        = "*****@*****.**",
                IsActive     = true,
                IsSuperUser  = true,
                HasBrand     = false,
                Username     = "******",
                Password     = "******",
                UserImage    = FakeData.NetworkData.GetDomain(),
            };

            context.MyUsers.Add(SuperUser);
            context.SaveChanges();


            //Creating 7 Admins (Brand Users)
            for (int i = 0; i < 7; i++)
            {
                MyUser BrandUser = new MyUser()
                {
                    Name         = FakeData.NameData.GetFirstName(),
                    Surname      = FakeData.NameData.GetSurname(),
                    Email        = FakeData.NetworkData.GetEmail(),
                    UserImage    = FakeData.NetworkData.GetDomain(),
                    ActivateGuid = Guid.NewGuid(),
                    IsActive     = true,
                    IsSuperUser  = false,
                    HasBrand     = true,
                    Username     = $"brandUser{i}",
                    Password     = "******"
                };
                brandUsers.Add(BrandUser);
                context.MyUsers.Add(BrandUser);
            }
            context.SaveChanges();


            //List<MyUser> users = context.MyUsers.ToList();
            //Creating a Brand for the current BrandUser
            foreach (MyUser item in brandUsers)
            {
                Brand newBrand = new Brand()
                {
                    BrandName  = FakeData.NameData.GetCompanyName(),
                    BrandImage = "BrandImage.jpg",
                    Tag        = FakeData.TextData.GetSentence(),
                    MyUser     = item,
                };
                brandList.Add(newBrand);
                context.Brands.Add(newBrand);
            }
            context.SaveChanges();

            // Creating categories(3,6) for the current Brand

            foreach (var itemBrand in brandList)
            {
                for (int a = 0; a < FakeData.NumberData.GetNumber(3, 6); a++)
                {
                    Category category = new Category()
                    {
                        Title       = FakeData.NameData.GetSurname(),
                        Description = FakeData.TextData.GetSentence(),
                        Brand       = itemBrand,
                    };

                    context.Categories.Add(category);
                }
            }
            context.SaveChanges();

            List <string> sizeList = new List <string>();

            sizeList.Add("XS");
            sizeList.Add("S");
            sizeList.Add("M");
            sizeList.Add("L");
            sizeList.Add("XL");
            sizeList.Add("XXL");

            List <string> colorList = new List <string>();

            colorList.Add("black");
            colorList.Add("white");
            colorList.Add("pink");
            colorList.Add("green");
            colorList.Add("red");


            //Creating 50 products
            for (int j = 0; j < 50; j++)
            {
                Product newProduct = new Product()
                {
                    ProductName        = FakeData.NameData.GetCompanyName(),
                    ProductDescription = FakeData.TextData.GetSentence(),
                    Brand = brandList[(FakeData.NumberData.GetNumber(0, brandList.Count - 1))],
                    Size  = sizeList[(FakeData.NumberData.GetNumber(0, sizeList.Count - 1))],
                    Color = colorList[(FakeData.NumberData.GetNumber(0, colorList.Count - 1))],
                    Stock = FakeData.NumberData.GetNumber(10, 100),
                    Price = FakeData.NumberData.GetDouble(),
                    DiscountPercentage = FakeData.NumberData.GetNumber(0, 10),
                };

                productList.Add(newProduct);
                context.Product.Add(newProduct);
            }
            context.SaveChanges();


            List <MyUser> standartUserList = new List <MyUser>();

            for (int s = 0; s < 10; s++)
            {
                MyUser standartUser = new MyUser()
                {
                    Name         = FakeData.NameData.GetFirstName(),
                    Surname      = FakeData.NameData.GetSurname(),
                    Email        = FakeData.NetworkData.GetEmail(),
                    UserImage    = FakeData.NetworkData.GetDomain(),
                    ActivateGuid = Guid.NewGuid(),
                    IsActive     = true,
                    IsSuperUser  = false,
                    HasBrand     = false,
                    Username     = $"standartUser{s}",
                    Password     = "******"
                };
                standartUserList.Add(standartUser);
                context.MyUsers.Add(standartUser);
                context.SaveChanges();

                //Creating Wishlist for standartusers randomly.
                if (FakeData.BooleanData.GetBoolean())
                {
                    Wishlist wishlist = new Wishlist()
                    {
                        IsPublic = FakeData.BooleanData.GetBoolean(),
                        Title    = FakeData.BooleanData.GetBoolean() ? "Specialized-WishList-Title" : "WishList",
                        MyUser   = standartUser,
                    };
                    context.Wishlists.Add(wishlist);

                    //Adding products to the wishlist randomly
                    for (int i = 0; i < FakeData.NumberData.GetNumber(3, 10); i++)
                    {
                        Wishlist_Products wishlist_products = new Wishlist_Products()
                        {
                            Product  = productList[FakeData.NumberData.GetNumber(0, 45)],
                            Wishlist = wishlist
                        };
                        context.WishlistProduct.Add(wishlist_products);
                    }
                }

                //Creating Sale for standart users randomly
                if (FakeData.BooleanData.GetBoolean())
                {
                    for (int salecounter = 0; salecounter < FakeData.NumberData.GetNumber(3, 20); salecounter++)
                    {
                        double totalPrice = 0;

                        Sale_Details saleDetail = new Sale_Details()
                        {
                        };

                        Sale sale = new Sale()
                        {
                        };
                        for (int saleDetailCounter = 0; saleDetailCounter < FakeData.NumberData.GetNumber(2, 8); saleDetailCounter++)
                        {
                            Product soldProduct  = productList[FakeData.NumberData.GetNumber(0, 49)];
                            int     tempQuantity = FakeData.NumberData.GetNumber(1, 4);
                            double  tempSubTotal = soldProduct.Price * tempQuantity;
                            totalPrice += tempSubTotal;


                            saleDetail.Quantity     = tempQuantity;
                            saleDetail.Product      = soldProduct;
                            saleDetail.InstantPrice = soldProduct.Price;
                            saleDetail.SubTotal     = tempSubTotal;
                            saleDetail.Sale         = sale;


                            context.Sale_Details.Add(saleDetail);
                        }


                        sale.Customer   = standartUser;
                        sale.Date       = FakeData.DateTimeData.GetDatetime();
                        sale.Time       = FakeData.DateTimeData.GetDatetime();
                        sale.TotalPrice = totalPrice;
                        sale.TotalVat   = 18;



                        context.Sales.Add(sale);
                    }
                }
            }

            context.SaveChanges();



            //Adding product images
            foreach (Product itemProduct in productList)
            {
                for (int i = 0; i < FakeData.NumberData.GetNumber(3, 7); i++)
                {
                    Product_Image productImage = new Product_Image()
                    {
                        Url     = $"picture{i}.jpg",
                        Product = itemProduct,
                    };
                    context.ProductImages.Add(productImage);


                    //Adding comments
                    Comment newComment = new Comment()
                    {
                        Text    = FakeData.TextData.GetSentences(FakeData.NumberData.GetNumber(1, 3)),
                        Owner   = standartUserList[FakeData.NumberData.GetNumber(0, standartUserList.Count - 1)],
                        Product = itemProduct,
                    };
                    context.Comments.Add(newComment);


                    //Creating likes
                    Like like = new Like()
                    {
                        LikeOwner = standartUserList[FakeData.NumberData.GetNumber(0, standartUserList.Count - 1)],
                        Product   = itemProduct,
                    };
                    context.Likes.Add(like);
                }
            }
            context.SaveChanges();
        }
예제 #2
0
        protected override void Seed(DatabaseContext context)
        {
            List <Brand>   brandList   = new List <Brand>();
            List <MyUser>  brandUsers  = new List <MyUser>();
            List <Product> productList = new List <Product>();


            //Only one super user is creating
            MyUser SuperUser = new MyUser()
            {
                Name             = "Emre",
                Surname          = "Serbest",
                ActivateGuid     = Guid.NewGuid(),
                Email            = "*****@*****.**",
                Address          = FakeData.PlaceData.GetAddress(),
                Gender           = "Male",
                IsActive         = true,
                IsSuperUser      = true,
                HasBrand         = false,
                Username         = "******",
                Password         = "******",
                UserImage        = "super_user_avatar.png",
                CreatedOn        = DateTime.Now,
                ModifiedOn       = DateTime.Now,
                ModifiedUsername = "******",
            };

            context.MyUsers.Add(SuperUser);
            context.SaveChanges();


            //Creating 7 Admins (Brand Users)
            for (int i = 0; i < 7; i++)
            {
                var gender     = FakeData.BooleanData.GetBoolean() ? "Male" : "Female";
                var avatar_url = "default_user_avatar";
                if (gender == "Male")
                {
                    avatar_url = "male_user_avatar.png";
                }
                else
                {
                    avatar_url = "female_user_avatar.png";
                }

                MyUser BrandUser = new MyUser()
                {
                    Name             = FakeData.NameData.GetFirstName(),
                    Surname          = FakeData.NameData.GetSurname(),
                    Email            = FakeData.NetworkData.GetEmail(),
                    Address          = FakeData.PlaceData.GetAddress(),
                    Gender           = gender,
                    UserImage        = avatar_url,
                    ActivateGuid     = Guid.NewGuid(),
                    IsActive         = true,
                    IsSuperUser      = false,
                    HasBrand         = true,
                    Username         = $"brandUser{i}",
                    Password         = "******",
                    CreatedOn        = DateTime.Now,
                    ModifiedOn       = DateTime.Now,
                    ModifiedUsername = "******",
                };
                brandUsers.Add(BrandUser);
                context.MyUsers.Add(BrandUser);
            }
            context.SaveChanges();


            //List<MyUser> users = context.MyUsers.ToList();
            //Creating a Brand for the current BrandUser
            foreach (MyUser item in brandUsers)
            {
                Brand newBrand = new Brand()
                {
                    BrandName        = FakeData.NameData.GetCompanyName(),
                    BrandImage       = "logo_placeholder.png",
                    Tag              = FakeData.TextData.GetSentence(),
                    MyUser           = item,
                    CreatedOn        = DateTime.Now,
                    ModifiedOn       = DateTime.Now,
                    ModifiedUsername = "******",
                };
                brandList.Add(newBrand);
                context.Brands.Add(newBrand);
            }
            context.SaveChanges();



            List <string> sizeList = new List <string>();

            sizeList.Add("XS");
            sizeList.Add("S");
            sizeList.Add("M");
            sizeList.Add("L");
            sizeList.Add("XL");
            sizeList.Add("XXL");

            List <string> colorList = new List <string>();

            colorList.Add("black");
            colorList.Add("white");
            colorList.Add("pink");
            colorList.Add("green");
            colorList.Add("red");

            // Creating Categories MEN, WOMEN, KidsAndBabies

            Category Men = new Category()
            {
                Title            = "Men",
                Description      = "Only for men shopping items",
                CreatedOn        = DateTime.Now,
                ModifiedOn       = DateTime.Now,
                ModifiedUsername = "******",
            };

            context.Categories.Add(Men);

            Category Women = new Category()
            {
                Title            = "Women",
                Description      = "Only for women shopping items",
                CreatedOn        = DateTime.Now,
                ModifiedOn       = DateTime.Now,
                ModifiedUsername = "******",
            };

            context.Categories.Add(Women);

            Category KidsAndBabies = new Category()
            {
                Title            = "Kids & Babies",
                Description      = "Kids and Babies shopping items",
                CreatedOn        = DateTime.Now,
                ModifiedOn       = DateTime.Now,
                ModifiedUsername = "******",
            };

            context.Categories.Add(KidsAndBabies);
            context.SaveChanges();
            List <Category>    mainCategories             = new List <Category>();
            List <SubCategory> MenSubCategories           = new List <SubCategory>();
            List <SubCategory> WomenSubCategories         = new List <SubCategory>();
            List <SubCategory> KidsAndBabiesSubCategories = new List <SubCategory>();

            List <string> MenCatNames = new List <string>()
            {
                "Hoodies",
                "Jackets",
                "T-shirts",
                "Shirts",
                "Socks",
                "Jeans",
                "Casual Pants",
                "Cargo Pants",
                "Suits",
                "Boxers",
                "Men's Sleep Lounge",
                "Accessories",
            };

            List <string> WomenCatNames = new List <string>()
            {
                "Dress",
                "Blouses",
                "T-shirts",
                "Beach Style",
                "Skirts",
                "Shorts",
                "Jean",
                "Blazers",
                "Bra",
                "Sleep Lounge",
                "Accessories",
            };

            List <string> KidsCatNames = new List <string>()
            {
                "Dresses",
                "Clothing Sets",
                "Family Matching Clothes",
                "Shoes",
                "Swim Suits",
                "Shorts",
                "Baby Mother",
                "Toys",
            };

            foreach (string subCat in MenCatNames)
            {
                SubCategory subCatMen = new SubCategory()
                {
                    Title            = subCat,
                    Description      = "Men Shopping",
                    Category         = Men,
                    CreatedOn        = DateTime.Now,
                    ModifiedOn       = DateTime.Now,
                    ModifiedUsername = "******",
                };

                MenSubCategories.Add(subCatMen);
                context.SubCategories.Add(subCatMen);
            }

            foreach (string subCat in WomenCatNames)
            {
                SubCategory subCatWomen = new SubCategory()
                {
                    Title            = subCat,
                    Description      = "Women Shopping",
                    Category         = Women,
                    CreatedOn        = DateTime.Now,
                    ModifiedOn       = DateTime.Now,
                    ModifiedUsername = "******",
                };

                WomenSubCategories.Add(subCatWomen);
                context.SubCategories.Add(subCatWomen);
            }

            foreach (string subCat in KidsCatNames)
            {
                SubCategory subCatKidsAndBabies = new SubCategory()
                {
                    Title            = subCat,
                    Description      = "Kids & Babies Shopping",
                    Category         = KidsAndBabies,
                    CreatedOn        = DateTime.Now,
                    ModifiedOn       = DateTime.Now,
                    ModifiedUsername = "******",
                };

                KidsAndBabiesSubCategories.Add(subCatKidsAndBabies);
                context.SubCategories.Add(subCatKidsAndBabies);
            }

            context.SaveChanges();

            mainCategories.Add(Men);
            mainCategories.Add(Women);
            mainCategories.Add(KidsAndBabies);


            //Creating 50 products
            for (int j = 0; j < 50; j++)
            {
                Category    randomCat = mainCategories[FakeData.NumberData.GetNumber(0, mainCategories.Count - 1)];
                SubCategory randomSubCat;
                if (randomCat == Men)
                {
                    randomSubCat = MenSubCategories[FakeData.NumberData.GetNumber(0, MenSubCategories.Count - 1)];
                }
                else if (randomCat == Women)
                {
                    randomSubCat = WomenSubCategories[FakeData.NumberData.GetNumber(0, WomenSubCategories.Count - 1)];
                }
                else
                {
                    randomSubCat = KidsAndBabiesSubCategories[FakeData.NumberData.GetNumber(0, KidsAndBabiesSubCategories.Count - 1)];
                }

                Product newProduct = new Product()
                {
                    ProductName        = FakeData.NameData.GetCompanyName(),
                    ProductDescription = FakeData.TextData.GetSentence(),
                    Brand = brandList[(FakeData.NumberData.GetNumber(0, brandList.Count - 1))],
                    Size  = sizeList[(FakeData.NumberData.GetNumber(0, sizeList.Count - 1))],
                    Color = colorList[(FakeData.NumberData.GetNumber(0, colorList.Count - 1))],
                    Stock = FakeData.NumberData.GetNumber(10, 100),
                    Price = FakeData.NumberData.GetNumber(15, 150),
                    DiscountPercentage = FakeData.NumberData.GetNumber(0, 10),
                    Category           = randomCat,
                    SubCategory        = randomSubCat,
                    CreatedOn          = DateTime.Now,
                    ModifiedOn         = DateTime.Now,
                    ModifiedUsername   = "******",
                };

                productList.Add(newProduct);
                context.Product.Add(newProduct);
            }
            context.SaveChanges();


            List <MyUser> standartUserList = new List <MyUser>();

            for (int s = 0; s < 10; s++)
            {
                MyUser standartUser = new MyUser()
                {
                    Name             = FakeData.NameData.GetFirstName(),
                    Surname          = FakeData.NameData.GetSurname(),
                    Email            = FakeData.NetworkData.GetEmail(),
                    Address          = FakeData.PlaceData.GetAddress(),
                    Gender           = FakeData.BooleanData.GetBoolean() ? "Male" : "Female",
                    UserImage        = FakeData.NetworkData.GetDomain(),
                    ActivateGuid     = Guid.NewGuid(),
                    IsActive         = true,
                    IsSuperUser      = false,
                    HasBrand         = false,
                    Username         = $"standartUser{s}",
                    Password         = "******",
                    CreatedOn        = DateTime.Now,
                    ModifiedOn       = DateTime.Now,
                    ModifiedUsername = "******",
                };
                standartUserList.Add(standartUser);
                context.MyUsers.Add(standartUser);
                context.SaveChanges();

                //Creating Wishlist for standartusers randomly.
                if (FakeData.BooleanData.GetBoolean())
                {
                    Wishlist wishlist = new Wishlist()
                    {
                        IsPublic = FakeData.BooleanData.GetBoolean(),
                        Title    = FakeData.BooleanData.GetBoolean() ? "Specialized-WishList-Title" : "WishList",
                        MyUser   = standartUser,
                    };
                    context.Wishlists.Add(wishlist);

                    //Adding products to the wishlist randomly
                    for (int i = 0; i < FakeData.NumberData.GetNumber(3, 10); i++)
                    {
                        Wishlist_Products wishlist_products = new Wishlist_Products()
                        {
                            Product  = productList[FakeData.NumberData.GetNumber(0, 45)],
                            Wishlist = wishlist
                        };
                        context.WishlistProduct.Add(wishlist_products);
                    }
                }

                //Creating Sale for standart users randomly
                if (FakeData.BooleanData.GetBoolean())
                {
                    for (int salecounter = 0; salecounter < FakeData.NumberData.GetNumber(3, 20); salecounter++)
                    {
                        double totalPrice = 0;

                        Sale_Details saleDetail = new Sale_Details()
                        {
                        };

                        Sale sale = new Sale()
                        {
                        };
                        for (int saleDetailCounter = 0; saleDetailCounter < FakeData.NumberData.GetNumber(2, 8); saleDetailCounter++)
                        {
                            Product soldProduct  = productList[FakeData.NumberData.GetNumber(0, 49)];
                            int     tempQuantity = FakeData.NumberData.GetNumber(1, 4);
                            double  tempSubTotal = soldProduct.Price * tempQuantity;
                            totalPrice += tempSubTotal;


                            saleDetail.Quantity     = tempQuantity;
                            saleDetail.Product      = soldProduct;
                            saleDetail.InstantPrice = soldProduct.Price;
                            saleDetail.SubTotal     = tempSubTotal;
                            saleDetail.Sale         = sale;


                            context.Sale_Details.Add(saleDetail);
                        }


                        sale.Customer   = standartUser;
                        sale.Date       = FakeData.DateTimeData.GetDatetime();
                        sale.Time       = FakeData.DateTimeData.GetDatetime();
                        sale.TotalPrice = totalPrice;
                        sale.TotalVat   = 18;



                        context.Sales.Add(sale);
                    }
                }
            }

            context.SaveChanges();



            //Adding product images
            foreach (Product itemProduct in productList)
            {
                for (int i = 0; i < FakeData.NumberData.GetNumber(3, 7); i++)
                {
                    Product_Image productImage = new Product_Image()
                    {
                        Url     = $"picture{i}.jpg",
                        Product = itemProduct,
                    };
                    context.ProductImages.Add(productImage);


                    MyUser owner = standartUserList[FakeData.NumberData.GetNumber(0, standartUserList.Count - 1)];
                    //Adding comments
                    Comment newComment = new Comment()
                    {
                        Text             = FakeData.TextData.GetSentences(FakeData.NumberData.GetNumber(1, 3)),
                        Owner            = owner,
                        Product          = itemProduct,
                        CreatedOn        = DateTime.Now,
                        ModifiedOn       = DateTime.Now,
                        ModifiedUsername = owner.Username,
                    };
                    context.Comments.Add(newComment);


                    //Creating likes
                    Rate Rate = new Rate()
                    {
                        RateOwner = standartUserList[FakeData.NumberData.GetNumber(0, standartUserList.Count - 1)],
                        Product   = itemProduct,
                    };
                    context.Rates.Add(Rate);
                }
            }
            context.SaveChanges();
        }