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;
} //eom; protected List <CurrentActiveOrderView> GetCurrentActiveOrderPOCOList() { List <CurrentActiveOrderView> currentOrderListPOCO = new List <CurrentActiveOrderView>(); List <string> reasons = new List <string>(); for (int i = 0; i < CurrentActiveOrderGDView.Rows.Count; i++) { CurrentActiveOrderView orderDetailPOCO = new CurrentActiveOrderView(); int parseNum; decimal parseDecimal; bool result; orderDetailPOCO.SID = int.Parse((CurrentActiveOrderGDView.Rows[i].FindControl("SIDLB") as Label).Text); orderDetailPOCO.Description = (CurrentActiveOrderGDView.Rows[i].FindControl("DescriptionLB") as Label).Text; orderDetailPOCO.QOH = int.Parse((CurrentActiveOrderGDView.Rows[i].FindControl("QOHLB") as Label).Text); orderDetailPOCO.QOO = int.Parse((CurrentActiveOrderGDView.Rows[i].FindControl("QOOLB") as Label).Text); orderDetailPOCO.ROL = int.Parse((CurrentActiveOrderGDView.Rows[i].FindControl("ROLLB") as Label).Text); //orderDetailPOCO.QTO = int.Parse((CurrentActiveOrderGDView.Rows[i].FindControl("QTOTB") as TextBox).Text); //orderDetailPOCO.Price = decimal.Parse((CurrentActiveOrderGDView.Rows[i].FindControl("PriceTB") as TextBox).Text); //check for QTO input... result = int.TryParse(((CurrentActiveOrderGDView.Rows[i].FindControl("QTOTB") as TextBox).Text), out parseNum); if (result) { if (parseNum > 0) { orderDetailPOCO.QTO = parseNum; } else { reasons.Add("First Error at " + orderDetailPOCO.SID.ToString() + "Quantity must be greater than zero"); } } else { reasons.Add("First Error at " + orderDetailPOCO.SID.ToString() + " Invalid Input quantity, quantity is a positive integer"); } //check fro price input.. result = decimal.TryParse(((CurrentActiveOrderGDView.Rows[i].FindControl("PriceTB") as TextBox).Text) , NumberStyles.Currency , CultureInfo.CurrentCulture , out parseDecimal); if (result) { if (parseDecimal > 0) { orderDetailPOCO.Price = parseDecimal; } else { reasons.Add("First Error at " + orderDetailPOCO.SID.ToString() + " Price must be greater than zero"); } } else { reasons.Add("First Error at " + orderDetailPOCO.SID.ToString() + " Invalid Input Price, Price is a positive decimal value"); } if (reasons.Count > 0) { throw new BusinessRuleException("Invalid input", reasons); } currentOrderListPOCO.Add(orderDetailPOCO); }// end of for return(currentOrderListPOCO); }//eom;