//what happens when each tab is selected private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) { switch (tabControl1.SelectedIndex) { //tab package details case 0: pkgNameListBox.Items.Clear(); Package pkg = new Package(); packages = db.Packages.ToList(); packagesProductsSuppliers = db.Packages_Products_Suppliers.ToList(); //Products for each package selected foreach (var kg in packages) { pkgNameListBox.Items.Add(kg.PkgName); } // combo box of product list Product prod = new Product(); var products = db.Products; var productList = products.Select(d => d.ProdName).Distinct().ToList(); cmbProductList.DataSource = productList; break; //tab for updating packages case 1: packageDataGridView.DataSource = db.Packages; break; //tab for updating product/suppliers case 2: productDataGridView.DataSource = db.Products; supplierDataGridView.DataSource = db.Suppliers; break; //tab for updating product_suppliers table case 3: Products_Supplier prosu = null; prosu = new Products_Supplier(); var prodsup = from ps in db.Products_Suppliers join sup in db.Suppliers on ps.SupplierId equals sup.SupplierId join p in db.Products on ps.ProductId equals p.ProductId into dbGroup select new { ProductSupplierID = ps.ProductSupplierId, ProductId = ps.Product.ProdName, SupplierId = sup.SupName, }; products_SupplierDataGridView.DataSource = prodsup.ToList(); break; } }
//save product supplier private void btnSaveProductSupplier_Click(object sender, EventArgs e) { try { using (TravelExpertDBDataContext db = new TravelExpertDBDataContext()) { Products_Supplier pkg = new Products_Supplier(); if (addProductSupplier) { pkg.ProductId = Convert.ToInt32(productIdTextBox.Text); pkg.SupplierId = Convert.ToInt32(supplierIdTextBox.Text); db.Products_Suppliers.InsertOnSubmit(pkg); } else { // lambda expression is applied pkg = db.Products_Suppliers.Single(pk => pk.ProductSupplierId == Convert.ToInt32(textBox2.Text)); pkg.ProductId = Convert.ToInt32(productIdTextBox.Text); pkg.SupplierId = Convert.ToInt32(supplierIdTextBox.Text); } db.SubmitChanges(); DialogResult = DialogResult.OK; } } //Catch concurrency exception catch (ChangeConflictException) { MessageBox.Show("Another user changed or deleted the current record", "Concurrency Exception"); DialogResult = DialogResult.Retry; } catch (SqlException ex) { MessageBox.Show(ex.Message, ex.GetType().ToString()); } }
//Add Supplier to product private void btnAddProductSupplier_Click(object sender, EventArgs e) { frmAddEditProductSuppliers addProductSupplierForm = new frmAddEditProductSuppliers(); addProductSupplierForm.addProductSupplier = true; // Display second form model DialogResult result = addProductSupplierForm.ShowDialog(); using (TravelExpertDBDataContext db = new TravelExpertDBDataContext()) { // Update is successful if (result == DialogResult.OK) { // Refresh grid Products_Supplier prosu = null; prosu = new Products_Supplier(); var prodsup = from ps in db.Products_Suppliers join sup in db.Suppliers on ps.SupplierId equals sup.SupplierId join p in db.Products on ps.ProductId equals p.ProductId into dbGroup select new { ProductSupplierID = ps.ProductSupplierId, ProductId = ps.Product.ProdName, SupplierId = sup.SupName, }; products_SupplierDataGridView.DataSource = prodsup.ToList(); MessageBox.Show("New Supplier Added to Product Successfully"); } } }
private void attach_Products_Suppliers(Products_Supplier entity) { this.SendPropertyChanging(); entity.Supplier = this; }
private void detach_Products_Suppliers(Products_Supplier entity) { this.SendPropertyChanging(); entity.Product = null; }
partial void DeleteProducts_Supplier(Products_Supplier instance);
partial void UpdateProducts_Supplier(Products_Supplier instance);
partial void InsertProducts_Supplier(Products_Supplier instance);