public static void SeedDatabase(SalesContext context)
        {
            Random randGenerator = new Random();

            var products  = new List <Product>();
            var customers = new List <Customer>();
            var stores    = new List <Store>();
            var sales     = new List <Sale>();

            products = SeedProducts(randGenerator);

            customers = SeedCustomers(randGenerator);

            stores = SeedStores(randGenerator);

            sales = SeedSales(randGenerator, products, customers, stores);

            context.AddRange(products);
            context.AddRange(customers);
            context.AddRange(stores);
            context.AddRange(sales);
            context.SaveChanges();
        }
        static void Main()
        {
            //Problem - 03
            SalesContext dbContext = new SalesContext();
            //Random random = new Random();

            //IWriter consoleWriter = new ConsoleWriter();

            //ICollection<ISeeder> seeders = new List<ISeeder>();

            //seeders.Add(new ProductSeeder(dbContext, random, consoleWriter));
            //seeders.Add(new StoreSeeder(dbContext, consoleWriter));

            //foreach (var seeder in seeders)
            //{
            //    seeder.Seed();
            //}


            //Problem - 05
            Sale sale = new Sale()
            {
                CustomerId = 1,
                ProductId  = 1,
                StoreId    = 1
            };

            dbContext.Sales.Add(sale);
            dbContext.SaveChanges();

            Sale[] sales = dbContext.Sales.ToArray();

            foreach (Sale saleInfo in sales)
            {
                Console.WriteLine($"Sale ({saleInfo.SaleId} {saleInfo.Date})");
            }
        }
Ejemplo n.º 3
0
        //Add methods
        public static string AddCustomer(SalesContext context)
        {
            Console.WriteLine("Customer name:");
            string name = Console.ReadLine();

            Console.WriteLine("Customer email:");
            string email = Console.ReadLine();

            Console.WriteLine("Customer credit card number");
            string creditCardNumber = Console.ReadLine();

            var customer = new Customer()
            {
                Name             = name,
                Email            = email,
                CreditCardNumber = creditCardNumber
            };

            context.Customers.Add(customer);

            context.SaveChanges();

            return($"Added customer {name}");
        }
Ejemplo n.º 4
0
        public static string UpdateStore(SalesContext context, string name)
        {
            int storeId = FindStoreId(context, name);

            if (storeId == -1)
            {
                return("There is no store with that name");
            }

            var store = context
                        .Stores
                        .Where(s => s.StoreId == storeId)
                        .FirstOrDefault();

            Console.WriteLine("New name:");

            string newName = Console.ReadLine();

            store.Name = newName;

            context.SaveChanges();

            return($"Store: {name} With new name {newName}");
        }
Ejemplo n.º 5
0
        private static void Seed(SalesContext context)
        {
            var stores = new[]
            {
                new Store {
                    Name = "Kaufland"
                },
                new Store {
                    Name = "Lidl"
                },
                new Store {
                    Name = "Homemax"
                }
            };

            context.Stores.AddRange(stores);
            context.SaveChanges();

            var customers = new[]
            {
                new Customer {
                    Name = "Stoian", Email = "*****@*****.**", CreditCardNumber = "6546754674234"
                },
                new Customer {
                    Name = "Petyr", Email = "*****@*****.**"
                }
            };

            context.Customers.AddRange(customers);
            context.SaveChanges();

            var products = new[]
            {
                new Product {
                    Name = "Bread", Quantity = 0.500m, Price = 0.90m, Description = "White bread"
                },
                new Product {
                    Name = "Steak", Quantity = 0.900m, Price = 6.80m, Description = "Pork steak"
                },
                new Product {
                    Name = "Crowbar", Quantity = 4.900m, Price = 12.50m, Description = "Crowbar for the garden"
                },
                new Product {
                    Name = "Cake", Quantity = 1.000m, Price = 8.20m, Description = "Cake for a birthday"
                },
                new Product {
                    Name = "Screwdriver", Quantity = 0.300m, Price = 9.99m, Description = "Screwdriver for small appliances"
                }
            };

            context.Products.AddRange(products);
            context.SaveChanges();

            var sales = new[]
            {
                new Sale {
                    Date = DateTime.Now, Customer = customers[0], Product = products[1], Store = stores[0]
                },
                new Sale {
                    Date = DateTime.Today.AddDays(-2), Customer = customers[0], Product = products[3], Store = stores[1]
                },
                new Sale {
                    Date = DateTime.Today.AddDays(-6), Customer = customers[1], Product = products[2], Store = stores[2]
                },
                new Sale {
                    Date = DateTime.Now, Customer = customers[1], Product = products[4], Store = stores[2]
                },
                new Sale {
                    Date = DateTime.Now.AddDays(-3), Customer = customers[0], Product = products[0], Store = stores[0]
                },
                new Sale {
                    Date = DateTime.Now, Customer = customers[1], Product = products[1], Store = stores[1]
                },
            };

            context.Sales.AddRange(sales);
            context.SaveChanges();
        }
Ejemplo n.º 6
0
        public static string AddSale(SalesContext context)
        {
            //Date
            Console.WriteLine("Add date?");
            char     dorno = char.Parse(Console.ReadLine());
            DateTime?date  = new DateTime();

            if (char.ToLower(dorno) == 'y')
            {
                date = DateTime.Parse(Console.ReadLine());
            }
            else
            {
                date = null;
            }
            //ProductId
            Console.WriteLine("Product Name: ");
            string productName = Console.ReadLine();
            int    productId   = FindProductId(context, productName);

            if (productId == -1)
            {
                Console.WriteLine("Need to add the product before we continue");
                Console.WriteLine(AddProduct(context));
                productId = FindProductId(context, productName);
            }
            //customerId
            Console.WriteLine("Customer by name:");
            string customerName = Console.ReadLine();
            int    customerId   = FindCustomerId(context, customerName);

            if (customerId == -1)
            {
                Console.WriteLine("You have to add new Customer:");
                Console.WriteLine(AddCustomer(context));
                customerId = FindCustomerId(context, customerName);
            }
            //StoreId
            Console.WriteLine("Store name:");
            string storeName = Console.ReadLine();
            int    storeId   = FindStoreId(context, storeName);

            if (storeId == -1)
            {
                Console.WriteLine("You have to create new store!");
                Console.WriteLine(AddStore(context));
                storeId = FindStoreId(context, storeName);
            }

            if (date == null)
            {
                Sale sale = new Sale()
                {
                    ProductId  = productId,
                    CustomerId = customerId,
                    StoreId    = storeId
                };

                context.Sales.Add(sale);
            }
            else
            {
                Sale sale = new Sale()
                {
                    Date       = (DateTime)date,
                    ProductId  = productId,
                    CustomerId = customerId,
                    StoreId    = storeId
                };

                context.Sales.Add(sale);
            }

            context.SaveChanges();

            return("Added new Sale");
        }
Ejemplo n.º 7
0
        private static void Seed(SalesContext db)
        {
            Customer customer = new Customer
            {
                Name             = "Gosho",
                Email            = "*****@*****.**",
                CreditCardNumber = "123",
            };


            Customer customer2 = new Customer
            {
                Name             = "Ivan",
                Email            = "*****@*****.**",
                CreditCardNumber = "567",
            };

            db.Add(customer2);

            db.Add(customer);



            Sale sale = new Sale
            {
                Date       = DateTime.Now,
                ProductId  = 1,
                CustomerId = 1,
                StoreId    = 2,
            };

            db.AddRange(sale);



            Sale sale2 = new Sale
            {
                Date       = DateTime.Now,
                ProductId  = 2,
                CustomerId = 2,
                StoreId    = 1,
            };

            db.Add(sale2);

            Sale sale3 = new Sale
            {
                Date       = DateTime.Now,
                ProductId  = 1,
                CustomerId = 1,
                StoreId    = 2,
            };

            db.Add(sale3);

            Product product = new Product
            {
                Name        = "Sirene",
                Quantity    = 15,
                Price       = 120,
                Description = "Unikalno",
            };

            product.Sales.Add(sale);
            product.Sales.Add(sale2);



            Product product2 = new Product
            {
                Name        = "Salam",
                Quantity    = 5,
                Price       = 13,
                Description = "Vkusno",
            };

            product2.Sales.Add(sale);
            product2.Sales.Add(sale2);

            db.Add(product2);

            Store store = new Store
            {
                Name = "Metro"
            };

            store.Sales.Add(sale3);



            db.Add(store);
            db.SaveChanges();
        }
Ejemplo n.º 8
0
        private static void Seed(SalesContext context)
        {
            Product[] products = new[]
            {
                new Product
                {
                    Name        = "Chips",
                    Quantity    = 30,
                    Price       = 1.20M,
                    Description = "Delicious baked chips",
                },
                new Product
                {
                    Name        = "Water",
                    Quantity    = 110,
                    Price       = 1.00M,
                    Description = "Purest mountain water",
                }
            };
            context.Products.AddRange(products);

            Customer[] customers = new[]
            {
                new Customer
                {
                    Name             = "Ivan",
                    CreditCardNumber = "1111 1111 1111 1111"
                },
                new Customer
                {
                    Name             = "Mariya",
                    CreditCardNumber = "0000 1111 1111 1111"
                }
            };
            context.Customers.AddRange(customers);

            Store store = new Store
            {
                Name = "MegaShop"
            };

            context.Stores.Add(store);

            Sale[] sales = new Sale[]
            {
                new Sale
                {
                    Date     = new DateTime(2019, 11, 6),
                    Product  = products[0],
                    Customer = customers[1],
                    Store    = store,
                },
                new Sale
                {
                    Date     = new DateTime(2019, 11, 6),
                    Product  = products[0],
                    Customer = customers[0],
                    Store    = store,
                },
                new Sale
                {
                    Date     = new DateTime(2019, 11, 6),
                    Product  = products[1],
                    Customer = customers[0],
                    Store    = store,
                }
            };
            context.Sales.AddRange(sales);

            context.SaveChanges();
        }