private void ViewApply()
        {
            //If View Apply was clicked
            try
            {
                if (dataGrid.Rows.Count > 0)
                {
                    string fieldName = Controller.Instance.Model.PMVendorLabel + "ID";
                    string trxNumber = dataGrid.Rows[dataGrid.SelectedRows[0].Index].Cells["TrxNumber"].Value.ToString();
                    string vendorID  = dataGrid.Rows[dataGrid.SelectedRows[0].Index].Cells[fieldName].Value.ToString();

                    if (!string.IsNullOrEmpty(trxNumber) && !string.IsNullOrEmpty(vendorID))
                    {
                        PMTransaction pmTrx = Controller.Instance.GetPMKeysInfo(trxNumber, vendorID);

                        PMVoucher pmVoucher = Controller.Instance.GetPMVoucher(pmTrx);

                        OpenPMApplyInquiry(pmVoucher);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("An error occurred reading the master ID: " + ex.Message, "Error", MessageBoxButtons.OK);
            }
        }
        public PMVoucher GetPMVoucher(PMTransaction pmTrx)
        {
            PMVoucher pmVoucher = new PMVoucher();

            try
            {
                DataTable dataTable = DataAccess.GetPMVoucherInfo(pmTrx.VENDORID, pmTrx.DOCTYPE, pmTrx.CNTRLNUM, pmTrx.DOCNUMBR);
                if (dataTable.Rows.Count == 1)
                {
                    pmVoucher = ObjectMapper.DataRowToObject <PMVoucher>(dataTable.Rows[0]);
                }

                return(pmVoucher);
            }
            catch (Exception ex)
            {
                MessageBox.Show("An error occurred in Controller.GetPMVoucher: " + ex.Message);
                return(pmVoucher);
            }
        }
        private void OpenPMApplyInquiry(PMVoucher pmVoucher)
        {
            if (string.IsNullOrEmpty(pmVoucher.VENDORID) || string.IsNullOrEmpty(pmVoucher.DOCNUMBR))
            {
                return;
            }

            if (pmVoucher.DOCTYPE == 1)
            {
                //Set flag to return focus to Search window after GP inquiry window is closed
                Controller.Instance.Model.PMSearchFocus = true;
                Dynamics.Forms.PmApplyZoom.Procedures.OpenWindow.Invoke(pmVoucher.VCHRNMBR, pmVoucher.DOCNUMBR, pmVoucher.DOCTYPE, pmVoucher.DOCAMNT, pmVoucher.VENDORID, pmVoucher.CURTRXAM, pmVoucher.CURNCYID, "", "", 0.0m, 0, 0.0m, 0, "Transaction Entry", 7817);
            }
            else if (pmVoucher.DOCTYPE == 6)
            {
                //Set flag to return focus to Search window after GP inquiry window is closed
                Controller.Instance.Model.PMSearchFocus = true;
                Dynamics.Forms.PmApplyZoom.Procedures.OpenWindow.Invoke(pmVoucher.VCHRNMBR, pmVoucher.DOCNUMBR, pmVoucher.DOCTYPE, pmVoucher.DOCAMNT, pmVoucher.VENDORID, pmVoucher.CURTRXAM, pmVoucher.CURNCYID, "", "", 0.0m, 0, 0.0m, 0, "Payment Entry", 7818);
            }
        }