protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string id = GridView1.SelectedRow.Cells[1].Text;

            selectedPackage = PackagesDB.GetPackage(Convert.ToInt16(id));

            Page.Validate();
            // Next add them to the cart which is a session variable and thus global to
            // all the web forms
            if (Page.IsValid)
            {
                CartItemList cart     = CartItemList.GetCart();
                CartItem     cartItem = cart[selectedPackage.PackageId];

                //if item isn’t in cart, add it; otherwise, increase its quantity
                if (cartItem == null)
                {
                    cart.AddItem(selectedPackage, 1);
                }
                else
                {
                    cartItem.AddQuantity(1);
                }
            }
        }
Exemple #2
0
 /// <summary>
 /// Update All List of Infos
 /// </summary>
 private void UpdateAllInfos()
 {
     AllPackages       = PackagesDB.GetPackages();
     AllProducts       = ProductsDB.GetProducts();
     AllSuppliers      = SuppliersDB.GetSuppliers();
     ProSupLinkages    = ProSupDB.GetProSups();
     PacProSupLinkages = PacProSupDB.GetPacProSup();
 }
 /// <summary>
 /// Get all the datat from the database
 /// </summary>
 private void getAll()
 {
     try
     {
         packages           = PackagesDB.GetAllPackages();
         packages2          = PackagesDB.GetAllPackages(); //Two controls cannot share array data binding
         products           = ProductDB.GetAllProducts();
         products2          = ProductDB.GetAllProducts();  //Two controls cannot share array data binding
         suppliers          = SuppliersDB.GetAllSuppliers();
         products_suppliers = Products_SupplierDB.GetAllProduct_Suppliers();
     }
     catch (Exception ex) //Any Errors form the database read?
     {
         MessageBox.Show(ex.Message, ex.GetType().ToString());
     }
 }
 private void btnAccept_Click(object sender, EventArgs e)
 {
     if (IsValidData())
     {
         if (addPackage)
         {
             package = new Package();
             this.PutPackageData(package);
             try
             {
                 package.PackageId = PackagesDB.AddPackage(package);
                 this.DialogResult = DialogResult.OK;
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message, ex.GetType().ToString());
             }
         }
         else
         {
             Package newPackage = new Package();
             newPackage.PackageId = package.PackageId;
             this.PutPackageData(newPackage);
             try
             {
                 if (!PackagesDB.UpdatePackage(package, newPackage))
                 {
                     MessageBox.Show("Another user has updated or " +
                                     "deleted that package.", "Database Error");
                     this.DialogResult = DialogResult.Retry;
                 }
                 else
                 {
                     package           = newPackage;
                     this.DialogResult = DialogResult.OK;
                 }
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message, ex.GetType().ToString());
             }
         }
     }
 }
        /// <summary>
        /// On clicking delete respond based on tab selected
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDelete_Click(object sender, EventArgs e)
        {
            switch (tbMain.SelectedTab.Name)
            {
            case "tabPackages":     //take the currently selected package
                Package      package = packages[dgPackages.CurrentRow.Index];
                DialogResult result  = MessageBox.Show("Delete " + package.Name + "? \nThis will delete the entire package and its components",
                                                       "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)     //if user confirms delete
                {
                    try
                    {
                        if (!PackagesDB.DeletePackage(package))
                        {
                            //Check for optimistic concurrency
                            MessageBox.Show("Another user has updated or deleted " +
                                            "that package.", "Database Error");
                        }
                        else
                        {
                            //Delete successful, refresh the tables
                            dgPackageProductSuppliers.ClearSelection();
                            this.displayAll(0, 0);
                        }
                    }
                    catch (SqlException ex)
                    {
                        switch (ex.Errors[0].Number)
                        {
                        //if foriegn key error from db
                        case 547:
                            MessageBox.Show("You do not have the priviledge to delete this package", "Priviledge Error");
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        //any other errors
                        MessageBox.Show(ex.Message, ex.GetType().ToString());
                    }
                }

                break;

            case "tabProducts":
                int          rowIndexProd  = dgProducts.CurrentRow.Index;
                Products     product       = products[rowIndexProd];
                DialogResult resultProduct = MessageBox.Show("Delete " + product.ProdName + "?",
                                                             "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (resultProduct == DialogResult.Yes)
                {
                    try
                    {
                        if (!ProductDB.DeleteProduct(product))
                        {
                            MessageBox.Show("Another user has updated or deleted " +
                                            "that product.", "Database Error");
                        }
                        else
                        {
                            dgProd.ClearSelection();
                        }
                        rowIndexProd = rowIndexProd - 1;         //leave selection on the last product
                        this.displayAll(0, rowIndexProd);
                    }
                    catch (SqlException ex)
                    {
                        switch (ex.Errors[0].Number)
                        {
                        //if foreign key error from datbase
                        case 547:
                            MessageBox.Show("Please Remove " + product.ProdName + " from all packages before deleting ",
                                            "Link Violation");
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, ex.GetType().ToString());
                    }
                }

                break;

            case "tabSuppliers":
                Suppliers    supplier       = suppliers[dgSuppliers.CurrentRow.Index];
                DialogResult resultSupplier = MessageBox.Show("Delete " + supplier.SupName + "?",
                                                              "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (resultSupplier == DialogResult.Yes)
                {
                    try
                    {
                        if (!SuppliersDB.DeleteSupplier(supplier))
                        {
                            MessageBox.Show("Another user has updated or deleted " +
                                            "that supplier.", "Database Error");
                        }
                        else
                        {
                            this.displayAll();
                        }
                    }
                    catch (SqlException ex)
                    {
                        switch (ex.Errors[0].Number)
                        {
                        // if foriegn key error from database
                        case 547:
                            MessageBox.Show("You cannot delete this supplier as it is linked to a package", "Link Violation");
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, ex.GetType().ToString());
                    }
                }

                break;

            case "tabPackageProductSupplier":
                int          rowIndex    = dgPackageProductSuppliers.CurrentRow.Index;
                Package      packageProd = packages[rowIndex];
                DialogResult resultProd  = MessageBox.Show("Delete " + packageProd.Name + "? \nThis will delete the entire package and its components",
                                                           "Confirm Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (resultProd == DialogResult.Yes)
                {
                    try
                    {
                        if (!PackagesDB.DeletePackage(packageProd))
                        {
                            MessageBox.Show("Another user has updated or deleted " +
                                            "that package.", "Database Error");
                        }
                        else
                        {
                            dgPackageProductSuppliers.ClearSelection();
                            rowIndex -= 1;
                            this.displayAll(rowIndex, 0);
                        }
                    }
                    catch (SqlException ex)
                    {
                        switch (ex.Errors[0].Number)
                        {
                        //if foriegn key error from dataabase
                        case 547:
                            MessageBox.Show("You do not have the priviledge to delete this package", "Priviledge Error");
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, ex.GetType().ToString());
                    }
                }

                break;
            }
        }
Exemple #6
0
        private void SavePacBtn_Click(object sender, EventArgs e)
        {
            string indicator = "Operation Failed. ";

            if (AddPacStatus)
            {
                //testing = "Saving item in add mode ";
                if (
                    //check if present
                    Validator.IsPresent(pkgNameTextBox, "Package Name") &&
                    Validator.IsPresentRichTB(pkgDescRichTextBox, "Package Description") &&
                    Validator.IsPresentDateTimePicker(pkgStartDateDateTimePicker, "Package Start Date") &&
                    Validator.IsPresentDateTimePicker(pkgEndDateDateTimePicker, "Package End Date") &&
                    Validator.IsPresent(pkgAgencyCommissionTextBox, "Agency Commission") &&
                    Validator.IsPresent(pkgBasePriceTextBox, "Price") &&
                    //check valid values
                    Validator.IsDecimal(pkgAgencyCommissionTextBox, "Agency Commission") &&
                    Validator.IsDecimal(pkgBasePriceTextBox, "Price") &&
                    Validator.IsNonNegativeDecimal(pkgAgencyCommissionTextBox, "Agency Commission") &&
                    Validator.IsNonNegativeDecimal(pkgBasePriceTextBox, "Price")
                    )
                {
                    indicator = "Adding Package Failed. "; // for testing purpose
                    int value = Convert.ToInt32(packageIdComboBox.SelectedValue);

                    Packages newPac = new Packages();

                    newPac.PackageId           = value;
                    newPac.PkgName             = pkgNameTextBox.Text;
                    newPac.PkgStartDate        = pkgStartDateDateTimePicker.Value;
                    newPac.PkgEndDate          = pkgEndDateDateTimePicker.Value;
                    newPac.PkgDesc             = pkgDescRichTextBox.Text;
                    newPac.PkgBasePrice        = Convert.ToDecimal(pkgBasePriceTextBox.Text);
                    newPac.PkgAgencyCommission = Convert.ToDecimal(pkgAgencyCommissionTextBox.Text);

                    if (ValidateTime(pkgStartDateDateTimePicker, pkgEndDateDateTimePicker) == 0 && ValidatePrice(pkgBasePriceTextBox, pkgAgencyCommissionTextBox) == 0)
                    {
                        if (PackagesDB.AddPackage(newPac))
                        {
                            indicator = "Adding Package Successful !";
                            UpdateAllInfos();
                            BindPackages();
                            CancelPacBtn.PerformClick();
                        }
                    }
                }
            }

            if (EditPacStatus)
            {
                /*
                 * pkgNameTextBox
                 * pkgDescRichTextBox
                 * pkgStartDateDateTimePicker
                 * pkgEndDateDateTimePicker
                 * pkgAgencyCommissionTextBox
                 * pkgBasePriceTextBox
                 */

                //testing = "Saving item in edit mode ";
                if (
                    //check if present
                    Validator.IsPresent(pkgNameTextBox, "Package Name") &&
                    Validator.IsPresentRichTB(pkgDescRichTextBox, "Package Description") &&
                    Validator.IsPresentDateTimePicker(pkgStartDateDateTimePicker, "Package Start Date") &&
                    Validator.IsPresentDateTimePicker(pkgEndDateDateTimePicker, "Package End Date") &&
                    Validator.IsPresent(pkgAgencyCommissionTextBox, "Agency Commission") &&
                    Validator.IsPresent(pkgBasePriceTextBox, "Price") &&
                    //check valid values
                    Validator.IsDecimal(pkgAgencyCommissionTextBox, "Agency Commission") &&
                    Validator.IsDecimal(pkgBasePriceTextBox, "Price") &&
                    Validator.IsNonNegativeDecimal(pkgAgencyCommissionTextBox, "Agency Commission") &&
                    Validator.IsNonNegativeDecimal(pkgBasePriceTextBox, "Price")
                    )
                {
                    int value = Convert.ToInt32(packageIdComboBox.SelectedValue);

                    Packages newPac = new Packages();

                    newPac.PackageId           = value;
                    newPac.PkgName             = pkgNameTextBox.Text;
                    newPac.PkgStartDate        = pkgStartDateDateTimePicker.Value;
                    newPac.PkgEndDate          = pkgEndDateDateTimePicker.Value;
                    newPac.PkgDesc             = pkgDescRichTextBox.Text;
                    newPac.PkgBasePrice        = Convert.ToDecimal(pkgBasePriceTextBox.Text);
                    newPac.PkgAgencyCommission = Convert.ToDecimal(pkgAgencyCommissionTextBox.Text);

                    indicator = "Update Package Failed. ";
                    if (ValidateTime(pkgStartDateDateTimePicker, pkgEndDateDateTimePicker) == 0 && ValidatePrice(pkgBasePriceTextBox, pkgAgencyCommissionTextBox) == 0)
                    {
                        if (PackagesDB.UpdatePackage(newPac))
                        {
                            indicator = "Update Package Successful !";
                            UpdateAllInfos();
                            CancelPacBtn.Text = "Close";
                        }
                    }
                }
            }

            MessageBox.Show(indicator, "Status");
        }