//-----------------------------------------------------------------------------------------------------
        private void CmdProcess310GLO()
        {
            if (!Directory.Exists(this.txt310GLOInp.Text) || !Directory.Exists(this.txt310GLOOut.Text)
                || !Directory.Exists(this.txt310GLOErr.Text) || !Directory.Exists(this.txt310GLOPrs.Text))
            {
                return;
            }

            //var filenames = Directory.GetFiles(this.txt310GLOInp.Text, "XUT_310GLO_S*.edi");

            //if (filenames.Any())
            //{
            //    this.txtMessage.AppendText(
            //        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 310 GLO: " + filenames.Length + "\n");
            //    foreach (var file in filenames)
            //    {
            //        var ediPrs = new FileProcessor(this.cboInstance.Text);
            //        ediPrs.Func_File_Validate(file, this.txt310GLOErr.Text, this.txt310GLOOut.Text, "310GLO", '*', '~');
            //        this.txtMessage.AppendText(
            //            DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 310 GLO: " + Path.GetFileName(file) + "\n");
            //    }
            //}

            var filenames = Directory.GetFiles(this.txt310GLOInp.Text, "XUT_310GLO_S*.xml");

            if (filenames.Any())
            {
                this.CmdRemoveEmptyLines(filenames);
                this.txtMessage.AppendText(
                    DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 310 GLO: " + filenames.Length + "\n");
                foreach (var file in filenames)
                {
                    var ediPrs = new FileProcessor(this.cboInstance.Text);
                    ediPrs.Func_CWO_XUS_SHP_X12_310_GLO(
                        file,
                        this.txt310GLOOut.Text,
                        this.txt310GLOPrs.Text,
                        this.txt310GLOErr.Text);
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 310 GLO: " + Path.GetFileName(file) + "\n");
                }
            }
        }
        //-----------------------------------------------------------------------------------------------------
        private void CmdProcess301GLO()
        {
            if (!Directory.Exists(this.txt301GLOInp.Text) || !Directory.Exists(this.txt301GLOOut.Text)
                || !Directory.Exists(this.txt301GLOPrs.Text) || !Directory.Exists(this.txt301GLOErr.Text))
            {
                return;
            }

            var filenames = Directory.GetFiles(this.txt301GLOInp.Text, "XUS_301GLO*.xml");

            if (filenames.Any())
            {
                this.CmdRemoveEmptyLines(filenames);
                this.txtMessage.AppendText(
                    DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 301 GLO: " + filenames.Length + "\n");
                foreach (var file in filenames)
                {
                    var ediPrs = new FileProcessor(this.cboInstance.Text);
                    ediPrs.Func_CWO_XUS_SHP_X12_301_GLO(
                        file,
                        this.txt301GLOOut.Text,
                        this.txt301GLOPrs.Text,
                        this.txt301GLOErr.Text,
                        X12_ID_558.A);
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 301 GLO: " + Path.GetFileName(file) + "\n");
                }
            }
        }
        //-----------------------------------------------------------------------------------------------------
        private void CmdProcess310CTL()
        {
            if (!Directory.Exists(this.txt310CTLInp.Text) || !Directory.Exists(this.txt310CTLOut.Text)
                || !Directory.Exists(this.txt310CTLErr.Text))
            {
                return;
            }

            var filenames = Directory.GetFiles(this.txt310CTLInp.Text, "310_CTL_S*.txt");

            if (filenames.Any())
            {
                this.txtMessage.AppendText(
                    DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 310 CTL: " + filenames.Length + "\n");
                foreach (var file in filenames)
                {
                    var ediPrs = new FileProcessor(this.cboInstance.Text);
                    ediPrs.Func_File_Validate(file, this.txt310CTLErr.Text, this.txt310CTLOut.Text, "310CTL", '*', '~');
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 310 CTL: " + Path.GetFileName(file) + "\n");
                }
            }
        }
        //-----------------------------------------------------------------------------------------------------
        private void CmdProcess214GTN()
        {
            if (!Directory.Exists(this.txt214GTNInp.Text) || !Directory.Exists(this.txt214GTNOut.Text)
                || !Directory.Exists(this.txt214GTNErr.Text))
            {
                this.txtMessage.AppendText(
                    DateTime.Now.ToString("yyyyMMddHHmm") + ": Invalid 214 GTN Folder Path(s)... \n");
                return;
            }

            var filenames = Directory.GetFiles(this.txt214GTNInp.Text, "214_GTN_S*.txt");

            if (filenames.Any())
            {
                var count = 0;

                if (filenames.Count() >= 250)
                {
                    this.txtMessage.AppendText(DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 214 GTN: 250 \n");
                }
                else
                {
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 214 GTN: " + filenames.Length + "\n");
                }

                foreach (var file in filenames)
                {
                    var ediPrs = new FileProcessor(this.cboInstance.Text);
                    ediPrs.Func_File_Validate(file, this.txt214GTNErr.Text, this.txt214GTNOut.Text, "214GTN", '*', '~');

                    var status = "";

                    if (!ediPrs.FileStatus.HasError)
                    {
                        status = DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 214 GTN: PASS "
                                 + Path.GetFileName(file) + "\n";
                    }
                    else
                    {
                        status = DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 214 GTN: FAIL "
                                 + Path.GetFileName(file) + "\n";
                    }
                    this.txtMessage.AppendText(status);

                    count++;

                    if (count >= 250)
                    {
                        break;
                    }
                }
            }
        }
        //-----------------------------------------------------------------------------------------------------
        private void CmdProcess300GLO()
        {
            if (!Directory.Exists(this.txt300GLOInp.Text) || !Directory.Exists(this.txt300GLOOut.Text)
                || !Directory.Exists(this.txt300GLOErr.Text) || !Directory.Exists(this.txt300GLOPrs.Text)
                || !Directory.Exists(this.txt300GLOSnt.Text) || !Directory.Exists(this.txt300GLOAck.Text))
            {
                this.txtMessage.AppendText(
                    DateTime.Now.ToString("yyyyMMddHHmm") + ": Invalid 300 GLO Folder Path(s)... \n");
                return;
            }

            var filenames = Directory.GetFiles(this.txt300GLOInp.Text, "WINA_JJNA_*.edi");

            if (filenames.Any())
            {
                this.CmdRemoveEmptyLines(filenames);
                this.txtMessage.AppendText(
                    DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 300 GLO: " + filenames.Length + "\n");
                foreach (var file in filenames)
                {
                    var ediPrs = new FileProcessor(this.cboInstance.Text);
                    ediPrs.Func_X12_300_GLO_CWO_XUS_SHP(
                        file,
                        this.txt300GLOErr.Text,
                        this.txt300GLOOut.Text,
                        this.txt300GLOPrs.Text);

                    var status = "";

                    if (!ediPrs.FileStatus.HasError)
                    {
                        status = DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 300 GLO: PASS "
                                 + Path.GetFileName(file) + "\n";
                    }
                    else
                    {
                        status = DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 300 GLO: FAIL "
                                 + Path.GetFileName(file) + "\n";
                    }

                    this.txtMessage.AppendText(status);
                }
            }
        }
        //-----------------------------------------------------------------------------------------------------
        private void BtnTestClick(object sender, EventArgs e)
        {
            var strOut = @"D:\Temp\X12\214\GLO\Out";
            var strErr = @"D:\Temp\X12\214\GLO\Err";
            var strPrs = @"D:\Temp\X12\214\GLO\Prs";
            var strFilename = @"D:\Temp\X12\214\GLO\Inp\XUS_214GLO_S00010208_OOP_FMA_201508261622479030.xml";

            var fileStatus = new FileAnalysis();
            var fileProcessor = new FileProcessor(this.cboInstance.Text);

            fileProcessor.Func_CWO_XUS_SHP_X12_214_GLO(strFilename, strOut, strPrs, strErr);

            if (fileProcessor.FileStatus.Status)
            {
                this.txtMessage.AppendText(strFilename + "\t Output:" + fileProcessor.FileStatus.FileOutName);
                //fileProcessor.FileStatus = fileProcessor.Func_File_SendToCargowise(
                //this.strAdpUrl,
                //fileProcessor.FileStatus.FileOutName,
                //this.strAdpRcp,
                //this.strAdpSnd,
                //this.strAdpPwd,
                //this.txt300GLOOut.Text);
            }
            else
            {
                this.txtMessage.AppendText(strFilename + "\t Output:" + fileProcessor.FileStatus.FileErrName + "\n");
                this.txtMessage.AppendText(fileProcessor.FileStatus.ExcpMessage);
            }
        }
        private void CmdProcess214GLO()
        {
            if (!Directory.Exists(this.txt214GLOInp.Text) || !Directory.Exists(this.txt214GLOOut.Text)
                || !Directory.Exists(this.txt214GLOErr.Text))
            {
                this.txtMessage.AppendText(
                    DateTime.Now.ToString("yyyyMMddHHmm") + ": Invalid 214 GLO Folder Path(s)... \n");
                return;
            }

            var filenames = Directory.GetFiles(this.txt214GLOInp.Text, "XUS_214GLO_S*.xml");

            if (filenames.Any())
            {
                var count = 0;

                if (filenames.Count() >= 250)
                {
                    this.txtMessage.AppendText(DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 214 GLO: 250 \n");
                }
                else
                {
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 214 GLO: " + filenames.Length + "\n");
                }

                foreach (var file in filenames)
                {
                    var ediPrs = new FileProcessor(this.cboInstance.Text);
                    ediPrs.Func_CWO_XUS_SHP_X12_214_GLO(
                        file,
                        this.txt214GLOOut.Text,
                        this.txt214GLOPrs.Text,
                        this.txt214GLOErr.Text);

                    //var status = "";

                    //if (!ediPrs.FileStatus.HasError)
                    //{
                    //    status = DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 214 GTN: PASS "
                    //    + Path.GetFileName(file) + "\n";
                    //}
                    //else
                    //{
                    //    status = DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 214 GTN: FAIL "
                    //    + Path.GetFileName(file) + "\n";
                    //}
                    //this.txtMessage.AppendText(status);

                    count++;

                    if (count >= 250)
                    {
                        break;
                    }
                }
            }
        }
        //-----------------------------------------------------------------------------------------------------
        private void CmdSubmitInterchange()
        {
            var files204 = Directory.GetFiles(this.txt204Out.Text, "204_GLO_*.xml");

            if (files204.Any())
            {
                foreach (var file in files204)
                {
                    var ediPrs = new FileProcessor(this.cboInstance.Text);
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Submitting 204 XUS: " + Path.GetFileName(file) + "\n");
                    ediPrs.FileStatus = ediPrs.Func_File_SendToCargowise(
                        this.strAdpUrl,
                        file,
                        this.strAdpRcp,
                        this.strAdpSnd,
                        this.strAdpPwd,
                        this.txt204Snt.Text);
                }
            }

            var files300 = Directory.GetFiles(this.txt300GLOOut.Text, "300_GLO_*.xml");

            if (files300.Any())
            {
                foreach (var file in files300)
                {
                    var ediPrs = new FileProcessor(this.cboInstance.Text);
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Submitting 300 XUS: " + Path.GetFileName(file) + "\n");
                    ediPrs.FileStatus = ediPrs.Func_File_SendToCargowise(
                        this.strAdpUrl,
                        file,
                        this.strAdpRcp,
                        this.strAdpSnd,
                        this.strAdpPwd,
                        this.txt300GLOSnt.Text);
                }
            }

            var files810 = Directory.GetFiles(this.txt810GLOOut.Text, "810_JNJ_*.xml");

            if (files810.Any())
            {
                foreach (var file in files810)
                {
                    var ediPrs = new FileProcessor(this.cboInstance.Text);
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Submitting 810 XMS: " + Path.GetFileName(file) + "\n");
                    ediPrs.FileStatus = ediPrs.Func_File_SendToCargowise(
                        this.strAdpUrl,
                        file,
                        this.strAdpRcp,
                        this.strAdpSnd,
                        this.strAdpPwd,
                        this.txt810GLOSnt.Text);
                }
            }
        }
        //-----------------------------------------------------------------------------------------------------
        private void CmdProcessXUSCWO()
        {
            var filenames = Directory.GetFiles(this.txtSPXOut.Text, "SPARX_*.xml");

            if (filenames.Any())
            {
                this.txtMessage.AppendText(
                    DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing XUS CWO: " + filenames.Length + "\n");

                var ediPrs = new FileProcessor(this.cboInstance.Text);

                var fileConApp = Directory.GetFiles(this.txtSPXOut.Text, "SPARX_CON_XUS_APP_*.xml");

                if (fileConApp.Any())
                {
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing CON APP: " + fileConApp.Length + "\n");

                    foreach (var filConApp in fileConApp)
                    {
                        ediPrs.Func_SPX_SendToCargowise(
                            this.strAdpUrl,
                            filConApp,
                            this.strAdpRcp,
                            this.strAdpSnd,
                            this.strAdpPwd,
                            this.txtSPXSnt.Text);

                        this.txtMessage.AppendText(
                            DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing CON APP: "
                            + Path.GetFileName(filConApp) + "\n");
                    }
                }

                var fileConEvt = Directory.GetFiles(this.txtSPXOut.Text, "SPARX_CON_XUE_EVT_*.xml");

                if (fileConEvt.Any())
                {
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing CON EVT: " + fileConEvt.Length + "\n");

                    foreach (var filConEvt in fileConEvt)
                    {
                        ediPrs.Func_SPX_SendToCargowise(
                            this.strAdpUrl,
                            filConEvt,
                            this.strAdpRcp,
                            this.strAdpSnd,
                            this.strAdpPwd,
                            this.txtSPXSnt.Text);

                        this.txtMessage.AppendText(
                            DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing CON EVT: "
                            + Path.GetFileName(filConEvt) + "\n");
                    }
                }

                var fileConDoc = Directory.GetFiles(this.txtSPXOut.Text, "SPARX_CON_XUE_DOC_*.xml");

                if (fileConDoc.Any())
                {
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing CON DOC: " + fileConDoc.Length + "\n");

                    foreach (var filConDoc in fileConDoc)
                    {
                        ediPrs.Func_SPX_SendToCargowise(
                            this.strAdpUrl,
                            filConDoc,
                            this.strAdpRcp,
                            this.strAdpSnd,
                            this.strAdpPwd,
                            this.txtSPXSnt.Text);

                        this.txtMessage.AppendText(
                            DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing CON DOC: "
                            + Path.GetFileName(filConDoc) + "\n");
                    }
                }

                var fileShpApp = Directory.GetFiles(this.txtSPXOut.Text, "SPARX_SHP_XUS_APP_*.xml");

                if (fileShpApp.Any())
                {
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing SHP APP: " + fileShpApp.Length + "\n");

                    foreach (var filShpApp in fileShpApp)
                    {
                        ediPrs.Func_SPX_SendToCargowise(
                            this.strAdpUrl,
                            filShpApp,
                            this.strAdpRcp,
                            this.strAdpSnd,
                            this.strAdpPwd,
                            this.txtSPXSnt.Text);

                        this.txtMessage.AppendText(
                            DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing SHP APP: "
                            + Path.GetFileName(filShpApp) + "\n");
                    }
                }

                var fileShpEvt = Directory.GetFiles(this.txtSPXOut.Text, "SPARX_SHP_XUE_EVT_*.xml");

                if (fileShpEvt.Any())
                {
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing SHP EVT: " + fileShpEvt.Length + "\n");

                    foreach (var filShpEvt in fileShpEvt)
                    {
                        ediPrs.Func_SPX_SendToCargowise(
                            this.strAdpUrl,
                            filShpEvt,
                            this.strAdpRcp,
                            this.strAdpSnd,
                            this.strAdpPwd,
                            this.txtSPXSnt.Text);

                        this.txtMessage.AppendText(
                            DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing SHP EVT: "
                            + Path.GetFileName(filShpEvt) + "\n");
                    }
                }

                var fileShpDoc = Directory.GetFiles(this.txtSPXOut.Text, "SPARX_SHP_XUE_DOC_*.xml");

                if (fileShpDoc.Any())
                {
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing SHP DOC: " + fileShpDoc.Length + "\n");

                    foreach (var filShpDoc in fileShpDoc)
                    {
                        ediPrs.Func_SPX_SendToCargowise(
                            this.strAdpUrl,
                            filShpDoc,
                            this.strAdpRcp,
                            this.strAdpSnd,
                            this.strAdpPwd,
                            this.txtSPXSnt.Text);

                        this.txtMessage.AppendText(
                            DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing SHP DOC: "
                            + Path.GetFileName(filShpDoc) + "\n");
                    }
                }
            }

            filenames = Directory.GetFiles(this.txtSPXInp.Text, "SPARX_*.xml");

            if (filenames.Any())
            {
                var fileXmsApp = Directory.GetFiles(this.txtSPXInp.Text, "SPARX_SHP_XML_APP_*.xml");

                var ediPrs = new FileProcessor(this.cboInstance.Text);

                if (fileXmsApp.Any())
                {
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing XMS APP: " + fileXmsApp.Length + "\n");

                    foreach (var filXmsApp in fileXmsApp)
                    {
                        ediPrs.Func_SPX_XMS(filXmsApp, this.txtSPXOut.Text);

                        this.txtMessage.AppendText(
                            DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing XMS APP: "
                            + Path.GetFileName(filXmsApp) + "\n");
                    }
                }

                var fileXmsEvt = Directory.GetFiles(this.txtSPXInp.Text, "SPARX_SHP_XML_EVT_*.xml");

                if (fileXmsEvt.Any())
                {
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing XMS EVT: " + fileXmsEvt.Length + "\n");

                    foreach (var filXmsEvt in fileXmsEvt)
                    {
                        ediPrs.Func_SPX_XMS(filXmsEvt, this.txtSPXOut.Text);

                        this.txtMessage.AppendText(
                            DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing XMS EVT: "
                            + Path.GetFileName(filXmsEvt) + "\n");
                    }
                }
            }
        }
        //-----------------------------------------------------------------------------------------------------
        private void CmdProcessXMSCWO()
        {
            var filenames = Directory.GetFiles(this.txtSPXInp.Text, "SPARX_*.xml");

            if (filenames.Any())
            {
                this.txtMessage.AppendText(
                    DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing XMS CWO: " + filenames.Length + "\n");

                foreach (var file in filenames)
                {
                    var ediPrs = new FileProcessor(this.cboInstance.Text);
                    ediPrs.Func_SPX_XMS(file, this.txtSPXOut.Text);
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing XMS CWO: " + Path.GetFileName(file) + "\n");
                }
            }
        }
        //-----------------------------------------------------------------------------------------------------
        private void CmdProcess810GLO()
        {
            var filenames = Directory.GetFiles(this.txt810GLOInp.Text, "*.txt");

            if (filenames.Any())
            {
                this.txtMessage.AppendText(
                    DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 810 JNJ: " + filenames.Length + "\n");

                foreach (var file in filenames)
                {
                    var ediPrs = new FileProcessor(this.cboInstance.Text);
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 810 JNJ: " + Path.GetFileName(file) + "\n");
                    ediPrs.Func_X12_810_GLO_CWO_XMS_CIV(
                        file,
                        this.txt810GLOErr.Text,
                        this.txt810GLOOut.Text,
                        this.txt810GLOPrs.Text);
                }
            }
        }
        //-----------------------------------------------------------------------------------------------------
        private void CmdProcess315GTN()
        {
            var filenames = Directory.GetFiles(this.txt315GTNInp.Text, "315_GTN_S*.txt");

            if (filenames.Any())
            {
                this.CmdRemoveEmptyLines(filenames);
                this.txtMessage.AppendText(
                    DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 315 GTN: " + filenames.Length + "\n");
                foreach (var file in filenames)
                {
                    var ediPrs = new FileProcessor(this.cboInstance.Text);
                    ediPrs.Func_File_Validate(file, this.txt315GTNErr.Text, this.txt315GTNOut.Text, "315GTN", '*', '~');
                    this.txtMessage.AppendText(
                        DateTime.Now.ToString("yyyyMMddHHmm") + ": Processing 315 GTN: " + Path.GetFileName(file) + "\n");
                }
            }
        }