예제 #1
0
        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();
            }
        }