private void AddSteelCornerbars() { //Try to find Steel corner bars that match current cabinet conditions try { //We only need to create corner bars once AND only on the last rack (form4) called. //= > this function needs to be added to Cabinetkit class in future!!! //Calculate height totalheight = cabinetkit.CalculateHeight(); //Add Steel corner bars //Try to take the closest height (<= 2*2) possible to avoid cutting large pieces. //Add margin of 11 for extreme case => 7 * 52cm(max rack height) = 364cm for corniere, //closest and longest corniere in Catalog is at 375cm Element corner_bar = db.List_of_stock.Find(x => (x.Color == comboBx_SteelCornerBr.Text) && ((x.Height >= totalheight) && (x.Height <= totalheight + 4 || x.Height <= totalheight + 11)) && (x.Reference == "Cornieres")); corner_bar.CheckifAvailable(); //nullReferenceRisk if (corner_bar.Available == true) { //Create Steel Corner bars Steel_CornerBar steel_corner_bar = new Steel_CornerBar(comboBx_SteelCornerBr.Text, totalheight); if (corner_bar.Height > totalheight) { steel_corner_bar.Cut(); } steel_corner_bar.SetValues(corner_bar.Code, corner_bar.Price_client, corner_bar.Dimensions_cm, corner_bar.Quantity_per_rack, corner_bar.Available, corner_bar.Price_fournisseur1, corner_bar.Delay_fournisseur1, corner_bar.Price_fournisseur2, corner_bar.Delay_fournisseur2); for (int counter = 1; counter <= corner_bar.Quantity_per_rack; counter++) { int index = counter; index--; if (updateMode_flag == false) { //Add these elements to list contained in rack cabinetkit.Steel_corner_bars.Add(steel_corner_bar); } else { cabinetkit.Steel_corner_bars[index] = steel_corner_bar; } } } } catch (NullReferenceException) { MessageBox.Show("There are no Steelcorner bars that match your Cabinet !", "Titre", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void btn_Client_signup_Click(object sender, EventArgs e) { if (txtBx_Code.Text.Equals("") || txtBx_Type.Text.Equals("") || txtBx_Width.Text.Equals("") || txtBx_Depth.Equals("") || txtBx_Height.Equals("") || Colors.Equals("") || textBox1_CustomerPrice.Equals("") || textBox1_InStock.Equals("") || textBox1MinStock.Equals("") || textBox1_NumberOfPart.Equals("") || textBox1_SupplierPrice1.Equals("") || textBox1_SupplierPrice2.Equals("") || textBox1_SupplierTime1.Equals("") || textBox1_SupplierTime2.Equals("")) { // On ajoute une icône : celle d'une erreur ... MessageBox.Show("!!! Veuillez indiquer tous les champs !!!! ", "Titre", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error); } else { //Fields try { Convert.ToDouble(txtBx_Height.Text); Convert.ToDouble(txtBx_Depth.Text); Convert.ToDouble(txtBx_Width.Text); Convert.ToDouble(textBox1_CustomerPrice.Text); Convert.ToInt32(textBox1_InStock.Text); Convert.ToInt32(textBox1MinStock.Text); Convert.ToInt32(textBox1_NumberOfPart.Text); Convert.ToDouble(textBox1_SupplierPrice1.Text); Convert.ToDouble(textBox1_SupplierPrice2.Text); Convert.ToInt32(textBox1_SupplierTime1.Text); Convert.ToInt32(textBox1_SupplierTime2.Text); string name = txtBx_Type.Text; string reference = txtBx_Type.Text; string code = txtBx_Code.Text; double height = Convert.ToDouble(txtBx_Height.Text); double depth = Convert.ToDouble(txtBx_Depth.Text); double width = Convert.ToDouble(txtBx_Width.Text); string color = Colors.Text; double price_client = Convert.ToDouble(textBox1_CustomerPrice.Text); string dimensions_cm = ""; int quantity_in_stock = Convert.ToInt32(textBox1_InStock.Text); //bool available = true; int minimum_stock = Convert.ToInt32(textBox1MinStock.Text); int quantity_per_rack = Convert.ToInt32(textBox1_NumberOfPart.Text); double price_fournisseur1 = Convert.ToDouble(textBox1_SupplierPrice1.Text); double price_fournisseur2 = Convert.ToDouble(textBox1_SupplierPrice2.Text); int delay_fournisseur1 = Convert.ToInt32(textBox1_SupplierTime1.Text); int delay_fournisseur2 = Convert.ToInt32(textBox1_SupplierTime2.Text); if (reference == "Cornieres") { Steel_CornerBar steel_Corner_Bars = new Steel_CornerBar(reference, code, dimensions_cm, height, depth, width, color, quantity_in_stock, minimum_stock, price_client, quantity_per_rack, price_fournisseur1, delay_fournisseur1, price_fournisseur2, delay_fournisseur2); db.List_of_stock.Add(steel_Corner_Bars); Infos = "Successful update"; } else if (reference == "Coupelles") { Handle Handles = new Handle(reference, code, dimensions_cm, height, depth, width, color, quantity_in_stock, minimum_stock, price_client, quantity_per_rack, price_fournisseur1, delay_fournisseur1, price_fournisseur2, delay_fournisseur2); db.List_of_stock.Add(Handles); Infos = "Successful update"; } else if (reference == "Panneau Ar") { RearPanel rear_panels = new RearPanel(reference, code, dimensions_cm, height, depth, width, color, quantity_in_stock, minimum_stock, price_client, quantity_per_rack, price_fournisseur1, delay_fournisseur1, price_fournisseur2, delay_fournisseur2); db.List_of_stock.Add(rear_panels); Infos = "Successful update"; } else if (reference == "Panneau GD") { PanelLR left_right_panels = new PanelLR(reference, code, dimensions_cm, height, depth, width, color, quantity_in_stock, minimum_stock, price_client, quantity_per_rack, price_fournisseur1, delay_fournisseur1, price_fournisseur2, delay_fournisseur2); db.List_of_stock.Add(left_right_panels); Infos = "Successful update"; } else if (reference == "Panneau HB") { PanelTB top_bottom_panels = new PanelTB(reference, code, dimensions_cm, height, depth, width, color, quantity_in_stock, minimum_stock, price_client, quantity_per_rack, price_fournisseur1, delay_fournisseur1, price_fournisseur2, delay_fournisseur2); db.List_of_stock.Add(top_bottom_panels); Infos = "Successful update"; } else if (reference == "Porte") { Door doors = new Door(reference, code, dimensions_cm, height, depth, width, color, quantity_in_stock, minimum_stock, price_client, quantity_per_rack, price_fournisseur1, delay_fournisseur1, price_fournisseur2, delay_fournisseur2); db.List_of_stock.Add(doors); Infos = "Successful update"; } else if (reference == "Tasseau") { WoodenBatten wooden_battens = new WoodenBatten(reference, code, dimensions_cm, height, depth, width, color, quantity_in_stock, minimum_stock, price_client, quantity_per_rack, price_fournisseur1, delay_fournisseur1, price_fournisseur2, delay_fournisseur2); db.List_of_stock.Add(wooden_battens); Infos = "Successful update"; } else if (reference == "Traverse Ar") { Rear_crossbeam rear_crossbeams = new Rear_crossbeam(reference, code, dimensions_cm, height, depth, width, color, quantity_in_stock, minimum_stock, price_client, quantity_per_rack, price_fournisseur1, delay_fournisseur1, price_fournisseur2, delay_fournisseur2); db.List_of_stock.Add(rear_crossbeams); Infos = "Successful update"; } else if (reference == "Traverse Av") { Frontal_crossbeam frontal_crossbeams = new Frontal_crossbeam(reference, code, dimensions_cm, height, depth, width, color, quantity_in_stock, minimum_stock, price_client, quantity_per_rack, price_fournisseur1, delay_fournisseur1, price_fournisseur2, delay_fournisseur2); db.List_of_stock.Add(frontal_crossbeams); Infos = "Successful update"; } else if (reference == "Traverse GD") { Left_Right_crossbeam left_right_crossbeams = new Left_Right_crossbeam(reference, code, dimensions_cm, height, depth, width, color, quantity_in_stock, minimum_stock, price_client, quantity_per_rack, price_fournisseur1, delay_fournisseur1, price_fournisseur2, delay_fournisseur2); db.List_of_stock.Add(left_right_crossbeams); Infos = "Successful update"; } else { // On ajoute une icône : celle d'une erreur ... MessageBox.Show("!!! Error 103 aucun type ne correspond !!!! ", "Titre", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error); } } catch (Exception ex) { MessageBox.Show("!!! Oups :( !!!! " + ex, "Titre", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error); Infos = "!!! ERROR !!!"; } if (mode == "Add") { db.List_of_stock = db.List_of_stock; this.Hide(); // retourne à la page précédente Sudo_Catalog_management Catalog_management = new Sudo_Catalog_management(db, Infos); Catalog_management.ShowDialog(); } if (mode == "Edit") { db.List_of_stock.RemoveAt(Convert.ToInt32(ID.Text)); // on supprime la ligne la dataBase db.List_of_stock = db.List_of_stock; this.Hide(); // retourne à la page précédente Sudo_Catalog_management Catalog_management = new Sudo_Catalog_management(db, Infos); Catalog_management.ShowDialog(); } } }