Esempio n. 1
0
        //Build List of Available GLCodes (Receiver Side)
        public bool BuildReceiverGLCodes()
        {
            bool bIsDoneReceiverGLCodes = false;

            string sIP = aTechnicalInfo[2].ToString();
            string sPastelConn = aTechnicalInfo[6].ToString().Trim();

            //Create Instance of Web Service
            localhost.TransferManager wsTransferMan = new Solsage_Process_Management_System.localhost.TransferManager();
            string[] bIsFetchGLCodesSuccess = new string[2];

            //Test Connection/Webservice
            string sWebServiceURL = "http://" + sIP + "//liquid//TransferManager.asmx";

            if (IsAddressAvailable(sWebServiceURL))
            {
                try
                {
                    //Set Server Address & Request Data
                    wsTransferMan.Url = sWebServiceURL;
                    bIsFetchGLCodesSuccess = wsTransferMan.GenerateGLCodes(sPastelConn);

                    //Determine Request Outcome + Handle
                    if (bIsFetchGLCodesSuccess[0] == "success")
                    {
                        //Assign Values
                        sReceiverGLCodes = bIsFetchGLCodesSuccess[1].ToString();
                        bIsDoneReceiverGLCodes = true;
                    }
                    else
                    {
                        bIsDoneReceiverGLCodes = false;
                    }
                }
                catch (Exception ex)
                {
                    string sErrorMsg = ex.Message;
                    bIsDoneReceiverGLCodes = false;
                }
            }
            else
            {
                //Handle Webservice Error/Unavailable
                bIsDoneReceiverGLCodes = false;
            }

            return bIsDoneReceiverGLCodes;
        }
        private void ExecuteDocTransfer()
        {
            localhost.TransferManager wsTransferMan = new Solsage_Process_Management_System.localhost.TransferManager();
            string[] bIsTransferSuccess = new string[2];
            string[] bIsTransferTMPWriteSuccess = new string[2];

            bool bActive = true;
            string sSelectedIP = "";

            foreach (DataGridViewRow dgRow in dgvTransferDetails.Rows) //All Data to Send - Row by Row
            {
                //Shift Selected Row
                dgRow.Selected = true;

                //Assign Variables' Values
                string sDocNum = dgRow.Cells["clDocNum"].Value.ToString();
                string sDocType = dgRow.Cells["clDocTypeNum"].Value.ToString();

                //Determine DocType to Transfer
                string sDocTypeToTransfer = "";
                if (sDocType == "103" || sDocType == "3")
                    sDocTypeToTransfer = "106";
                else if (sDocType == "104" || sDocType == "4")
                    sDocTypeToTransfer = "109";

                string sHistHeader = dgRow.Cells["clHistHeader"].Value.ToString();
                string sHistLines = dgRow.Cells["clHistLines"].Value.ToString();

                string sIP = dgRow.Cells["clIP"].Value.ToString();
                string sDatapath = dgRow.Cells["clDatapath"].Value.ToString();
                string sSuppRef = dgRow.Cells["clSuppRef"].Value.ToString();
                string sSOLPMSConn = dgRow.Cells["clSOLPMS_Conn"].Value.ToString();

                //Test Connection/Webservice
                string sWebServiceURL = "http://" + sIP + "//liquid//TransferManager.asmx";

                Application.DoEvents();

                if (sIP != sSelectedIP)
                {
                    sSelectedIP = sIP;
                    bActive = true;
                }

                if (bActive)
                {
                    if (IsAddressAvailable(sWebServiceURL))
                    {
                        Application.DoEvents();

                        //Set Server Address & Transfer Data
                        wsTransferMan.Url = sWebServiceURL;

                        try
                        {
                            bIsTransferTMPWriteSuccess = wsTransferMan.ProcessTransfer(sDocNum, sDocTypeToTransfer, sHistHeader, sHistLines, sDatapath, sSuppRef, sSOLPMSConn, Global.sLogedInUserCode, Global.sLogedInUserName);

                            //Write to TEMP Holding Table Completed
                            if (bIsTransferTMPWriteSuccess[0] == "success")
                            {
                                //Poll DB via WebService - pass TransNumber
                                bool isDone = false;

                                TimeSpan tsTimeout = new TimeSpan(0, 2, 0);
                                DateTime dtEndTime = DateTime.Now + tsTimeout;

                                while (!isDone)
                                {
                                    if (DateTime.Now < dtEndTime)
                                    {
                                        //Call Webservice
                                        bIsTransferSuccess = wsTransferMan.PollDBTransfer(bIsTransferTMPWriteSuccess[1].ToString());

                                        //Do Tests
                                        if (Convert.ToInt32(bIsTransferSuccess[0]) == 1)
                                        {
                                            isDone = true;

                                            //TRANFER SUCCESSFUL - Capture in Completed Table
                                            using (PsqlConnection oTCompConn = new PsqlConnection(Connect.sConnStr))
                                            {
                                                oTCompConn.Open();

                                                string sTCompSql = "INSERT INTO SOLTCOMP (sSentDocNum,sTransToIP,sTransToDataPath,dtTimeCompleted,sReceivedDocNum,sUserCode,sUserName) VALUES";
                                                sTCompSql += "(";
                                                sTCompSql += "'" + sDocNum + "',";
                                                sTCompSql += "'" + sIP + "',";
                                                sTCompSql += "'" + sDatapath + "',";
                                                sTCompSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                                sTCompSql += "'" + bIsTransferSuccess[1].ToString() + "',";
                                                sTCompSql += "'" + Global.sLogedInUserCode + "',";
                                                sTCompSql += "'" + Global.sLogedInUserName + "')";

                                                int iCompletedRet = Connect.getDataCommand(sTCompSql, oTCompConn).ExecuteNonQuery();

                                                //DELETE FROM ERROR TABLE - if completed
                                                string sDelTErrSql = "DELETE FROM SOLTERR WHERE sDocNum = '" + sDocNum + "'";
                                                int iDeletedRet = Connect.getDataCommand(sDelTErrSql, oTCompConn).ExecuteNonQuery();
                                            }

                                            //Mark Row - SUCCESSFUL
                                            dgRow.DefaultCellStyle.BackColor = Color.Green;
                                        }

                                        if (Convert.ToInt32(bIsTransferSuccess[0]) == 2)
                                        {
                                            isDone = true;

                                            using (PsqlConnection oTErrConn = new PsqlConnection(Connect.sConnStr))
                                            {
                                                oTErrConn.Open();

                                                string sTErrSql = "INSERT INTO SOLTERR (sDocNum,sTransToIP,sTransToDataPath,dtTimeFailed,sErrorInfo,sUserCode,sUserName) VALUES";
                                                sTErrSql += "(";
                                                sTErrSql += "'" + sDocNum + "',";
                                                sTErrSql += "'" + sIP + "',";
                                                sTErrSql += "'" + sDatapath + "',";
                                                sTErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                                sTErrSql += "'" + bIsTransferSuccess[1].ToString() + "',";
                                                sTErrSql += "'" + Global.sLogedInUserCode + "',";
                                                sTErrSql += "'" + Global.sLogedInUserName + "')";

                                                int iTErrRet = Connect.getDataCommand(sTErrSql, oTErrConn).ExecuteNonQuery();
                                            }

                                            //Mark Row - ERROR
                                            dgRow.DefaultCellStyle.BackColor = Color.Red;
                                        }
                                    }
                                    else //TIMEOUT
                                    {
                                        isDone = true;

                                        using (PsqlConnection oTErrConn = new PsqlConnection(Connect.sConnStr))
                                        {
                                            oTErrConn.Open();

                                            string sTErrSql = "INSERT INTO SOLTERR (sDocNum,sTransToIP,sTransToDataPath,dtTimeFailed,sErrorInfo,sUserCode,sUserName) VALUES";
                                            sTErrSql += "(";
                                            sTErrSql += "'" + sDocNum + "',";
                                            sTErrSql += "'" + sIP + "',";
                                            sTErrSql += "'" + sDatapath + "',";
                                            sTErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                            sTErrSql += "'Timeout Occured in DB Polling',";
                                            sTErrSql += "'" + Global.sLogedInUserCode + "',";
                                            sTErrSql += "'" + Global.sLogedInUserName + "')";

                                            int iTErrRet = Connect.getDataCommand(sTErrSql, oTErrConn).ExecuteNonQuery();
                                        }

                                        //Mark Row - ERROR
                                        dgRow.DefaultCellStyle.BackColor = Color.Red;
                                    }
                                }
                            }
                            else
                            {
                                //TRANFER FAILED - Capture in Error Table
                                using (PsqlConnection oTErrConn = new PsqlConnection(Connect.sConnStr))
                                {
                                    oTErrConn.Open();

                                    string sTErrSql = "INSERT INTO SOLTERR (sDocNum,sTransToIP,sTransToDataPath,dtTimeFailed,sErrorInfo,sUserCode,sUserName) VALUES";
                                    sTErrSql += "(";
                                    sTErrSql += "'" + sDocNum + "',";
                                    sTErrSql += "'" + sIP + "',";
                                    sTErrSql += "'" + sDatapath + "',";
                                    sTErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                    sTErrSql += "'" + bIsTransferTMPWriteSuccess[1].ToString() + "',";
                                    sTErrSql += "'" + Global.sLogedInUserCode + "',";
                                    sTErrSql += "'" + Global.sLogedInUserName + "')";

                                    int iTErrRet = Connect.getDataCommand(sTErrSql, oTErrConn).ExecuteNonQuery();
                                }

                                //Mark Row - ERROR
                                dgRow.DefaultCellStyle.BackColor = Color.Red;
                            }
                        }
                        catch (Exception ex)
                        {
                            //WEB SERVICE OR OTHER ERROR
                            using (PsqlConnection oErrorConn = new PsqlConnection(Connect.sConnStr))
                            {
                                string sErrSql = "INSERT INTO SOLTERR (sDocNum,sTransToIP,sTransToDataPath,dtTimeFailed,sErrorInfo,sUserCode,sUserName) VALUES";
                                sErrSql += "(";
                                sErrSql += "'" + sDocNum + "',";
                                sErrSql += "'" + sIP + "',";
                                sErrSql += "'" + sDatapath + "',";
                                sErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                sErrSql += "'" + ex.Message.Replace("'"," ") + "',";
                                sErrSql += "'" + Global.sLogedInUserCode + "',";
                                sErrSql += "'" + Global.sLogedInUserName + "')";

                                int iErrRet = Connect.getDataCommand(sErrSql, oErrorConn).ExecuteNonQuery();
                            }

                            //Mark Row - ERROR
                            dgRow.DefaultCellStyle.BackColor = Color.Red;
                        }
                    }
                    else
                    {
                        bActive = false;
                        //WEB SERVICE UNAVAILABLE - Capture in Error Table
                        using (PsqlConnection oErrorConn = new PsqlConnection(Connect.sConnStr))
                        {
                            string sErrSql = "INSERT INTO SOLTERR (sDocNum,sTransToIP,sTransToDataPath,dtTimeFailed,sErrorInfo,sUserCode,sUserName) VALUES";
                            sErrSql += "(";
                            sErrSql += "'" + sDocNum + "',";
                            sErrSql += "'" + sIP + "',";
                            sErrSql += "'" + sDatapath + "',";
                            sErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                            sErrSql += "'Connection to Web Service Failed. Web Service unavailable',";
                            sErrSql += "'" + Global.sLogedInUserCode + "',";
                            sErrSql += "'" + Global.sLogedInUserName + "')";

                            int iErrRet = Connect.getDataCommand(sErrSql, oErrorConn).ExecuteNonQuery();
                        }

                        //Mark Row - ERROR
                        dgRow.DefaultCellStyle.BackColor = Color.Red;
                    }
                }
                else
                {
                    //WEB SERVICE UNAVAILABLE - Capture in Error Table
                    using (PsqlConnection oErrorConn = new PsqlConnection(Connect.sConnStr))
                    {
                        string sErrSql = "INSERT INTO SOLTERR (sDocNum,sTransToIP,sTransToDataPath,dtTimeFailed,sErrorInfo,sUserCode,sUserName) VALUES";
                        sErrSql += "(";
                        sErrSql += "'" + sDocNum + "',";
                        sErrSql += "'" + sIP + "',";
                        sErrSql += "'" + sDatapath + "',";
                        sErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                        sErrSql += "'Connection to Web Service Failed. Web Service unavailable',";
                        sErrSql += "'" + Global.sLogedInUserCode + "',";
                        sErrSql += "'" + Global.sLogedInUserName + "')";

                        int iErrRet = Connect.getDataCommand(sErrSql, oErrorConn).ExecuteNonQuery();
                    }

                    //Mark Row - ERROR
                    dgRow.DefaultCellStyle.BackColor = Color.Red;
                }
            }

            btnRefreshTransfers.Enabled = true;
            btnTransfer.Enabled = false;
            btnTestConnection.Enabled = false;
        }
Esempio n. 3
0
        private void ExecuteGLCodeSync()
        {
            localhost.TransferManager wsSyncMan = new Solsage_Process_Management_System.localhost.TransferManager();
            string[] bIsSyncSuccess = new string[2];

            foreach (DataGridViewRow dgRow in dgvSyncDetails.Rows) //All Data to Sync - Row by Row
            {
                if (dgRow.Cells["clIncludeInSync"].Value != null && dgRow.Cells["clIncludeInSync"].Value.ToString() == "True")
                {
                    //Shift Selected Row
                    dgRow.Selected = true;

                    //Assign Variables' Values
                    string sGLCode = dgRow.Cells["clGLCode"].Value.ToString();
                    string sReceiverIP = dgRow.Cells["clIP"].Value.ToString();
                    string sReceiverAlias = dgRow.Cells["clReceiverAlias"].Value.ToString();
                    string sReceiverRef = dgRow.Cells["clReceiverRef"].Value.ToString();
                    string sDataPath = dgRow.Cells["clDataPath"].Value.ToString();
                    string sSourceRef = dgRow.Cells["clSourceRef"].Value.ToString();
                    string sLiquidConn = dgRow.Cells["clSOLPMSConn"].Value.ToString();
                    string sPastelConn = dgRow.Cells["clPastelConn"].Value.ToString();
                    string sInsertString = dgRow.Cells["clInsertLine"].Value.ToString();

                    //Test Connection/Webservice
                    string sWebServiceURL = "http://" + sReceiverIP + "//liquid//TransferManager.asmx";

                    if (IsAddressAvailable(sWebServiceURL))
                    {
                        //Set Server Address & Transfer Data
                        wsSyncMan.Url = sWebServiceURL;

                        try
                        {
                            bIsSyncSuccess = wsSyncMan.ProcessSync(sGLCode, sInsertString, sDataPath, sSourceRef, sLiquidConn, sPastelConn, Global.sLogedInUserCode, Global.sLogedInUserName);

                            //Determine Transfer Outcome + Handle
                            if (bIsSyncSuccess[0] == "success")
                            {
                                //SYNC SUCCESSFUL - Capture in Completed Table
                                using (PsqlConnection oSCompConn = new PsqlConnection(Connect.sConnStr))
                                {
                                    oSCompConn.Open();

                                    string sSCompSql = "INSERT INTO SOLSCOMP (sSentGLCode,sReceiverIP,sReceiverDataPath,dtDateTimeCompleted,sLiquidUserCode,sLiquidUserName) VALUES";
                                    sSCompSql += "(";
                                    sSCompSql += "'" + sGLCode + "',";
                                    sSCompSql += "'" + sReceiverIP + "',";
                                    sSCompSql += "'" + sDataPath + "',";
                                    sSCompSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                    sSCompSql += "'" + Global.sLogedInUserCode + "',";
                                    sSCompSql += "'" + Global.sLogedInUserName + "')";

                                    int iCompletedRet = Connect.getDataCommand(sSCompSql, oSCompConn).ExecuteNonQuery();

                                    //DELETE FROM ERROR TABLE - if completed
                                    string sDelSErrSql = "DELETE FROM SOLSERR WHERE sSentGLCode = '" + sGLCode + "'";
                                    int iDeletedRet = Connect.getDataCommand(sDelSErrSql, oSCompConn).ExecuteNonQuery();
                                }

                                //Mark Row - SUCCESSFUL
                                dgRow.DefaultCellStyle.BackColor = Color.Green;
                            }
                            else
                            {
                                //SYNC FAILED - Capture in Error Table
                                using (PsqlConnection oSErrConn = new PsqlConnection(Connect.sConnStr))
                                {
                                    oSErrConn.Open();

                                    string sSErrSql = "INSERT INTO SOLSERR (sSentGLCode,sReceiverIP,sReceiverDataPath,dtDateTimeFailed,sErrorInfo,sLiquidUserCode,sLiquidUserName) VALUES";
                                    sSErrSql += "(";
                                    sSErrSql += "'" + sGLCode + "',";
                                    sSErrSql += "'" + sReceiverIP + "',";
                                    sSErrSql += "'" + sDataPath + "',";
                                    sSErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                    sSErrSql += "'" + bIsSyncSuccess[1].ToString() + "',";
                                    sSErrSql += "'" + Global.sLogedInUserCode + "',";
                                    sSErrSql += "'" + Global.sLogedInUserName + "')";

                                    int iSErrRet = Connect.getDataCommand(sSErrSql, oSErrConn).ExecuteNonQuery();
                                }

                                //Mark Row - ERROR
                                dgRow.DefaultCellStyle.BackColor = Color.Red;
                            }
                        }
                        catch (Exception ex)
                        {
                            //WEB SERVICE OR OTHER ERROR
                            using (PsqlConnection oSErrConn = new PsqlConnection(Connect.sConnStr))
                            {
                                oSErrConn.Open();

                                string sSErrSql = "INSERT INTO SOLSERR (sSentGLCode,sReceiverIP,sReceiverDataPath,dtDateTimeFailed,sErrorInfo,sLiquidUserCode,sLiquidUserName) VALUES";
                                sSErrSql += "(";
                                sSErrSql += "'" + sGLCode + "',";
                                sSErrSql += "'" + sReceiverIP + "',";
                                sSErrSql += "'" + sDataPath + "',";
                                sSErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                sSErrSql += "'" + ex.Message.ToString() + "',";
                                sSErrSql += "'" + Global.sLogedInUserCode + "',";
                                sSErrSql += "'" + Global.sLogedInUserName + "')";

                                int iSErrRet = Connect.getDataCommand(sSErrSql, oSErrConn).ExecuteNonQuery();
                            }

                            //Mark Row - ERROR
                            dgRow.DefaultCellStyle.BackColor = Color.Red;
                        }
                    }
                    else
                    {
                        //WEB SERVICE UNAVAILABLE - Capture in Error Table
                        using (PsqlConnection oErrorConn = new PsqlConnection(Connect.sConnStr))
                        {
                            string sSErrSql = "INSERT INTO SOLSERR (sSentGLCode,sReceiverIP,sReceiverDataPath,dtDateTimeFailed,sErrorInfo,sLiquidUserCode,sLiquidUserName) VALUES";
                            sSErrSql += "(";
                            sSErrSql += "'" + sGLCode + "',";
                            sSErrSql += "'" + sReceiverIP + "',";
                            sSErrSql += "'" + sDataPath + "',";
                            sSErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                            sSErrSql += "'Connection to Web Service Failed. Web Service unavailable',";
                            sSErrSql += "'" + Global.sLogedInUserCode + "',";
                            sSErrSql += "'" + Global.sLogedInUserName + "')";

                            int iErrRet = Connect.getDataCommand(sSErrSql, oErrorConn).ExecuteNonQuery();
                        }

                        //Mark Row - ERROR
                        dgRow.DefaultCellStyle.BackColor = Color.Red;
                    }
                }
            }

            //Enable Controls
            btnRefreshSync.Enabled = true;
            btnSync.Enabled = false;
            chkAll.Enabled = false;
            txtGLCode.Enabled = false;
        }
Esempio n. 4
0
        private void ExecuteInvCodeSync()
        {
            localhost.TransferManager wsSyncMan = new Solsage_Process_Management_System.localhost.TransferManager();
            string[] bIsSyncTMPWriteSuccess = new string[2];
            string[] bIsSyncSuccess = new string[2];

            foreach (DataGridViewRow dgRow in dgvSyncDetails.Rows) //All Data to Sync - Row by Row
            {
                if (dgRow.Cells["clIncludeInSync"].Value != null && dgRow.Cells["clIncludeInSync"].Value.ToString() == "True")
                {
                    //Shift Selected Row
                    dgRow.Selected = true;

                    //Assign Variables' Values
                    string sInvCode = dgRow.Cells["clInventoryCode"].Value.ToString();
                    string sReceiverIP = dgRow.Cells["clIP"].Value.ToString();
                    string sReceiverAlias = dgRow.Cells["clReceiverAlias"].Value.ToString();
                    string sReceiverRef = dgRow.Cells["clReceiverRef"].Value.ToString();
                    string sDataPath = dgRow.Cells["clDataPath"].Value.ToString();
                    string sSourceRef = dgRow.Cells["clSourceRef"].Value.ToString();
                    string sLiquidConn = dgRow.Cells["clSOLPMSConn"].Value.ToString();
                    string sPastelConn = dgRow.Cells["clPastelConn"].Value.ToString();
                    string sInsertString = dgRow.Cells["clInsertLine"].Value.ToString();

                    //Test Connection/Webservice
                    string sWebServiceURL = "http://" + sReceiverIP + "//liquid//TransferManager.asmx";

                    if (IsAddressAvailable(sWebServiceURL))
                    {
                        //Set Server Address & Transfer Data
                        wsSyncMan.Url = sWebServiceURL;

                        try
                        {
                            bIsSyncTMPWriteSuccess = wsSyncMan.ProcessInvSync(sInvCode, sInsertString, sDataPath, sSourceRef, sLiquidConn, sPastelConn, Global.sLogedInUserCode, Global.sLogedInUserName);

                            //Write to TEMP Holding Table Completed
                            if (bIsSyncTMPWriteSuccess[0] == "success")
                            {
                                //Poll DB via WebService - pass TransNumber
                                bool isDone = false;

                                TimeSpan tsTimeout = new TimeSpan(0, 2, 0);
                                DateTime dtEndTime = DateTime.Now + tsTimeout;

                                while (!isDone)
                                {
                                    if (DateTime.Now < dtEndTime)
                                    {
                                        //Call Webservice
                                        bIsSyncSuccess = wsSyncMan.PollDBInvoice(bIsSyncTMPWriteSuccess[1].ToString());

                                        //Do Tests
                                        if (Convert.ToInt32(bIsSyncSuccess[0]) == 1)
                                        {
                                            isDone = true;

                                            //SYNC SUCCESSFUL - Capture in Completed Table
                                            using (PsqlConnection oSCompConn = new PsqlConnection(Connect.sConnStr))
                                            {
                                                oSCompConn.Open();

                                                string sSCompSql = "INSERT INTO SOLINVSCOMP (sSentInvCode,sReceiverIP,sReceiverDataPath,dtDateTimeCompleted,sLiquidUserCode,sLiquidUserName) VALUES";
                                                sSCompSql += "(";
                                                sSCompSql += "'" + sInvCode + "',";
                                                sSCompSql += "'" + sReceiverIP + "',";
                                                sSCompSql += "'" + sDataPath + "',";
                                                sSCompSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                                sSCompSql += "'" + Global.sLogedInUserCode + "',";
                                                sSCompSql += "'" + Global.sLogedInUserName + "')";

                                                int iCompletedRet = Connect.getDataCommand(sSCompSql, oSCompConn).ExecuteNonQuery();

                                                //DELETE FROM ERROR TABLE - if completed
                                                string sDelSErrSql = "DELETE FROM SOLINVSERR WHERE sSentInvCode = '" + sInvCode + "'";
                                                int iDeletedRet = Connect.getDataCommand(sDelSErrSql, oSCompConn).ExecuteNonQuery();
                                            }

                                            //Mark Row - SUCCESSFUL
                                            dgRow.DefaultCellStyle.BackColor = Color.Green;
                                        }

                                        if (Convert.ToInt32(bIsSyncSuccess[0]) == 2)
                                        {
                                            isDone = true;

                                            //ERROR
                                            using (PsqlConnection oSErrConn = new PsqlConnection(Connect.sConnStr))
                                            {
                                                oSErrConn.Open();

                                                string sSErrSql = "INSERT INTO SOLINVSERR (sSentInvCode,sReceiverIP,sReceiverDataPath,dtDateTimeFailed,sErrorInfo,sLiquidUserCode,sLiquidUserName) VALUES";
                                                sSErrSql += "(";
                                                sSErrSql += "'" + sInvCode + "',";
                                                sSErrSql += "'" + sReceiverIP + "',";
                                                sSErrSql += "'" + sDataPath + "',";
                                                sSErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                                sSErrSql += "'" + bIsSyncSuccess[1].ToString() + "',";
                                                sSErrSql += "'" + Global.sLogedInUserCode + "',";
                                                sSErrSql += "'" + Global.sLogedInUserName + "')";

                                                int iSErrRet = Connect.getDataCommand(sSErrSql, oSErrConn).ExecuteNonQuery();
                                            }

                                            //Mark Row - ERROR
                                            dgRow.DefaultCellStyle.BackColor = Color.Red;
                                        }

                                    }
                                    else //TIMEOUT
                                    {
                                        isDone = true;

                                        //ERROR
                                        using (PsqlConnection oSErrConn = new PsqlConnection(Connect.sConnStr))
                                        {
                                            oSErrConn.Open();

                                            string sSErrSql = "INSERT INTO SOLINVSERR (sSentInvCode,sReceiverIP,sReceiverDataPath,dtDateTimeFailed,sErrorInfo,sLiquidUserCode,sLiquidUserName) VALUES";
                                            sSErrSql += "(";
                                            sSErrSql += "'" + sInvCode + "',";
                                            sSErrSql += "'" + sReceiverIP + "',";
                                            sSErrSql += "'" + sDataPath + "',";
                                            sSErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                            sSErrSql += "'Timeout Occured in DB Polling',";
                                            sSErrSql += "'" + Global.sLogedInUserCode + "',";
                                            sSErrSql += "'" + Global.sLogedInUserName + "')";

                                            int iSErrRet = Connect.getDataCommand(sSErrSql, oSErrConn).ExecuteNonQuery();
                                        }

                                        //Mark Row - ERROR
                                        dgRow.DefaultCellStyle.BackColor = Color.Red;
                                    }
                                }
                            }
                            else
                            {
                                //SYNC TEMP WRITE FAILED - Capture in Error Table
                                using (PsqlConnection oSErrConn = new PsqlConnection(Connect.sConnStr))
                                {
                                    oSErrConn.Open();

                                    string sSErrSql = "INSERT INTO SOLINVSERR (sSentInvCode,sReceiverIP,sReceiverDataPath,dtDateTimeFailed,sErrorInfo,sLiquidUserCode,sLiquidUserName) VALUES";
                                    sSErrSql += "(";
                                    sSErrSql += "'" + sInvCode + "',";
                                    sSErrSql += "'" + sReceiverIP + "',";
                                    sSErrSql += "'" + sDataPath + "',";
                                    sSErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                    sSErrSql += "'" + bIsSyncTMPWriteSuccess[1].Replace("'","").ToString() + "',";
                                    sSErrSql += "'" + Global.sLogedInUserCode + "',";
                                    sSErrSql += "'" + Global.sLogedInUserName + "')";

                                    int iSErrRet = Connect.getDataCommand(sSErrSql, oSErrConn).ExecuteNonQuery();
                                }

                                //Mark Row - ERROR
                                dgRow.DefaultCellStyle.BackColor = Color.Red;
                            }
                        }
                        catch (Exception ex)
                        {
                            //WEB SERVICE OR OTHER ERROR
                            using (PsqlConnection oSErrConn = new PsqlConnection(Connect.sConnStr))
                            {
                                oSErrConn.Open();

                                string sSErrSql = "INSERT INTO SOLINVSERR (sSentInvCode,sReceiverIP,sReceiverDataPath,dtDateTimeFailed,sErrorInfo,sLiquidUserCode,sLiquidUserName) VALUES";
                                sSErrSql += "(";
                                sSErrSql += "'" + sInvCode + "',";
                                sSErrSql += "'" + sReceiverIP + "',";
                                sSErrSql += "'" + sDataPath + "',";
                                sSErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                                sSErrSql += "'" + ex.Message.ToString() + "',";
                                sSErrSql += "'" + Global.sLogedInUserCode + "',";
                                sSErrSql += "'" + Global.sLogedInUserName + "')";

                                int iSErrRet = Connect.getDataCommand(sSErrSql, oSErrConn).ExecuteNonQuery();
                            }

                            //Mark Row - ERROR
                            dgRow.DefaultCellStyle.BackColor = Color.Red;
                        }
                    }
                    else
                    {
                        //WEB SERVICE UNAVAILABLE - Capture in Error Table
                        using (PsqlConnection oErrorConn = new PsqlConnection(Connect.sConnStr))
                        {
                            string sSErrSql = "INSERT INTO SOLINVSERR (sSentInvCode,sReceiverIP,sReceiverDataPath,dtDateTimeFailed,sErrorInfo,sLiquidUserCode,sLiquidUserName) VALUES";
                            sSErrSql += "(";
                            sSErrSql += "'" + sInvCode + "',";
                            sSErrSql += "'" + sReceiverIP + "',";
                            sSErrSql += "'" + sDataPath + "',";
                            sSErrSql += "'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
                            sSErrSql += "'Connection to Web Service Failed. Web Service unavailable',";
                            sSErrSql += "'" + Global.sLogedInUserCode + "',";
                            sSErrSql += "'" + Global.sLogedInUserName + "')";

                            int iErrRet = Connect.getDataCommand(sSErrSql, oErrorConn).ExecuteNonQuery();
                        }

                        //Mark Row - ERROR
                        dgRow.DefaultCellStyle.BackColor = Color.Red;
                    }
                }
            }

            //Done
            btnRefreshSync.Enabled = true;
            btnSync.Enabled = false;
            txtInvCode.Enabled = false;
        }