private void GenerateButton_Click(object sender, EventArgs e) { // Check if product type is chosen. if (comboBox1.Text == "") { MessageBox.Show("Er moet een soort worden aangegeven.", "Foutmelding", MessageBoxButtons.OK); } // Check if boxes are filled. else if (NameBox.Text == "" || DescriptionBox.Text == "" || WidthBox.Text == "" || HeigthBox.Text == "" || PriceBox.Text == "") { MessageBox.Show("Alle velden moeten ingevuld zijn.", "Foutmelding", MessageBoxButtons.OK); } // Check if lightbox is filled (only when product type is "Lamp"). else if (comboBox1.SelectedItem.ToString() == "Lamp" && LightBox.Text == "") { MessageBox.Show("Alle velden moeten ingevuld zijn.", "Foutmelding", MessageBoxButtons.OK); } // Check if a image is uploaded. else if (image == null) { MessageBox.Show("Er moet een afbeelding worden meegegeven.", "Foutmelding", MessageBoxButtons.OK); } else { // Generate path project is based in. string workingPath = Path.Combine(Path.GetDirectoryName(Path.GetDirectoryName(Path.GetDirectoryName(Directory.GetCurrentDirectory()))), "ProductImages"); // Make the directory "ProductImages" if it doesnt exist. if (!Directory.Exists(workingPath)) { Directory.CreateDirectory(workingPath); } // Move image if directory exists. if (Directory.Exists(workingPath)) { // Make unique image name so it doesnt overwrite imageName = $@"{DateTime.Now.Ticks.GetHashCode().ToString("x").ToUpper()}.png"; // Copy the file to the base of this program. string tempString = Path.Combine(workingPath, imageName); pictureBox1.Image.Save(tempString); } Product product = null; //var mc = new MyContext(); //using (mc) //{ // Checks the selected product type and adds that product to the database. switch (comboBox1.SelectedItem.ToString()) { case "Bank": DatabaseController.AddProducts(product = new Sofa(NameBox.Text, DescriptionBox.Text, Int32.Parse(WidthBox.Text), Int32.Parse(HeigthBox.Text), double.Parse(PriceBox.Text), imageName)); break; case "Lamp": DatabaseController.AddProducts(product = new Lamp(NameBox.Text, DescriptionBox.Text, Int32.Parse(WidthBox.Text), Int32.Parse(HeigthBox.Text), double.Parse(PriceBox.Text), imageName, Int32.Parse(LightBox.Text))); break; case "Essentiële": DatabaseController.AddProducts(product = new Essentials(NameBox.Text, DescriptionBox.Text, Int32.Parse(WidthBox.Text), Int32.Parse(HeigthBox.Text), double.Parse(PriceBox.Text), imageName)); break; case "Stoel": DatabaseController.AddProducts(product = new Chair(NameBox.Text, DescriptionBox.Text, Int32.Parse(WidthBox.Text), Int32.Parse(HeigthBox.Text), double.Parse(PriceBox.Text), imageName)); break; case "Plant": DatabaseController.AddProducts(product = new Plant(NameBox.Text, DescriptionBox.Text, Int32.Parse(WidthBox.Text), Int32.Parse(HeigthBox.Text), double.Parse(PriceBox.Text), imageName)); break; case "Tafel": DatabaseController.AddProducts(product = new Table(NameBox.Text, DescriptionBox.Text, Int32.Parse(WidthBox.Text), Int32.Parse(HeigthBox.Text), double.Parse(PriceBox.Text), imageName)); break; case "Wandaccesoire": DatabaseController.AddProducts(product = new WallAccessories(NameBox.Text, DescriptionBox.Text, Int32.Parse(WidthBox.Text), Int32.Parse(HeigthBox.Text), double.Parse(PriceBox.Text), imageName)); break; case "Kast": DatabaseController.AddProducts(product = new Closet(NameBox.Text, DescriptionBox.Text, Int32.Parse(WidthBox.Text), Int32.Parse(HeigthBox.Text), double.Parse(PriceBox.Text), imageName)); break; } //} //catalogPanel.catalogController.AddProductToVanillaList(product); catalogPanel.catalogController.RefreshDisplayedItems(); MessageBox.Show("Het product is toegevoegd aan de catalogus.", "Succes", MessageBoxButtons.OK); Close(); } }