private void InsertRackElements() { //Create Elements for Order = > this function needs to be added to Rack class in future!!! foreach (Element element in db.List_of_stock) { //Identify Handle Element if (element.Reference == "Coupelles") { //Set flag appropriately depending on inventory element.CheckifAvailable(); if (checkBx_rackhandles4.Checked == true) { //Create and add handles Handle handle = new Handle(); int rackindex = rackcounter; rackindex--; handle.SetValues(element.Code, element.Price_client, element.Dimensions_cm, element.Quantity_per_rack, element.Available, element.Price_fournisseur1, element.Delay_fournisseur1, element.Price_fournisseur2, element.Delay_fournisseur2); for (int counter = 1; counter <= element.Quantity_per_rack; counter++) { rack.AddElements(handle); } } } if (element.Reference == "Traverse Av") { if (element.Width == rack.Width) { element.CheckifAvailable(); //Create Crossbeam Frontal_crossbeam frontal_crossbeam = new Frontal_crossbeam(rack.Width, "Frontal Crossbeam"); //Set Price and dimensions from stock table frontal_crossbeam.SetValues(element.Code, element.Price_client, element.Dimensions_cm, element.Quantity_per_rack, element.Available, element.Price_fournisseur1, element.Delay_fournisseur1, element.Price_fournisseur2, element.Delay_fournisseur2); for (int counter = 1; counter <= element.Quantity_per_rack; counter++) { rack.AddElements(frontal_crossbeam); } } } if (element.Reference == "Traverse Ar") { if (element.Width == rack.Width) { element.CheckifAvailable(); //Create Crossbeams Rear_crossbeam rear_crossbeam = new Rear_crossbeam(rack.Width, "Rear Crossbeam"); rear_crossbeam.SetValues(element.Code, element.Price_client, element.Dimensions_cm, element.Quantity_per_rack, element.Available, element.Price_fournisseur1, element.Delay_fournisseur1, element.Price_fournisseur2, element.Delay_fournisseur2); for (int counter = 1; counter <= element.Quantity_per_rack; counter++) { rack.AddElements(rear_crossbeam); } } } if (element.Reference == "Traverse GD") { if (element.Depth == rack.Depth) { element.CheckifAvailable(); //Create Crossbeams Left_Right_crossbeam left_right_crossbeam1 = new Left_Right_crossbeam(rack.Depth, "Left Crossbeam"); left_right_crossbeam1.SetValues(element.Code, element.Price_client, element.Dimensions_cm, element.Quantity_per_rack, element.Available, element.Price_fournisseur1, element.Delay_fournisseur1, element.Price_fournisseur2, element.Delay_fournisseur2); for (int counter = 1; counter <= element.Quantity_per_rack - 2; counter++) { rack.AddElements(left_right_crossbeam1); } Left_Right_crossbeam left_right_crossbeam2 = new Left_Right_crossbeam(rack.Depth, "Right Crossbeam"); left_right_crossbeam2.SetValues(element.Code, element.Price_client, element.Dimensions_cm, element.Quantity_per_rack, element.Available, element.Price_fournisseur1, element.Delay_fournisseur1, element.Price_fournisseur2, element.Delay_fournisseur2); for (int counter = 1; counter <= element.Quantity_per_rack - 2; counter++) { rack.AddElements(left_right_crossbeam2); } } } if (element.Reference == "Tasseau") { if (element.Height == rack.Height) { element.CheckifAvailable(); //Create WoodenBattens WoodenBatten woodenBatten = new WoodenBatten(rack.Height); woodenBatten.SetValues(element.Code, element.Price_client, element.Dimensions_cm, element.Quantity_per_rack, element.Available, element.Price_fournisseur1, element.Delay_fournisseur1, element.Price_fournisseur2, element.Delay_fournisseur2); for (int counter = 1; counter <= element.Quantity_per_rack; counter++) { //Add these elements to list contained in rack rack.AddElements(woodenBatten); } } } if (element.Reference == "Porte") { //1 ou 2 cm maximum de marge pour la largeur if (((element.Width == rack.Width / 2 + 1) || (element.Width == rack.Width / 2 + 2)) && (element.Height == rack.Height) && (element.Color == comboBx_doorcolor4.Text)) { element.CheckifAvailable(); //Doors if (checkBx_rackdoors4.Checked == true) { //Create and add doors Left_Door leftdoor = new Left_Door(rack.Height, rack.Width, comboBx_doorcolor4.Text); Right_Door rightdoor = new Right_Door(rack.Height, rack.Width, comboBx_rightdoor.Text); leftdoor.SetValues(element.Code, element.Price_client, element.Dimensions_cm, element.Quantity_per_rack, element.Available, element.Price_fournisseur1, element.Delay_fournisseur1, element.Price_fournisseur2, element.Delay_fournisseur2); rightdoor.SetValues(element.Code, element.Price_client, element.Dimensions_cm, element.Quantity_per_rack, element.Available, element.Price_fournisseur1, element.Delay_fournisseur1, element.Price_fournisseur2, element.Delay_fournisseur2); rack.AddElements(leftdoor); rack.AddElements(rightdoor); } } } if (element.Reference == "Panneau HB") { if ((element.Depth == rack.Depth) && (element.Width == rack.Width) && (element.Color == comboBx_topPanel.Text)) { element.CheckifAvailable(); //Create Panels name = "Top Panel"; PanelTB toppanel = new PanelTB(name, comboBx_topPanel.Text, cabinetkit.Width, cabinetkit.Depth); //Premier panneauHB toppanel.SetValues(element.Code, element.Price_client, element.Dimensions_cm, element.Quantity_per_rack, element.Available, element.Price_fournisseur1, element.Delay_fournisseur1, element.Price_fournisseur2, element.Delay_fournisseur2); //Add these elements to list contained in rack rack.AddElements(toppanel); rack.Colors[1] = comboBx_topPanel.Text; } } if (element.Reference == "Panneau HB") { if ((element.Depth == rack.Depth) && (element.Width == rack.Width) && (element.Color == comboBx_BottmPanel.Text)) { element.CheckifAvailable(); name = "Bottom Panel"; PanelTB bottompanel = new PanelTB(name, comboBx_BottmPanel.Text, cabinetkit.Width, cabinetkit.Depth); //Deuxieme panneauHB bottompanel.SetValues(element.Code, element.Price_client, element.Dimensions_cm, element.Quantity_per_rack, element.Available, element.Price_fournisseur1, element.Delay_fournisseur1, element.Price_fournisseur2, element.Delay_fournisseur2); //Add these elements to list contained in rack rack.AddElements(bottompanel); rack.Colors[2] = comboBx_BottmPanel.Text; } } if (element.Reference == "Panneau GD") { if ((element.Depth == rack.Depth) && (element.Height == rack.Height) && (element.Color == comboBx_LPanel4.Text)) { element.CheckifAvailable(); //Create Panels name = "Left Panel"; PanelLR leftpanel = new PanelLR(name, comboBx_LPanel4.Text, cabinetkit.Depth); //Premier panneauGD leftpanel.SetValues(element.Code, element.Price_client, element.Dimensions_cm, element.Quantity_per_rack, element.Available, element.Price_fournisseur1, element.Delay_fournisseur1, element.Price_fournisseur2, element.Delay_fournisseur2); //Add these elements to list contained in rack rack.AddElements(leftpanel); rack.Colors[3] = comboBx_LPanel4.Text; } } if (element.Reference == "Panneau GD") { if ((element.Depth == rack.Depth) && (element.Height == rack.Height) && (element.Color == comboBx_Rpanel4.Text)) { element.CheckifAvailable(); name = "Right Panel"; PanelLR rightpanel = new PanelLR(name, comboBx_Rpanel4.Text, cabinetkit.Depth); //Deuxieme panneauGD rightpanel.SetValues(element.Code, element.Price_client, element.Dimensions_cm, element.Quantity_per_rack, element.Available, element.Price_fournisseur1, element.Delay_fournisseur1, element.Price_fournisseur2, element.Delay_fournisseur2); //Add these elements to list contained in rack rack.AddElements(rightpanel); rack.Colors[4] = comboBx_Rpanel4.Text; } } if (element.Reference == "Panneau Ar") { if ((element.Width == rack.Width) && (element.Height == rack.Height) && (element.Color == comboBx_RearPanel4.Text)) { element.CheckifAvailable(); name = "Rear Panel"; RearPanel rearpanel = new RearPanel(name, comboBx_RearPanel4.Text, cabinetkit.Width); //1 Panneau Arriere rearpanel.SetValues(element.Code, element.Price_client, element.Dimensions_cm, element.Quantity_per_rack, element.Available, element.Price_fournisseur1, element.Delay_fournisseur1, element.Price_fournisseur2, element.Delay_fournisseur2); rack.AddElements(rearpanel); rack.Colors[0] = comboBx_RearPanel4.Text; } } } }