protected void FetchButton_Click(object sender, EventArgs e)
        {
            MessageUserControl.TryRun(() =>
            {
                int count   = 0;
                int tempint = int.Parse(VendorDDL.SelectedValue);
                if (tempint == 0)
                {
                    //Response.Redirect(Request.RawUrl);
                    throw new Exception("Please select a vendor");
                }
                int employeeID  = int.Parse(EmployeeIDLB.Text);
                VendorIDLB.Text = tempint.ToString();
                int vendorID    = int.Parse(VendorIDLB.Text);
                PurchaseOrderDetailsController sysmgr = new PurchaseOrderDetailsController();
                List <CurrentActiveOrderView> currentOrderListPOCOs = new List <CurrentActiveOrderView>();
                currentOrderListPOCOs = sysmgr.List_OrderDetailPOCO(employeeID, vendorID);
                List <VendorStockItemsView> currentStockItemListPOCOs = sysmgr.List_VendorStockItemsPOCO(vendorID, currentOrderListPOCOs);

                CurrentActiveOrderGDView.DataSource = currentOrderListPOCOs;
                CurrentActiveOrderGDView.DataBind();
                VendorStockItemsGDView.DataSource = currentStockItemListPOCOs;
                VendorStockItemsGDView.DataBind();

                OrderSummaryDisplay(vendorID);
                count = CurrentActiveOrderGDView.Rows.Count;
                MessageUserControl.ShowInfo("Fetched data", "Displaying " + count + " rows");
                //TestLB.Text = "POID " + currentStockItemListPOCO.ToString() + " VID "+ currentPurchaseOrder.VendorID.ToString();
            });
            //MessageUserControl.TryRun(() =>
            //{
            //}, "Fetched data", "Displaying " + count + " rows");
        }
        protected void PlaceButton_Click(object sender, EventArgs e)
        {
            int vendorID = 0;

            MessageUserControl.TryRun(() =>
            {
                PurchaseOrderDetailsController sysmgr = new PurchaseOrderDetailsController();



                vendorID = int.Parse(VendorIDLB.Text);
                List <CurrentActiveOrderView> currentOrderListPOCOs = new List <CurrentActiveOrderView>();
                currentOrderListPOCOs = GetCurrentActiveOrderPOCOList();
                if (currentOrderListPOCOs == null)
                {
                    throw new Exception("Error, no current active order, nothing to place.");
                }

                TestLB.Text           = sysmgr.Place_Order(vendorID, currentOrderListPOCOs).ToString();
                currentOrderListPOCOs = new List <CurrentActiveOrderView>();
                List <VendorStockItemsView> vendorStockItemListPOCOs = sysmgr.List_VendorStockItemsPOCO(vendorID, currentOrderListPOCOs);

                CurrentActiveOrderGDView.DataSource = currentOrderListPOCOs;
                CurrentActiveOrderGDView.DataBind();
                VendorStockItemsGDView.DataSource = vendorStockItemListPOCOs;
                VendorStockItemsGDView.DataBind();
                OrderSummaryDisplay(vendorID);
                VendorDDL.SelectedValue = int.Parse(VendorIDLB.Text).ToString();

                MessageUserControl.ShowInfo("Order Placed", "Order number of " + TestLB.Text + " for Vendor number " + VendorIDLB.Text + " has been placed.");
            });
        }//eom
        protected void CurrentActiveOrderGridView_RowCommand_RemoveItem(object sender, CommandEventArgs e)
        {
            MessageUserControl.TryRun(() =>
            {
                int orderDetailSID = int.Parse(e.CommandArgument.ToString());
                int vendorID       = int.Parse(VendorIDLB.Text);
                int employeeID     = int.Parse(EmployeeIDLB.Text);
                PurchaseOrderDetailsController sysmgr = new PurchaseOrderDetailsController();
                //TestLB.Text = "Stock item number " + sysmgr.RemovingASingleRowFromActiveOrder(vendorID, orderDetailSID) + " was removed from the list, " + (CurrentActiveOrderGDView.Rows.Count-1).ToString() +" items left on view";
                List <CurrentActiveOrderView> currentOrderListPOCOs = new List <CurrentActiveOrderView>();
                currentOrderListPOCOs = GetCurrentActiveOrderPOCOList();
                CurrentActiveOrderView toRemoveItem = currentOrderListPOCOs.Where(x => x.SID.Equals(orderDetailSID)).FirstOrDefault();

                currentOrderListPOCOs.Remove(toRemoveItem);

                currentOrderListPOCOs = sysmgr.RemovingWhileUpdating(employeeID, vendorID, currentOrderListPOCOs);
                int tempCount         = 0;
                if (currentOrderListPOCOs == null)
                {
                    tempCount = 0;
                }
                else
                {
                    tempCount = currentOrderListPOCOs.Count;
                }

                TestLB.Text = "Item " + orderDetailSID + " was removed from the list, " + tempCount.ToString() + " items left on view";
                MessageUserControl.ShowInfo("Item Removed", TestLB.Text);


                List <VendorStockItemsView> vendorStockItemListPOCOs = sysmgr.List_VendorStockItemsPOCO(vendorID, currentOrderListPOCOs);

                //display

                CurrentActiveOrderGDView.DataSource = currentOrderListPOCOs;

                CurrentActiveOrderGDView.DataBind();
                VendorStockItemsGDView.DataSource = vendorStockItemListPOCOs;
                VendorStockItemsGDView.DataBind();

                OrderSummaryDisplay(vendorID);
                VendorDDL.SelectedValue = int.Parse(VendorIDLB.Text).ToString();
            });
        } //eom;
        } //eom;

        protected void CurrentActiveOrderGridView_RowCommand_AddItem(object sender, CommandEventArgs e)
        {
            MessageUserControl.TryRun(() =>
            {
                int orderDetailSID = int.Parse(e.CommandArgument.ToString());
                int employeeID     = int.Parse(EmployeeIDLB.Text);
                List <CurrentActiveOrderView> currentOrderListPOCOs = GetCurrentActiveOrderPOCOList();
                PurchaseOrderDetailsController sysmgr = new PurchaseOrderDetailsController();
                int vendorID = int.Parse(VendorIDLB.Text);
                List <VendorStockItemsView> vendorStockItemListPOCOs = sysmgr.List_VendorStockItemsPOCO(vendorID, currentOrderListPOCOs);

                VendorStockItemsView stockItemToRemove = vendorStockItemListPOCOs.SingleOrDefault(x => x.SID == orderDetailSID);
                if (stockItemToRemove == null)
                {
                    throw new Exception();
                }
                else
                {
                    CurrentActiveOrderView detailItemToAdd = new CurrentActiveOrderView();
                    detailItemToAdd.SID         = stockItemToRemove.SID;
                    detailItemToAdd.Description = stockItemToRemove.ItemDescription;
                    detailItemToAdd.QOH         = stockItemToRemove.QOH;
                    detailItemToAdd.QOO         = stockItemToRemove.QOO;
                    detailItemToAdd.ROL         = stockItemToRemove.ROL;
                    detailItemToAdd.QTO         = 1;
                    detailItemToAdd.Price       = stockItemToRemove.Price;
                    //add the item to top view
                    currentOrderListPOCOs.Add(detailItemToAdd);
                    //pass the top view into the controller for the bottom view, this will remove the stockItemToRemove, because SID exist in the top list.
                    TestLB.Text = "the add stockitem id is " + orderDetailSID.ToString() + sysmgr.AddDBPOPODetails(employeeID, vendorID, currentOrderListPOCOs);
                    vendorStockItemListPOCOs = sysmgr.List_VendorStockItemsPOCO(vendorID, currentOrderListPOCOs);

                    CurrentActiveOrderGDView.DataSource = currentOrderListPOCOs;
                    CurrentActiveOrderGDView.DataBind();
                    VendorStockItemsGDView.DataSource = vendorStockItemListPOCOs;
                    VendorStockItemsGDView.DataBind();
                    //for development, change this part latter!

                    OrderSummaryDisplay(vendorID);
                    VendorDDL.SelectedValue = int.Parse(VendorIDLB.Text).ToString();
                    MessageUserControl.ShowInfo("Item added", TestLB.Text);
                } //endofelse;
            });
        }         //eom;
        protected void DeleteButton_Click(object sender, EventArgs e)
        {
            MessageUserControl.TryRun(() =>
            {
                PurchaseOrderDetailsController sysmgr = new PurchaseOrderDetailsController();
                int vendorID = int.Parse(VendorIDLB.Text);
                TestLB.Text  = sysmgr.DeletePurchaseOrder(vendorID);

                List <CurrentActiveOrderView> currentOrderListPOCOs  = new List <CurrentActiveOrderView>();
                List <VendorStockItemsView> vendorStockItemListPOCOs = sysmgr.List_VendorStockItemsPOCO(vendorID, currentOrderListPOCOs);

                CurrentActiveOrderGDView.DataSource = currentOrderListPOCOs;
                CurrentActiveOrderGDView.DataBind();
                VendorStockItemsGDView.DataSource = vendorStockItemListPOCOs;
                VendorStockItemsGDView.DataBind();
                OrderSummaryDisplay(vendorID);
                VendorDDL.SelectedValue = 0.ToString();
                //Response.Redirect(Request.RawUrl);
                MessageUserControl.ShowInfo("Order deleted", TestLB.Text);
            });
        }