private static void Insert_SMSMessage(DataTable table)
        {
            classDataAccess ebankDataAccess = new classDataAccess();
            classDataAccess dwDataAccess    = new classDataAccess();

            ebankDataAccess.OpenConnection("EBANK_GW");
            dwDataAccess.OpenConnection("CW_DW");

            string message      = "";
            int    count_succ   = 0;
            int    count_err_dw = 0;
            int    count_err_eb = 0;
            string mobile       = classUtilities.GetStringValueFromConfig("MyPhone1");
            string mobile2      = classUtilities.GetStringValueFromConfig("MyPhone2");
            string mobile3      = classUtilities.GetStringValueFromConfig("MyPhone3");
            //string mobile4 = classUtilities.GetStringValueFromConfig("MyPhone4");
            string mobile7 = classUtilities.GetStringValueFromConfig("MyPhone7");

            foreach (DataRow row in table.Rows)
            {
                string available = "";
                if (double.Parse(row.ItemArray[12].ToString()) < double.Parse(row.ItemArray[13].ToString()))
                {
                    available = row.ItemArray[12].ToString();
                }
                else
                {
                    available = row.ItemArray[13].ToString();
                }
                message = CreateSMSMessage(row.ItemArray[4].ToString(), row.ItemArray[2].ToString(), row.ItemArray[5].ToString(),
                                           row.ItemArray[6].ToString(), row.ItemArray[7].ToString(), available, row.ItemArray[15].ToString(), row.ItemArray[16].ToString());
                if (string.IsNullOrEmpty(message) == false)
                {
                    int    flag_fpt = 0;
                    int    flag_eb  = 0;
                    string phone    = "";
                    if (row.ItemArray[17].ToString() != "")      // la the phu(crn the phu khac null)
                    {
                        if (row.ItemArray[18].ToString() == "1") //the phu co gui sms cho the chinh
                        {
                            phone = row.ItemArray[1].ToString(); //gui cho the chinh
                        }
                        else
                        {
                            phone = row.ItemArray[19].ToString();//gui cho the phu
                        }
                    }
                    else
                    {
                        phone = row.ItemArray[1].ToString();
                    }
                    //if (row.ItemArray[1].ToString() == "khong co")
                    if (phone == "khong co" || phone == "")
                    {
                        flag_fpt = dwDataAccess.InsertPaymnetManualSMSToDW(SMS_TYPE, message
                                                                           , row.ItemArray[1].ToString() //    ,long.Parse(row.ItemArray[10].ToString())
                                                                           , DateTime.Parse(row.ItemArray[0].ToString())
                                                                                                         //, row.ItemArray[2].ToString()
                                                                           , row.ItemArray[11].ToString()
                                                                           , row.ItemArray[4].ToString()
                                                                           , row.ItemArray[3].ToString()
                                                                           , row.ItemArray[5].ToString()               //    , long.Parse(row.ItemArray[5].ToString())
                                                                           , row.ItemArray[6].ToString()               //    , long.Parse(row.ItemArray[6].ToString())
                                                                           , row.ItemArray[21].ToString()              //    , long.Parse(row.ItemArray[7].ToString())
                                                                           , double.Parse(row.ItemArray[7].ToString()) //    , int.Parse(row.ItemArray[8].ToString())
                                                                           , row.ItemArray[9].ToString()
                                                                           , "Y"
                                                                           , row.ItemArray[14].ToString()
                                                                           , row.ItemArray[22].ToString()
                                                                           , row.ItemArray[23].ToString()
                                                                           , row.ItemArray[24].ToString()
                                                                           , row.ItemArray[20].ToString()
                                                                           , row.ItemArray[13].ToString()
                                                                           , row.ItemArray[12].ToString()
                                                                           );
                    }
                    else // so phone hop le
                    {
                        flag_fpt = dwDataAccess.InsertPaymnetManualSMSToDW(SMS_TYPE, message
                                                                           , phone
                                                                           , DateTime.Parse(row.ItemArray[0].ToString())
                                                                           //, row.ItemArray[2].ToString()
                                                                           , row.ItemArray[11].ToString()
                                                                           , row.ItemArray[4].ToString()
                                                                           , row.ItemArray[3].ToString()
                                                                           , row.ItemArray[5].ToString()               //    , long.Parse(row.ItemArray[5].ToString())
                                                                           , row.ItemArray[6].ToString()               //    , long.Parse(row.ItemArray[6].ToString())
                                                                           , row.ItemArray[21].ToString()              //    , long.Parse(row.ItemArray[7].ToString())
                                                                           , double.Parse(row.ItemArray[7].ToString()) //    , int.Parse(row.ItemArray[8].ToString())
                                                                           , row.ItemArray[9].ToString()
                                                                           , "N"
                                                                           , row.ItemArray[14].ToString()
                                                                           , row.ItemArray[22].ToString()
                                                                           , row.ItemArray[23].ToString()
                                                                           , row.ItemArray[24].ToString()
                                                                           , row.ItemArray[20].ToString()
                                                                           , row.ItemArray[13].ToString()
                                                                           , row.ItemArray[12].ToString()
                                                                           );
                    }
                    if (flag_fpt == 0)
                    {
                        classOutstandingBalancePaymentManualLogWriter.WriteLog("card no " + row.ItemArray[11].ToString() + " can't insert DB DW");
                        count_err_dw++;
                    }
                    else// insert DW thanh cong
                    {
                        //if (row.ItemArray[1].ToString() == "khong co")
                        if (phone == "khong co" || phone == "")
                        {
                            flag_eb = ebankDataAccess.InsertSMSMessateToEBankGW(//classDataAccess.IDALERT
                                row.ItemArray[10].ToString()
                                , phone
                                , message
                                , 'Y'                                //Y: se ko gui tin nhan),//N: se gui tin nhan
                                , SMS_TYPE);
                        }
                        else
                        {
                            flag_eb = ebankDataAccess.InsertSMSMessateToEBankGW(//classDataAccess.IDALERT
                                row.ItemArray[10].ToString()
                                , phone
                                , message
                                , 'N'                              //hhhh Y: se ko gui tin nhan),//N: se gui tin nhan
                                , SMS_TYPE);
                        }

                        if (flag_eb == 0)
                        {
                            classOutstandingBalancePaymentManualLogWriter.WriteLog("mobile no " + row.ItemArray[1].ToString() + " can't insert DB EB");
                            dwDataAccess.Update_Status_SMS(//update status sms ve loi ko gui qua EW
                                row.ItemArray[11].ToString(),
                                row.ItemArray[5].ToString(),
                                row.ItemArray[14].ToString(),
                                "E"
                                );
                            count_err_eb++;
                        }
                        else
                        {
                            count_succ++;
                        }
                    }
                }
            }
            ebankDataAccess.CloseConnection();
            dwDataAccess.CloseConnection();
            if (count_err_dw > 0)
            {
                SendSMSForDW_FPT(mobile, count_err_dw);
                SendSMSForDW_FPT(mobile2, count_err_dw);
                SendSMSForDW_FPT(mobile3, count_err_dw);
                //SendSMSForDW_FPT(mobile4, count_err_dw);
                SendSMSForDW_FPT(mobile7, count_err_dw);
            }
            if (count_err_eb > 0)
            {
                SendSMSForGW_EB(mobile, count_err_eb);
                SendSMSForGW_EB(mobile2, count_err_eb);
                SendSMSForGW_EB(mobile3, count_err_eb);
                //SendSMSForGW_EB(mobile4, count_err_eb);
                SendSMSForGW_EB(mobile7, count_err_eb);
            }

            classOutstandingBalancePaymentManualLogWriter.WriteLog("Message da duoc Insert vao EbankGW thanh cong: " + count_succ);
            classOutstandingBalancePaymentManualLogWriter.WriteLog("Message loi khong duoc Insert vao EbankGW: " + count_err_eb);
            classOutstandingBalancePaymentManualLogWriter.WriteLog("Message loi khong duoc Insert vao DW: " + count_err_dw);
            return;
        }