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"); } }
// 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"); }
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"); }
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"); }
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"); } }