protected void Receive_Click(object sender, EventArgs e) { MessageUserControl.TryRun(() => { ReceivingController sysmng = new ReceivingController(); List <NewReceiveOrderPOCO> receiveNewOrders = new List <NewReceiveOrderPOCO>(); foreach (GridViewRow row in PODetailsGV.Rows) { NewReceiveOrderPOCO newOrder = new NewReceiveOrderPOCO(); newOrder.PurchaseOrderID = int.Parse(((Label)row.FindControl("PurchaseOrderID")).Text); newOrder.PurchaseOrderDetailID = int.Parse(((Label)row.FindControl("PurchaseOrderDetailID")).Text); newOrder.PartID = int.Parse(((Label)row.FindControl("PartID")).Text); newOrder.PartDescription = (((Label)row.FindControl("Description")).Text); newOrder.Outstanding = int.Parse(((Label)row.FindControl("QuantityOutstanding")).Text); newOrder.QuantityReceived = (((TextBox)row.FindControl("txtReceiving")).Text) == "" ? 0 : int.Parse(((TextBox)row.FindControl("txtReceiving")).Text); newOrder.QuantityReturned = (((TextBox)row.FindControl("txtReturning")).Text) == "" ? 0 : int.Parse(((TextBox)row.FindControl("txtReturning")).Text); newOrder.Notes = (((TextBox)row.FindControl("txtReason")).Text); receiveNewOrders.Add(newOrder); } sysmng.Add_ReceivedOrders(receiveNewOrders); PODetailsGV.DataBind(); }, "Confirmation", "Order was successfully received."); }
protected void ForceClose_Click(object sender, EventArgs e) { if (PONum.Text != "") { int orderNumber = int.Parse(PONum.Text); string reason = ReasonForceClosed.Text; MessageUserControl.TryRun(() => { if (reason == "") { throw new Exception("You must enter a reason for force closing."); } else { ReceivingController sysmgr = new ReceivingController(); sysmgr.ForceClosePurchaseOrder(orderNumber, reason); PONum.Text = ""; Vendor.Text = ""; Phone.Text = ""; ReasonForceClosed.Text = ""; ShowOrderDetails.DataSource = null; ShowOrderDetails.DataBind(); ShowPurchaseOrders.DataBind(); OrderInfo.Visible = false; OrderControls.Visible = false; } }, "Purchase Order Receiving", "Purchase Order successfully closed."); } else { MessageUserControl.ShowInfo("You must select a purchase order before closing."); } }
protected void ForceClose_Click(object sender, EventArgs e) { MessageUserControl.TryRun(() => { var controller = new ReceivingController(); var closeOrder = new ForceCloseDetails(); var itemInfo = new List <ForceCloseItems>(); foreach (GridViewRow item in OrderGridView.Rows) { var itemProductID = item.FindControl("OrderDetailID") as Label; var itemOutstanding = item.FindControl("ItemQuantityOutstanding") as Label; var product = new ForceCloseItems(); product.ProductID = int.Parse(itemProductID.Text); product.QuantityOutstanding = int.Parse(itemOutstanding.Text); itemInfo.Add(product); } closeOrder.OrderID = int.Parse(OrderListDropDown.SelectedValue); closeOrder.Closed = true; closeOrder.Comment = Comments.Text; closeOrder.Items = itemInfo; controller.ForceCloseOrder(closeOrder); }, "Force Close Order", "Order has been force closed"); Response.Redirect("~/Subsystem/Receiving/Receiving"); }
/// <summary> /// Retrieves vendor information and order items /// </summary> private void ViewOrder() { ReceivingController controller = new ReceivingController(); currentOrderId = int.Parse(ReceivingVendorOrderGridView.SelectedValue.ToString()); // Displays vendor information ReceivingVendorOrder vendorOrderInfo = controller.FindVendorByOrder(currentOrderId); PurchaseOrderIDLabel.Text = "PO #" + vendorOrderInfo.PurchaseOrderID.ToString(); VendorNameLabel.Text = "Vendor: " + vendorOrderInfo.VendorName; VendorPhoneLabel.Text = "Contact Phone: (" + vendorOrderInfo.VendorPhone + ")"; // Retrieves order information List <ReceivingItems> currentReceivingOrder = new List <ReceivingItems>(); currentReceivingOrder = controller.FindOrderById(currentOrderId); foreach (var item in currentReceivingOrder) { item.PurchaseOrderID = currentOrderId; } // Populates GridView ReceivingItemsGridView.DataSource = currentReceivingOrder; ReceivingItemsGridView.DataBind(); string parameter = Request.QueryString[currentOrderId.ToString()]; }
protected void ForceCloser_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtReasonFC.Text)) { MessageUserControl.ShowInfo("Warning", "Please provide reason for closing the purchase order."); } else { ReceivingController sysmng = new ReceivingController(); PurchaseOrder poData = new PurchaseOrder(); //get value to update PO table poData.PurchaseOrderID = int.Parse(((Label)PODetailsGV.Rows[0].FindControl("PurchaseOrderID")).Text); poData.Notes = txtReasonFC.Text; poData.Closed = true; MessageUserControl.TryRun(() => { List <PurchaseOrderDetailsPOCO> poDetailsList = new List <PurchaseOrderDetailsPOCO>(); foreach (GridViewRow row in PODetailsGV.Rows) { PurchaseOrderDetailsPOCO data = new PurchaseOrderDetailsPOCO(); data.PurchaseOrderID = int.Parse(((Label)row.FindControl("PurchaseOrderID")).Text); data.PartID = int.Parse(((Label)row.FindControl("PartID")).Text); data.QuantityOutstanding = int.Parse(((Label)row.FindControl("QuantityOutstanding")).Text); //add single item to the list poDetailsList.Add(data); } sysmng.ForceCloser_Update(poData, poDetailsList); RefreshPage(); }, "Success", "Order was closed successfully."); } }
protected void DisplayOrder_Click(object sender, EventArgs e) { MessageUserControl.TryRun(() => { var controller = new ReceivingController(); OrderPanel.Enabled = true; OrderPanel.Visible = true; var grvRow = (GridViewRow)((LinkButton)sender).NamingContainer; // Populate vendor information labels PONumLabel.Text = grvRow.Cells[0].Text; Vendor.Text = grvRow.Cells[2].Text; VendorPhone.Text = grvRow.Cells[3].Text; // Populate GridView through a dataSource var orderDetails = controller.GetPurchaseOrderDetails(Convert.ToInt32((grvRow.FindControl("POid") as HiddenField).Value)); PurchaseOrderDetailsGridView.DataSource = orderDetails; PurchaseOrderDetailsGridView.DataBind(); }, "Success", "Order found!"); }
/// <summary> /// Adds a Receive Order to the database /// </summary> private void SubmitReceiveOrder() { // Stores information in a ReceivingItems instance List <ReceivingItems> receivingItems = new List <ReceivingItems>(); receivingItems = currentItemsList; foreach (var item in receivingItems) { item.PurchaseOrderID = currentOrderId; } // Submits information ReceivingController controller = new ReceivingController(); controller.ReceiveOrder(currentOrderId, receivingItems); ClearAndRefreshPage(); }
protected void Open_Click(object sender, EventArgs e) { var controller = new ReceivingController(); controller.ClearUnOrderedItems(); UnorderedListView.DataSourceID = "UnorderedODS"; if (OrderListDropDown.SelectedIndex > 0) { var vendorinfo = controller.GetVendorContact(int.Parse(OrderListDropDown.SelectedValue)); CompanyName.Text = vendorinfo.Name; CompanyAddress.Text = vendorinfo.Address; CompanyContact.Text = vendorinfo.Contact; CompanyPhone.Text = vendorinfo.Phone; var iteminfo = controller.GetOrderDetails(int.Parse(OrderListDropDown.SelectedValue)); OrderGridView.DataSource = iteminfo; OrderGridView.DataBind(); ReceiveShimpment.Visible = true; UnorderedLabel.Visible = true; UnorderedListView.Visible = true; ForceClose.Visible = true; Comments.Visible = true; } else { CompanyName.Text = null; CompanyAddress.Text = null; CompanyContact.Text = null; CompanyPhone.Text = null; OrderGridView.DataSource = null; OrderGridView.DataBind(); ReceiveShimpment.Visible = false; UnorderedLabel.Visible = false; UnorderedListView.Visible = false; ForceClose.Visible = false; Comments.Visible = false; } }
protected void ForceClose_Click(object sender, EventArgs e) { int vendorid = 0; int orderid = 0; vendorid = int.Parse(VendorDDL.SelectedValue); GridViewRow orderrow = PurchaseOrderGridView.Rows[1]; orderid = int.Parse((orderrow.FindControl("OrderID") as Label).Text); var closingitems = new List <ForceClearPOCO>(); MessageUserControl.TryRun(() => { foreach (GridViewRow row in PurchaseOrderGridView.Rows) { if (int.Parse(((row.FindControl("QuantityOutstanding") as Label).Text).ToString()) > 0) { int remaining = int.Parse(((row.FindControl("QuantityOutstanding") as Label).Text).ToString()); string itemname = row.Cells[1].Text; closingitems.Add(new ForceClearPOCO() { ItemName = itemname, Remaining = remaining }); } } string reason = (CommentBox.Text).ToString(); if (string.IsNullOrEmpty(reason)) { throw new BusinessRuleException("Input Error", new List <String> { "There must be a reason when force closing." }); } else { ReceivingController sysmgr = new ReceivingController(); sysmgr.ForceCloseOrder(orderid, reason, closingitems, vendorid); } }, "Force Close", "Purchase Order has been closed."); }
protected void ShowPurchaseOrders_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) { OrderInfo.Visible = true; OrderControls.Visible = true; int index = e.NewSelectedIndex; GridViewRow agrow = ShowPurchaseOrders.Rows[index]; int orderNumber = int.Parse(agrow.Cells[0].Text); PONum.Text = agrow.Cells[0].Text; Vendor.Text = agrow.Cells[2].Text; Phone.Text = agrow.Cells[3].Text; MessageUserControl.TryRun(() => { ReceivingController sysmgr = new ReceivingController(); List <ViewPurchaseOrderItems> orderInfo = sysmgr.GetPurchaseOrderDetails(orderNumber); ShowOrderDetails.DataSource = orderInfo; ShowOrderDetails.DataBind(); }); }
protected void ViewOrder_Click(object sender, EventArgs e) { int poID = 0; //int poNumber = 0; GridViewRow item = (GridViewRow)((LinkButton)sender).NamingContainer; // gets info from one row. poID = int.Parse(((Label)item.FindControl("PurchaseOrderId")).Text); ReceivingController sysmng = new ReceivingController(); VendorPurchaseOrderDetailsDTO vendorPODetails = sysmng.GetPODetails(poID); lblPONumber.Text = vendorPODetails.PurchaseOrderNumber.ToString(); lblVendorName.Text = vendorPODetails.VendorName; lblVendorPhone.Text = vendorPODetails.VendorPhone; //DataSource for the GridView PODetailsGV.DataSource = vendorPODetails.PODetails; PODetailsGV.DataBind(); }
protected void CloseLinkButton_Click(object sender, EventArgs e) { string reason = ReasonTextBox.Text; if (reason == "") { MessageUserControl.ShowInfo("Error", "Please provide a reason to force close the Order"); } else { MessageUserControl.TryRun(() => { int poid = int.Parse(PurchaseOrderHiddenField.Value); ReceivingController sysmg = new ReceivingController(); sysmg.For_CloseOrder(poid, reason); outstandingListView.DataBind(); HidePanles(); }, "Success", "The Purchase Order has been closed"); } }
/// <summary> /// Force closes an order /// </summary> private void SubmitForceClose() { // Creates a list of outstanding items (StockItemID and quantity outstanding) List <OutstandingItem> outstandingItems = new List <OutstandingItem>(); foreach (GridViewRow row in ReceivingItemsGridView.Rows) { // Adds row to the temporary list OutstandingItem item = new OutstandingItem(); item.StockItemID = int.Parse(row.Cells[0].Text); item.QuantityOutstanding = int.Parse(row.Cells[3].Text); outstandingItems.Add(item); } // Submits information ReceivingController controller = new ReceivingController(); controller.CloseOrder(currentOrderId, ForceCloseReasonTextBox.Text.Trim(), outstandingItems); ClearAndRefreshPage(); }
protected void ForceCloseOrder_Click(object sender, EventArgs e) { MessageUserControl.TryRun(() => { // Receive any entered quantities //ReceiveOrder_Click(sender, e); var POid = Convert.ToInt32((PurchaseOrderDetailsGridView.Rows[0].FindControl("POid") as HiddenField).Value); var controller = new ReceivingController(); var closeReason = ForceCloseText.Text; if (closeReason == "") { throw new Exception("Must provide reason for force close."); } controller.ForceCloseOrder(POid, closeReason); // Hide Order Details panel and refresh Orders GridView. OrderPanel.Visible = false; OrderPanel.Enabled = false; OutstandingOrderGridView.DataBind(); }, "Success", "Order was force closed!"); }
protected void SelectOrder_Command(object sender, CommandEventArgs e) { RFListView.Visible = true; ReceiveLinkButton.Visible = true; CloseLinkButton.Visible = true; ReasonLabel.Visible = true; ReasonTextBox.Visible = true; MessageUserControl.TryRun(() => { ReceivingController recmgr = new ReceivingController(); List <RecevingOrderList> recevingResoure = new List <RecevingOrderList>(); int poid = int.Parse((e.CommandArgument).ToString()); recevingResoure = recmgr.List_PurchaseOrderDetail(poid); RFListView.DataSource = recevingResoure; RFListView.DataBind(); PurchaseOrderHiddenField.Value = (poid).ToString(); //UnOrderedReturnsListView.DataSource = recmgr.UnOrderedReturns_Select(poid); //UnOrderedReturnsListView.DataBind(); UnOrderedReturnsListView.Visible = true; }, "Succeed", "Selected an purchase order successfully."); }
protected void ReceiveShimpment_Click(object sender, EventArgs e) { MessageUserControl.TryRun(() => { int result = 0; var controller = new ReceivingController(); var receivedOrderDetail = new ReceivedOrderDetails(); var receivedOrderInfo = new ReceiveOrdersInfo(); var receivedOrderItems = new List <ReceiveOrderItemDetails>(); var productDetails = new List <ProductDetails>(); var returnedOrderItems = new List <ReturnOrderItemDetails>(); receivedOrderInfo.OrderID = int.Parse(OrderListDropDown.SelectedValue); receivedOrderInfo.ReceiveDate = DateTime.Now; receivedOrderInfo.EmployeeID = EmployeeId.Value; foreach (ListViewItem item in UnorderedListView.Items) { var unorderedItem = new ReturnOrderItemDetails(); var unOrderedItemController = item.FindControl("ItemNameLabel") as Label; var itemQuantityController = item.FindControl("QuantityLabel") as Label; var vendorController = item.FindControl("VendorIDLabel") as Label; unorderedItem.Comment = "Not on original order"; unorderedItem.UnOrderedItem = unOrderedItemController.ToString(); unorderedItem.ItemQuantity = int.Parse(itemQuantityController.Text); unorderedItem.VendorProductID = vendorController.ToString(); returnedOrderItems.Add(unorderedItem); } foreach (GridViewRow item in OrderGridView.Rows) { var unorderedItem = new ReturnOrderItemDetails(); var itemQuantityController = item.FindControl("RejectedUnits") as TextBox; var commentController = item.FindControl("RejectedReason") as TextBox; var orderDetailIDController = item.FindControl("OrderDetailID") as Label; if (int.TryParse(itemQuantityController.Text, out result)) { if (int.Parse(itemQuantityController.Text) > 0) { unorderedItem.OrderDetailID = int.Parse(orderDetailIDController.Text); unorderedItem.Comment = commentController.ToString(); unorderedItem.ItemQuantity = int.Parse(itemQuantityController.Text); returnedOrderItems.Add(unorderedItem); } } } foreach (GridViewRow item in OrderGridView.Rows) { var newreceiveditem = new ReceiveOrderItemDetails(); var newProductInfo = new ProductDetails(); var salvagedItems = item.FindControl("SalvagedItems") as TextBox; var receivedItems = item.FindControl("ReceivedUnits") as TextBox; var orderDetailIDController = item.FindControl("OrderDetailID") as Label; var unitSize = item.FindControl("UnitSize") as Label; var salvage = 0; var receive = 0; var size = 0; if (int.TryParse(unitSize.Text, out result) == true) { size = int.Parse(unitSize.Text); } if (int.TryParse(salvagedItems.Text, out result) == true) { salvage = int.Parse(salvagedItems.Text); } if (int.TryParse(receivedItems.Text, out result) == true) { receive = int.Parse(receivedItems.Text); } var totalQuantity = salvage + (receive * size); if (totalQuantity > 0) { newreceiveditem.OrderDetailID = int.Parse(orderDetailIDController.Text); newreceiveditem.ItemQuantity = totalQuantity; newProductInfo.ProductID = int.Parse(orderDetailIDController.Text); newProductInfo.QuantityReceived = totalQuantity; receivedOrderItems.Add(newreceiveditem); productDetails.Add(newProductInfo); } } receivedOrderDetail.OrderID = int.Parse(OrderListDropDown.SelectedValue); receivedOrderDetail.Products = productDetails; receivedOrderDetail.ReceivedOrder = receivedOrderInfo; receivedOrderDetail.ReceiveOrderItems = receivedOrderItems; receivedOrderDetail.ReturnOrderItems = returnedOrderItems; controller.ReceiveShimpmentOrder(receivedOrderDetail); }, "Receive Shipment", "Shipment Received"); Response.Redirect("~/Subsystem/Receiving/Receiving"); }
protected void ReceiveLinkButton_Click(object sender, EventArgs e) { MessageUserControl.TryRun(() => { List <RecevingOrderList> recevOrder = new List <RecevingOrderList>(); // ReturnedOrderDetail newReturnOrderDetail = new ReturnedOrderDetail(); //int receorderid = newReturnOrderDetail.ReceiveOrderID; // int purorderdetailid= (newReturnOrderDetail.PurchaseOrderDetailID).GetValueOrDefault() ; int poid = int.Parse(PurchaseOrderHiddenField.Value); int remainQTY = 0; int checkReceiv = 0; foreach (var item in RFListView.Items) { TextBox receivingTB = item.FindControl("ReceivingTextBox") as TextBox; TextBox returningTB = item.FindControl("ReturningTextBox") as TextBox; TextBox ReasonTB = item.FindControl("ReasonTextBox") as TextBox; Label newSID = item.FindControl("SIDLabel") as Label; Label oust = item.FindControl("OutstandingLabel") as Label; HiddenField newpodeid = item.FindControl("PurchasePrderDetailIDHF1") as HiddenField; Label outstandingL = item.FindControl("OutstandingLabel") as Label; int os = int.Parse(outstandingL.Text); RecevingOrderList reorlist = new RecevingOrderList(); reorlist.Receiving = int.Parse(receivingTB.Text); reorlist.Returning = int.Parse(returningTB.Text); reorlist.Reason = ReasonTB.Text; reorlist.SID = int.Parse(newSID.Text); reorlist.PurchasePrderDetail = int.Parse(newpodeid.Value); reorlist.Outstanding = int.Parse(oust.Text); // check ramaining outstanding remainQTY += (reorlist.Outstanding - reorlist.Receiving).GetValueOrDefault(); // check any quantity inputs checkReceiv += (reorlist.Receiving + reorlist.Returning).GetValueOrDefault(); if (reorlist.Receiving > os) { throw new Exception("Receiving can not be greater than outstanding"); } else if (reorlist.Returning != 0) { if (reorlist.Reason == "") { throw new Exception("Must have a reason if you have returning"); } else { recevOrder.Add(reorlist); } } } if (checkReceiv == 0) { throw new Exception("Nothing received?"); } bool checkOutstand = false; if (remainQTY == 0) { checkOutstand = true; } ReceivingController resmgr = new ReceivingController(); resmgr.RecevingReturningReason_transaction(checkOutstand, poid, recevOrder); MessageUserControl.ShowInfo("Success", "order received succesfully"); outstandingListView.DataBind(); HidePanles(); }); }
protected void ReceiveOrder_Click(object sender, EventArgs e) { if (PONum.Text != "") { bool orderCompleted = true; int orderNumber = int.Parse(PONum.Text); ViewPurchaseOrderItems orderItem = null; List <ViewPurchaseOrderItems> orderDetails = new List <ViewPurchaseOrderItems>(); MessageUserControl.TryRun(() => { int tempInt = 0; int count = 0; foreach (GridViewRow arow in ShowOrderDetails.Rows) { orderItem = new ViewPurchaseOrderItems(); orderItem.ItemID = int.Parse((arow.FindControl("StockNum") as Label).Text); orderItem.ItemDescription = (arow.FindControl("Description") as Label).Text; orderItem.Ordered = int.Parse((arow.FindControl("QtyOrdered") as Label).Text); if (string.IsNullOrEmpty((arow.FindControl("QtyReturned") as TextBox).Text)) { orderItem.Returned = 0; } else { if (int.TryParse((arow.FindControl("QtyReturned") as TextBox).Text, out tempInt)) { if (tempInt >= 0) { orderItem.Returned = tempInt; count += tempInt; } else { throw new Exception("You must enter a postive integer value for returned items."); } } else { throw new Exception("You must enter an integer value for returned items."); } } if (string.IsNullOrEmpty((arow.FindControl("QtyReceived") as TextBox).Text)) { orderItem.Received = 0; } else { if (int.TryParse((arow.FindControl("QtyReceived") as TextBox).Text, out tempInt)) { if (tempInt >= 0) { orderItem.Received = tempInt; count += tempInt; } else { throw new Exception("You must enter a postive integer value for received items."); } } else { throw new Exception("You must enter an integer value for received items."); } } if ((arow.FindControl("ReasonReturned") as TextBox).Text == "" && orderItem.Returned > 0) { throw new Exception("You must enter a reason for returned items."); } else { if (orderItem.Returned > 0) { orderItem.Reason = (arow.FindControl("ReasonReturned") as TextBox).Text; } } if (orderItem.Received < int.Parse((arow.FindControl("QtyOutstanding") as Label).Text)) { orderCompleted = false; } orderDetails.Add(orderItem); } if (count == 0) { throw new Exception("You cannot receive an empty order."); } ReceivingController sysmgr = new ReceivingController(); sysmgr.ReceivePurchaseOrder(orderNumber, orderDetails, orderCompleted); PONum.Text = ""; Vendor.Text = ""; Phone.Text = ""; ShowOrderDetails.DataSource = null; ShowOrderDetails.DataBind(); ShowPurchaseOrders.DataBind(); OrderInfo.Visible = false; OrderControls.Visible = false; }, "Purchase Order Receiving", "Purchase Order successfully received."); } else { MessageUserControl.ShowInfo("You must select a purchase order before receiving."); } }
protected void ReceiveShipment_Click(object sender, EventArgs e) { var receiveditems = new List <TransactionItemPOCO>(); var rejecteditems = new List <RejectedItemPOCO>(); int orderid = 0; GridViewRow orderrow = PurchaseOrderGridView.Rows[1]; orderid = int.Parse((orderrow.FindControl("OrderID") as Label).Text); MessageUserControl.TryRun(() => { foreach (GridViewRow row in PurchaseOrderGridView.Rows) { if (int.Parse(((row.FindControl("QuantityOutstanding") as Label).Text).ToString()) > 0) { if (!int.TryParse(((row.FindControl("ReceivedUnitsBox") as TextBox).Text), out int receivecheck) || receivecheck <= 0) { throw new BusinessRuleException("Input Error", new List <String> { "Received items must be an integer number greater than zero." }); } int salvageditems = 0; int itemunitsize = int.Parse(((row.FindControl("ReceivedUnitsBox") as TextBox).Text)); int maxorder = int.Parse(row.Cells[2].Text); string itemname = row.Cells[1].Text; int itemquantity = int.Parse(((row.FindControl("UnitLabel") as Label).Text).ToString()) * itemunitsize; if (string.IsNullOrEmpty(((row.FindControl("SalvagedItemsBox") as TextBox).Text)) == false) { if (!int.TryParse(((row.FindControl("SalvagedItemsBox") as TextBox).Text), out int salvagedcheck) || salvagedcheck <= 0) { throw new BusinessRuleException("Input Error", new List <String> { "Salvaged items must be an integer number greater than zero." }); } else if (itemquantity + int.Parse(((row.FindControl("SalvagedItemsBox") as TextBox).Text)) > maxorder) { throw new BusinessRuleException("Input Error", new List <String> { "Total Item quantity cannot be greater than the initial item order." }); } else { salvageditems = int.Parse(((row.FindControl("SalvagedItemsBox") as TextBox).Text)); itemquantity = itemquantity + salvageditems; } } itemquantity = itemquantity + salvageditems; if (!string.IsNullOrEmpty((row.FindControl("RejectedUnitsBox") as TextBox).Text) && !string.IsNullOrEmpty((row.FindControl("RejectedReason") as TextBox).Text)) { if (!int.TryParse(((row.FindControl("RejectedUnitsBox") as TextBox).Text), out int rejectedcheck) || rejectedcheck <= 0) { throw new BusinessRuleException("Input Error", new List <String> { "Rejected items must be an integer number greater than zero." }); } else if (int.TryParse(((row.FindControl("RejectedReasons") as TextBox).Text), out int rejected)) { throw new BusinessRuleException("Input Error", new List <String> { "Reason for rejection cannot be a number." }); } else { int rejectitems = int.Parse((row.FindControl("RejectedUnitsBox") as TextBox).Text); string reasons = (row.FindControl("RejectedReason") as TextBox).ToString(); rejecteditems.Add(new RejectedItemPOCO() { ItemName = itemname, ItemQuantity = rejectitems, Reason = reasons }); } } receiveditems.Add(new TransactionItemPOCO() { ItemName = itemname, ItemQuantity = itemquantity }); } } }); MessageUserControl.TryRun(() => { ReceivingController sysmgr = new ReceivingController(); sysmgr.ReceiveShipment(orderid, receiveditems, rejecteditems); }, "Transaction Processed", "Order Received Successfully" ); PurchaseOrderGridView.DataBind(); int remainingitems = 0; foreach (GridViewRow row in PurchaseOrderGridView.Rows) { remainingitems = remainingitems + int.Parse(((row.FindControl("QuantityOutstanding") as Label).Text).ToString()); } if (remainingitems == 0) { MessageUserControl.TryRun(() => { ReceivingController sysmgr = new ReceivingController(); sysmgr.CloseOrder(orderid); }, "Order Complete", "This Order will now be closed"); Response.Redirect(Request.RawUrl); MessageUserControl.TryRun(() => { }, "Order Complete", "The Order was closed. Please select a new one."); } }
protected void ReceiveOrder_Click(object sender, EventArgs e) { string sccssDetail = "Order Received."; MessageUserControl.TryRun(() => { try { PurchaseOrderProcessed order = new PurchaseOrderProcessed(); order.POid = Convert.ToInt32((PurchaseOrderDetailsGridView.Rows[0].FindControl("POid") as HiddenField).Value); List <ReceivedPODetail> detailList = new List <ReceivedPODetail>(); foreach (GridViewRow row in PurchaseOrderDetailsGridView.Rows) { // Unpack GridViewRow: var receivingAmount = Convert.ToInt32((row.Cells[4].Controls[1] as TextBox).Text); var qtyOutstanding = Convert.ToInt32((row.Cells[3].Controls[1] as Label).Text); if (receivingAmount > qtyOutstanding) { throw new Exception("Quantity receiving cannot be be greater then quantity outstanding."); } var returnAmount = Convert.ToInt32((row.Cells[5].Controls[1] as TextBox).Text); var returnReason = (row.Cells[6].Controls[1] as TextBox).Text; if (returnAmount > 0 && returnReason == "") { throw new Exception("Must provide reason for each item returned."); } var partID = Convert.ToInt32((row.Cells[0].Controls[1] as Label).Text); var poDetailID = Convert.ToInt32((row.FindControl("PODetailID") as HiddenField).Value); var POid = Convert.ToInt32((row.FindControl("POid") as HiddenField).Value); if (receivingAmount > 0 || returnAmount > 0) { // collect the data to be sent to BLL ReceivedPODetail data = new ReceivedPODetail { POid = POid, PODetailID = poDetailID, PartID = partID, QtyReceiving = receivingAmount, QtyReturning = returnAmount, ReturnReason = returnReason }; detailList.Add(data); } } // Check what button sent the request and check for item count for processing var button = ((LinkButton)sender).ID; if (detailList.Count == 0 && button == "ReceiveOrder" && UnorderedCart.Items.Count == 0) { throw new Exception("No items received in the order."); } order.receivedDetails = detailList; var controller = new ReceivingController(); bool closed = controller.ReceiveOrder(order); // Refresh GridView and ListView update after receive. var orderDetails = controller.GetPurchaseOrderDetails(order.POid); PurchaseOrderDetailsGridView.DataSource = orderDetails; PurchaseOrderDetailsGridView.DataBind(); UnorderedCart.DataBind(); // If order is closed refresh hide Order Details and refresh Order Panel. if (closed) { OrderPanel.Visible = false; OrderPanel.Enabled = false; OutstandingOrderGridView.DataBind(); sccssDetail = "Order Fulfilled and closed."; } } catch (FormatException) { throw new Exception("Returning and Receiving must be digits. If non returned / received enter 0."); } }, "Success", sccssDetail); }