예제 #1
0
 private void btnLoad_Click(object sender, EventArgs e)
 {
     myPurchaseOrder = myPurchaseOrdersService.getPurchaseOrder(tbPONbr.Text);
     if (!myPurchaseOrder.returnVal.success)
     {
         MessageBox.Show("Error: " + myPurchaseOrder.returnVal.returnString);
         return;
     }
     btnUpdate.Enabled   = true;
     tbOrder.Text        = ctStandardLib.ctHelper.serializeObject(myPurchaseOrder).Replace("><", ">" + Environment.NewLine + "<");
     gvSOLine.DataSource = myPurchaseOrder.LineItems;
 }
예제 #2
0
        //Creates an empty new generic batch
        private void btnNew_Click(object sender, EventArgs e)
        {
            myPurchaseOrder = new ctDynamicsSL.purchaseOrders.purchaseOrder();
            if (tbPONbr.Text.Trim() != "")
            {
                myPurchaseOrder.PONbr = tbPONbr.Text.Trim();
            }
            else
            {
                myPurchaseOrder.PONbr = "";// System.Guid.NewGuid().ToString().Substring(0, 6);
            }

            myPurchaseOrder.VendId = "CATALY01"; //vendid required
            myPurchaseOrder.Status = "P";        //open is default

            myPurchaseOrder.LineItems                 = new ctDynamicsSL.purchaseOrders.poLineItem[1];
            myPurchaseOrder.LineItems[0]              = new ctDynamicsSL.purchaseOrders.poLineItem();
            myPurchaseOrder.LineItems[0].InvtID       = "1000-AV-SYS"; //a valid invtID is required
            myPurchaseOrder.LineItems[0].PC_Flag      = "Y";           //billable flag is required
            myPurchaseOrder.LineItems[0].PurchaseType = "GS";          //Purchase type is required.
            myPurchaseOrder.LineItems[0].RcptPctAct   = "N";           //receipt action is required
            myPurchaseOrder.LineItems[0].RcptPctMax   = 100;           //receipt qty max required
            myPurchaseOrder.LineItems[0].RcptPctMin   = 100;           //receipt qty min required
            myPurchaseOrder.LineItems[0].SiteID       = "";            // siteid is required
            myPurchaseOrder.LineItems[0].UOM          = "EA";          //purchunit is required
            myPurchaseOrder.LineItems[0].QtyOrd       = 1;
            myPurchaseOrder.LineItems[0].CuryUnitCost = 100;           //forces default pricing
            myPurchaseOrder.LineItems[0].ProjectID    = "";            //projectID required
            myPurchaseOrder.LineItems[0].PurAcct      = "";            //account required
            myPurchaseOrder.LineItems[0].PurSub       = "";            // sub account required
            myPurchaseOrder.LineItems[0].TaskID       = "";            //task is required

            myPurchaseOrder = myPurchaseOrdersService.saveNewPurchaseOrder(myPurchaseOrder);
            if (!myPurchaseOrder.returnVal.success)
            {
                btnUpdate.Enabled   = false;
                tbPONbr.Text        = "";
                gvSOLine.DataSource = null;
                tbOrder.Text        = ctStandardLib.ctHelper.serializeObject(myPurchaseOrder).Replace("><", ">" + Environment.NewLine + "<");
                MessageBox.Show("Error: " + myPurchaseOrder.returnVal.returnString);
                return;
            }
            else
            {
                tbPONbr.Text = myPurchaseOrder.PONbr;
                btnLoad.PerformClick();
            }
        }
예제 #3
0
        //Used to save a batch that has been loaded
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (myPurchaseOrder == null)
            {
                MessageBox.Show("You must load an purchaseOrder first!");
                return;
            }

            MessageBox.Show(ctStandardLib.ctHelper.serializeObject(myPurchaseOrder).Replace("><", ">" + Environment.NewLine + "<"));
            myPurchaseOrder = myPurchaseOrdersService.savePurchaseOrder(myPurchaseOrder);
            if (!myPurchaseOrder.returnVal.success)
            {
                MessageBox.Show("Error: " + myPurchaseOrder.returnVal.returnString);
            }
            else
            {
                MessageBox.Show("Save complete!");
            }
        }
예제 #4
0
        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));
        }