示例#1
0
        protected void btnSelectVendor_Click(object sender, EventArgs e)
        {
            if (VendorDDL.SelectedIndex == 0)
            {
                pnlInventory.Visible     = false;
                pnlVendorResults.Visible = false;
                MessageUserControl.ShowInfo("Missing Data", "Select a vendor from the drop down list");
            }
            else
            {
                MessageUserControl.TryRun(() =>
                {
                    pnlInventory.Visible     = true;
                    pnlVendorResults.Visible = true;
                    txtComments.Text         = "Comments";

                    // Vendors Controller to get orders
                    VendorsController sysmgr          = new VendorsController();
                    OrderDetailsController controller = new OrderDetailsController();
                    int vendorId          = int.Parse(VendorDDL.SelectedValue);
                    var info              = sysmgr.Purchasing_Vendor_Get(vendorId);
                    lblVendorName.Text    = info.Name;
                    lblVendorContact.Text = info.Contact;
                    lblPhone.Text         = info.Phone;
                    //txtComments.Text = info.Orders.Comment;
                    // Calculate Total
                    CalculateTotal(controller, vendorId);


                    var data = controller.Get_Active_Order(int.Parse(VendorDDL.SelectedValue));
                    OrderDetailsGridView.DataSource = data;
                    OrderDetailsGridView.DataBind();
                }, "Vendors Selection", "Active Order Retrieved");
            }
        }
示例#2
0
        // THIS METHOD ADD PRODUCTS FROM INVENTORY TO ORDER
        protected void vendorCategoryCatalog_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            // Collect the required data fo the event
            OrderDetailsController sysmgr = new OrderDetailsController();

            // obtain the productid Selected Inventory Item
            int productID = int.Parse(e.CommandArgument.ToString());

            // obtain the CurrentActive Order ID
            int orderID = int.Parse(((Label)OrderDetailsGridView.Rows[0].FindControl("lblOrderID")).Text);
            //txtComments.Text = "Order ID, this is for testing purpose: " + int.Parse(orderID);

            // Qty should be equal to 1 at first
            int qty = 1;

            // Obtain the vendor ID
            int vendorID = int.Parse(VendorDDL.SelectedValue.ToString());

            // Obtain the cost
            decimal itemPrice = 5;

            MessageUserControl.TryRun(() =>
            {
                OrderDetailsController sysm = new OrderDetailsController();
                sysm.Add_ProductToOrder(productID, orderID, qty, itemPrice);

                List <ListVendorOrders> datainfo = sysm.Get_Active_Order(vendorID);
                OrderDetailsGridView.DataSource  = datainfo;
                OrderDetailsGridView.DataBind();
                CalculateTotal(sysm, vendorID);
            }, "Adding to order", $"Product added to the order");
        }
示例#3
0
        public void CalculateTotal(OrderDetailsController controller, int vendorid)
        {
            controller = new OrderDetailsController();
            var countTotal = controller.Get_Active_Order(vendorid);
            var subtotal   = countTotal.Sum(x => x.OrderQuantity * x.UnitCost);
            var tax        = subtotal * (decimal)0.05;
            var total      = subtotal + tax;

            txtSubTotal.Text = subtotal.ToString("c");
            txtTax.Text      = tax.ToString("c");
            txtTotal.Text    = total.ToString("c");
        }
示例#4
0
        protected void btnDelete_Click(object sender, EventArgs e)
        {
            int orderID = int.Parse(((Label)OrderDetailsGridView.Rows[0].FindControl("lblOrderID")).Text);

            MessageUserControl.TryRun(() =>
            {
                OrderDetailsController controller = new OrderDetailsController();
                int vendorId = int.Parse(VendorDDL.SelectedValue);
                controller.Delete_ProductItem(orderID);

                List <ListVendorOrders> datainfo = controller.Get_Active_Order(vendorId);
                OrderDetailsGridView.DataSource  = datainfo;
                OrderDetailsGridView.DataBind();
                CalculateTotal(controller, vendorId);
            }, "Deleting Order", "Order Has been Removed");
        }
示例#5
0
        protected void OrderDetailsGridView_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            OrderDetailsController controller = new OrderDetailsController();
            int vendorId = int.Parse(VendorDDL.SelectedValue);

            if (e.CommandName.Equals("Refresh"))
            {
                int     OrderDetailID = int.Parse(e.CommandArgument.ToString());
                int     qty           = 0;
                decimal unitcost      = 0;
                decimal perItemCost   = 0;
                decimal unitSize      = 0;
                Label   yourlabel     = null;

                for (int rowIndex = 0; rowIndex < OrderDetailsGridView.Rows.Count; rowIndex++)
                {
                    if ((OrderDetailsGridView.Rows[rowIndex].FindControl("lblOrderDetailID") as Label).Text == e.CommandArgument.ToString())
                    {
                        qty = int.Parse((OrderDetailsGridView.Rows[rowIndex].FindControl("txtQuantity") as TextBox).Text);

                        //string z = (OrderDetailsGridView.Rows[rowIndex].FindControl("txtUnitCost") as TextBox).Text;
                        //string zRemove = z.Remove(0, 0);
                        unitcost = decimal.Parse((OrderDetailsGridView.Rows[rowIndex].FindControl("txtUnitCost") as TextBox).Text);

                        string x       = (OrderDetailsGridView.Rows[rowIndex].FindControl("lblPerItemCost") as Label).Text;
                        string xRemove = x.Remove(0, 1);
                        perItemCost = decimal.Parse(xRemove);

                        string y       = (OrderDetailsGridView.Rows[rowIndex].FindControl("lblUnitSize") as Label).Text;
                        string yRemove = y.Remove(2);
                        unitSize = decimal.Parse(yRemove);


                        // For the warning message


                        yourlabel = (OrderDetailsGridView.Rows[rowIndex].FindControl("lblCostWarning") as Label);
                        //bind your label to data here
                    }
                }
                if (qty <= 0)
                {
                    MessageUserControl.ShowInfo("Quantity can not be a negative number");
                }
                else if (perItemCost > (unitcost / unitSize))
                {
                    MessageUserControl.ShowInfo("Per-item cost can not be greater than selling price");
                    yourlabel.Visible = true;
                    CalculateTotal(controller, vendorId);
                }
                else
                {
                    MessageUserControl.TryRun(() =>
                    {
                        controller.Quantity_Refresh(OrderDetailID, qty, unitcost);
                        List <ListVendorOrders> datainfo = controller.Get_Active_Order(vendorId);
                        OrderDetailsGridView.DataSource  = datainfo;
                        OrderDetailsGridView.DataBind();
                        CalculateTotal(controller, vendorId);
                    }, "Refreshing", "Item Quantity Updated");
                }
            }
            else
            {
                int OrderDetailID = int.Parse(e.CommandArgument.ToString());
                MessageUserControl.TryRun(() =>
                {
                    controller.Delete_ProductItem(OrderDetailID);

                    List <ListVendorOrders> datainfo = controller.Get_Active_Order(vendorId);
                    OrderDetailsGridView.DataSource  = datainfo;
                    OrderDetailsGridView.DataBind();
                    CalculateTotal(controller, vendorId);
                }, "Deleting Product", "Item Has been Removed from Order");
            }
        }