コード例 #1
0
        /// <summary>
        /// Add a product to the package
        /// </summary>
        /// <param name="productId"></param>
        /// <param name="supplierId"></param>
        private void AddProductToPackage(int productId, int supplierId)
        {
            try
            {
                //get the productsupplier from db
                ProductSupplier productSupplier = ProductSupplierDB.GetProductSupplier(productId, supplierId);

                //create the PPS to be added to db
                PackageProductSupplier newPackagePS = new PackageProductSupplier()
                {
                    ProductSupplierId = productSupplier.ProductSupplierID,
                    PackageId         = PackageSelected.PackageId
                };

                if (!PackageValidator.IsPackageProductSupplierExisting(newPackagePS))
                {
                    //add packageproductsupplier to db
                    PackageProductSupplierDB.Add(newPackagePS);
                    GetBindedPackageProducts(PackageSelected.PackageId);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "Unable to add product", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #2
0
        /// <summary>
        /// Add selected product to package in detail view
        /// </summary>
        /// @author Harry
        private void btnAddProdToPkg_Click(object sender, EventArgs e)
        {
            if (cmboBoxSupsOfProd.SelectedIndex > -1) // selection required
            {
                // get product and supplier ids (to get ProductSupplierId)
                int prodId     = products[cmboBoxProducts.SelectedIndex].ProductID;
                int supplierId = suppliersOfProd[cmboBoxSupsOfProd.SelectedIndex].SupplierId;

                try
                {
                    // get product supplier id
                    int prodSuppId = ProductSupplierDB.GetId(prodId, supplierId);

                    // create new package product supplier object to enter into package products suppliers table
                    PackageProductSupplier newPkgProdSup = new PackageProductSupplier();
                    newPkgProdSup.PackageId         = Convert.ToInt32(packageIdTextBox.Text);
                    newPkgProdSup.ProductSupplierId = prodSuppId;

                    // update packages product supplier table
                    bool success = PackageProductSupplierDB.AddNewPkgProdSupp(newPkgProdSup);

                    if (success)
                    {
                        // clear combo boxes
                        cmboBoxProducts.Items.Clear();
                        cmboBoxSupsOfProd.Items.Clear();

                        // show updated version of products associated with package
                        List <string> pkgProducts;
                        List <string> pkgProdSupps;

                        // access products and suppliers associated with current package
                        PackageDB.GetPackageProducts(packages[pkgPos].PackageId, out pkgProducts, out pkgProdSupps);
                        ShowPkgProducts(pkgProducts, pkgProdSupps);
                        ShowAllProducts();
                        cmboBoxSupsOfProd.Text = "";
                        cmboBoxProducts.Text   = "";
                        cmboBoxSupsOfProd.Items.Clear();
                        MessageBox.Show("Added product successfully.", "Success");
                    }
                    else
                    {
                        // clear combo boxes
                        cmboBoxProducts.Items.Clear();
                        cmboBoxSupsOfProd.Items.Clear();
                        MessageBox.Show("Error occured while adding product.", "Failure");
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error while adding product to package\n" + ex.Message,
                                    ex.GetType().ToString());
                }
            }
            else
            {
                MessageBox.Show("Please select a product and its supplier.", "Select Error");
            }
        }
コード例 #3
0
    public static List<PackageProductSupplier> GetPackageProductSupplier(string filter)
    {
        List<PackageProductSupplier> packageproductsuppliers = new List<PackageProductSupplier>();

            SqlConnection connection = TravelExpertsDB.GetConnection();

            // Define the select query to retrieve data from multiple tables
            string query = "SELECT Packages.PackageId, PkgName, PkgStartDate, PkgEndDate, PkgDesc," +
                " PkgBasePrice, PkgAgencyCommission, Packages_Products_Suppliers.ProductSupplierId, " +
                " Suppliers.SupName, Products.ProductId, ProdName " +
                "FROM Packages INNER JOIN Packages_Products_Suppliers on Packages.PackageId = Packages_Products_Suppliers.PackageId " +
                "INNER JOIN Products_Suppliers on Packages_Products_Suppliers.ProductSupplierId = Products_Suppliers.ProductSupplierId " +
                "INNER JOIN Suppliers on Products_Suppliers.SupplierId = Suppliers.SupplierId " +
                "INNER JOIN Products on Products_Suppliers.ProductId = Products.ProductId " +
                " WHERE Packages.PackageId > -1 " + filter;

            SqlCommand command = new SqlCommand(query, connection);

            try
            {
                // Open db connection and run query
                connection.Open();
                SqlDataReader reader = command.ExecuteReader();

                // Read dataset fill Packages list
                while (reader.Read())
                {
                    // Create object to store data retrieved from select query
                    PackageProductSupplier packageproductsupplier = new PackageProductSupplier();

                    packageproductsupplier.PackageId = (int)reader["PackageId"];
                    packageproductsupplier.PkgName = reader["PkgName"].ToString();
                    packageproductsupplier.PkgStartDate = (DateTime)reader["PkgStartDate"];
                    packageproductsupplier.PkgEndDate = (DateTime)reader["PkgEndDate"];
                    packageproductsupplier.PkgDesc = reader["PkgDesc"].ToString();
                    packageproductsupplier.PkgBasePrice = Convert.ToDouble(reader["PkgBasePrice"]);
                    packageproductsupplier.PkgAgencyCommission = Convert.ToDouble(reader["PkgAgencyCommission"]);
                    packageproductsupplier.ProductSupplierId = (int)reader["ProductSupplierId"];
                    packageproductsupplier.SupName = reader["SupName"].ToString();
                    packageproductsupplier.ProductId = (int)reader["ProductId"];
                    packageproductsupplier.ProdName = reader["ProdName"].ToString();

                    // Add object to list
                    packageproductsuppliers.Add(packageproductsupplier);

                }
                return packageproductsuppliers; // Return the list of objects for PackagesSuppliers class
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            finally
            {
                connection.Close();
            }
    }
コード例 #4
0
        /// <summary>
        /// Validates a package commission value
        /// </summary>
        /// <param name="tb"></param>
        /// <returns></returns>
        public static bool IsPackageProductSupplierExisting(PackageProductSupplier packageProductSupplier)
        {
            bool isExisting;

            if (PackageProductSupplierDB.Get(packageProductSupplier) != null)
            {
                MessageBox.Show("This product is already part of the package", "Notification", MessageBoxButtons.OK, MessageBoxIcon.Information);
                isExisting = true;
            }
            else
            {
                isExisting = false;
            }

            return(isExisting);
        }
コード例 #5
0
        /// <summary>
        /// Add a product to the package
        /// </summary>
        /// <param name="productId"></param>
        /// <param name="supplierId"></param>
        private void AddProductToPackage(int productId, int supplierId)
        {
            //get the productsupplier from db
            ProductSupplier productSupplier = ProductSupplierDB.GetProductSupplier(productId, supplierId);

            //create the PPS to be added to db
            PackageProductSupplier newPackagePS = new PackageProductSupplier()
            {
                ProductSupplierId = productSupplier.ProductSupplierID,
                PackageId         = PackageSelected.PackageId
            };

            if (!PackageValidator.IsPackageProductSupplierExisting(newPackagePS))
            {
                //add packageproductsupplier to db
                PackageProductSupplierDB.Add(newPackagePS);

                GetBindedPackageProducts(PackageSelected.PackageId);
            }
        }