public purchaseOrdersPopup(client.purchaseOrders.Form1 inParentForm, String inPONbr) { InitializeComponent(); parentForm = inParentForm; ctDynamicsSL.purchaseOrders.nameValuePairs[] outParams = new ctDynamicsSL.purchaseOrders.nameValuePairs[1]; outParams[0] = new ctDynamicsSL.purchaseOrders.nameValuePairs(); outParams[0].name = "PONBR"; outParams[0].value = inPONbr; this.gvPurchaseOrders.DataSource = parentForm.myPurchaseOrdersService.getPurchOrds(0, 0, outParams); this.gvPurchaseOrders.AutoGenerateColumns = true; }
private void btnMoveLines_Click(object sender, EventArgs e) { tbAltPONbr.Text = tbAltPONbr.Text.Trim(); if (tbAltPONbr.Text == "") { MessageBox.Show("You must select a destination PONbr!"); return; } ctDynamicsSL.purchaseOrders.nameValuePairs[] outParams = new ctDynamicsSL.purchaseOrders.nameValuePairs[1]; outParams[0] = new ctDynamicsSL.purchaseOrders.nameValuePairs(); outParams[0].name = "PONBR"; outParams[0].value = tbAltPONbr.Text; ctDynamicsSL.purchaseOrders.PurchOrd[] altPO = myPurchaseOrdersService.getPurchOrds(0, 0, outParams); if (altPO.Length > 1) { MessageBox.Show("Too many Destination PO results!"); return; } if (altPO.Length == 0) { MessageBox.Show("Invalid destination PONbr!"); return; } //if we get here, we know we have a valid destination PO. if (gvSOLine.SelectedRows.Count == 0) { MessageBox.Show("No Rows Selected!"); return; } ctDynamicsSL.purchaseOrders.purchaseOrder originalPO = myPurchaseOrdersService.getPurchaseOrder(tbPONbr.Text); ctDynamicsSL.purchaseOrders.poLineItem[] origOriginalItems = originalPO.LineItems; List <ctDynamicsSL.purchaseOrders.poLineItem> newOriginalItems = new List <ctDynamicsSL.purchaseOrders.poLineItem>(); ctDynamicsSL.purchaseOrders.purchaseOrder destinationPO = myPurchaseOrdersService.getPurchaseOrder(tbAltPONbr.Text); ctDynamicsSL.purchaseOrders.poLineItem[] origDestinationItems = destinationPO.LineItems; List <ctDynamicsSL.purchaseOrders.poLineItem> newDestinationItems = new List <ctDynamicsSL.purchaseOrders.poLineItem>(); newDestinationItems.AddRange(origDestinationItems); foreach (System.Windows.Forms.DataGridViewRow tmpRow in gvSOLine.SelectedRows) { String tmpRowLineRef = tmpRow.Cells["LINEREF"].Value.ToString().Trim().ToUpper(); foreach (ctDynamicsSL.purchaseOrders.poLineItem tmpOrigItem in originalPO.LineItems) { if (tmpRowLineRef == tmpOrigItem.LineRef.ToString().Trim().ToUpper()) { ctDynamicsSL.purchaseOrders.poLineItem tmpItem = tmpOrigItem; tmpItem.LineRef = ""; newDestinationItems.Add(tmpItem); break; } } } destinationPO.LineItems = newDestinationItems.ToArray(); destinationPO = myPurchaseOrdersService.savePurchaseOrder(destinationPO); MessageBox.Show(ctStandardLib.ctHelper.serializeObject(destinationPO.returnVal)); for (System.Int32 i = 0; i < origOriginalItems.Length; i++) { if (origOriginalItems[i].LineRef.Trim() != "") { newOriginalItems.Add(origOriginalItems[i]); } } if (newOriginalItems.Count > 0) { originalPO.LineItems = newOriginalItems.ToArray(); originalPO = myPurchaseOrdersService.savePurchaseOrder(originalPO); } else { originalPO = myPurchaseOrdersService.getPurchaseOrder(originalPO.PONbr); originalPO.Status = "X"; originalPO = myPurchaseOrdersService.savePurchaseOrder(originalPO); } MessageBox.Show(ctStandardLib.ctHelper.serializeObject(originalPO.returnVal)); }