예제 #1
0
        private string getIPOInformation(string Cust_Code)
        {
            string cnn = SMS_Constant.CallCenter_ConnectionString;

            string[]       ParendChild         = null;
            string         CustCode            = string.Empty;
            string         ShortCode           = string.Empty;
            string         TradeAccountBalance = string.Empty;
            string         IPOAccountBalance   = string.Empty;
            string         IPOBalance          = string.Empty;
            DataSqlQuery   dataQuery           = new DataSqlQuery();
            SqlConnection  conn         = new SqlConnection(cnn);
            DataSet        oDataSet     = new DataSet();
            SqlDataAdapter SQLDbAdapter = new SqlDataAdapter();
            string         query        = "Select  Sess.Company_Short_Code as Short_Code,Convert(decimal(28,0),ROUND((Sess.TotalAmount),2))  as TotalAmount,'" + Cust_Code + "' as Cust_Code,Convert(decimal(28,2),ROUND((Select t.Balance from tbl_Customer_Account   as t where t.Cust_Code='" + Cust_Code + "'),2)) AS TradeAcc_Balance,Convert(decimal(28,2),ROUND(ISNULL((Select t.Balance    from tbl_Customer_IPO_Account as t where t.Cust_Code='" + Cust_Code + "'),0),2)) AS IPOAcc_Balance    from [dbksclCallCenter].[dbo].[tbl_IPO_SessionforCompanyInfo] as Sess";

            SQLDbAdapter.SelectCommand = new SqlCommand(query, conn);
            SQLDbAdapter.Fill(oDataSet);
            DataTable dt = new DataTable();

            dt = oDataSet.Tables[0];

            var PRegcode = (dataQuery.GetParentChildCheckFormCustCode(Cust_Code));

            if (PRegcode.Count != 0)
            {
                ParendChild = PRegcode.ToArray();
                CustCode    = ParendChild[0] + "," + ParendChild[1] + "," + ParendChild[2].ToString();
            }
            else
            {
                CustCode = Cust_Code;
            }

            string shareSummery = "ID :" + Cust_Code + "," + "Current IPO :";

            foreach (DataRow dr in dt.Rows)
            {
                ShortCode           = dr["Short_Code"].ToString();
                IPOBalance          = dr["TotalAmount"].ToString();
                TradeAccountBalance = dr["TradeAcc_Balance"].ToString();
                IPOAccountBalance   = dr["IPOAcc_Balance"].ToString();
                if (ShortCode != "")
                {
                    //MessageGenerate  dd = new MessageGenerate();
                    //MessageGenerate.messageStroe(Cust_Code, ShortCode, IPOBalance, TradeAccountBalance, IPOAccountBalance, CustCode);
                    shareSummery = shareSummery + " " + dr["Short_Code"].ToString() + " " + "&" + " " + "Amount:" + dr["TotalAmount"].ToString() + "," + "IPO parent Acc. Balance:" + dr["IPOAcc_Balance"].ToString() + "," + "Trade Acc. Balance:" + dr["TradeAcc_Balance"].ToString() + "," + "SMS Format:" + dr["Short_Code"].ToString() + " " + CustCode + " " + "pmipo rmipo";
                }
                else
                {
                    DataSqlQuery objdataSqlQuery = new DataSqlQuery();
                    string       SMSCode         = "SMS09";
                    string       sMessage        = objdataSqlQuery.GetNotRegisterMessage(SMSCode);
                    shareSummery = sMessage;
                }
            }
            return(shareSummery);
        }
        public List <object> IPORequest(SmsPdu pdu)
        {
            List <object> resultList = new List <object>();

            //===================================================
            try
            {
                if (pdu is SmsDeliverPdu)
                {
                    SmsDeliverPdu dpdu               = (SmsDeliverPdu)pdu;
                    String        Text               = dpdu.UserDataText.ToLower();
                    string        SMSCode            = string.Empty;
                    string        output_PaymentType = string.Empty;
                    string        output_RefundType  = string.Empty;
                    string        output_CompanyCode = string.Empty;
                    string        ErrorMsg           = string.Empty;
                    string[]      output_CustCode    = null;
                    string        output_Message     = dpdu.UserDataText;
                    string        output_PnoneNumber = dpdu.OriginatingAddress;


                    if (dpdu.OriginatingAddress.Length > 11 || dpdu.OriginatingAddress.Length == 11)
                    {
                        dpdu.OriginatingAddress = dpdu.OriginatingAddress.Replace("+880", "0");
                    }

                    var RegCode = (objData.GetCustCodeMultipleFromPhoneNo(dpdu.OriginatingAddress));

                    string Output_RegCustCode = string.Join(",", RegCode.ToArray());
                    if (Output_RegCustCode != "")
                    {
                        SMSCode = SMSCode + SMSCommadCode.IPORegCust_Code + "-";
                    }
                    else
                    {
                        SMSCode = SMSCode + SMSCommadCode.IPODefault_Code + "-";
                    }

                    char[]   delimiterChars = { ' ', ',', '.', ':', '\t', '/', '_', ';', '.', };
                    string[] Word           = Text.Split(delimiterChars);

                    List <string> listCustCodeforMessage = new List <string>();
                    string[]      Input_CustCode         = null;
                    var           listtmp = new List <string>(Regex.Split(Text, @"\D+"));
                    Input_CustCode = listtmp.Where(t => !string.IsNullOrEmpty(Convert.ToString(t))).ToArray();

                    string[] RegCodeforarray = Output_RegCustCode.Split(',');

                    #region NewWork

                    var listRegCustCode          = string.Join(",", RegCodeforarray);
                    var listMessageplaceCustCode = string.Join(",", Input_CustCode);
                    if (listRegCustCode.Contains(listMessageplaceCustCode))
                    {
                        output_CustCode = Input_CustCode;
                        SMSCode         = SMSCode + SMSCommadCode.IPOCustomerFound + "-";
                    }
                    else if (listRegCustCode.Length == listMessageplaceCustCode.Length)
                    {
                        List <string> ValidationRegCode = new List <string>();
                        foreach (string value in Input_CustCode)
                        {
                            if (!RegCodeforarray.Contains(value))
                            {
                                ValidationRegCode.Add((value).ToString());
                            }
                        }
                        if (ValidationRegCode.Count == 0)
                        {
                            output_CustCode = Input_CustCode;
                            SMSCode         = SMSCode + SMSCommadCode.IPOCustomerFound + "-";
                        }
                    }
                    else
                    {
                        string[] RegCodeforParentAndChildCode = null;
                        //---------- Parent Child ------------------------

                        List <KeyValuePair <string, string[]> > objectsGot = new List <KeyValuePair <string, string[]> >();
                        foreach (string Rreg in RegCodeforarray)
                        {
                            var PRegcode = (objData.GetParentChildCheckFormCustCode(Rreg.ToString()));
                            RegCodeforParentAndChildCode = PRegcode.ToArray();
                            objectsGot.Add(new KeyValuePair <string, string[]>(Rreg.ToString(), (string[])RegCodeforParentAndChildCode));
                        }

                        string Code = string.Empty;
                        if (RegCodeforParentAndChildCode.Length != 0)
                        {
                            foreach (var tmp in objectsGot)
                            {
                                DataSqlQuery objdataSqlQuery = new DataSqlQuery();
                                string       ErrorMsg_Tmp    = MessageGenerate.IPORegErrorMessage(tmp.Key);
                                int          l            = 1;
                                int          invalidFound = 0;
                                foreach (string value in Input_CustCode)
                                {
                                    if (!tmp.Value.Contains(value) && l < Input_CustCode.Length)
                                    {
                                        ErrorMsg_Tmp = ErrorMsg_Tmp + value + ",";
                                        invalidFound++;
                                    }
                                    else if (!tmp.Value.Contains(value))
                                    {
                                        ErrorMsg_Tmp = ErrorMsg_Tmp + value;
                                        invalidFound++;
                                    }
                                    l++;
                                }
                                if (invalidFound == 0)
                                {
                                    output_CustCode    = Input_CustCode;
                                    SMSCode            = SMSCode + SMSCommadCode.IPOCustomerFound + "-";
                                    Output_RegCustCode = tmp.Key;
                                    break;
                                }
                                else
                                {
                                    string SMSCodelastPart = "SMS07";
                                    string sMessage        = objdataSqlQuery.GetNotRegisterMessage(SMSCodelastPart);
                                    ErrorMsg = ErrorMsg_Tmp + sMessage;
                                }
                            }
                        }
                        else
                        {
                            output_CustCode = Input_CustCode;
                            SMSCode         = SMSCode + SMSCommadCode.DefaultCode + "-";
                        }
                    }
                    resultList.Add(Output_RegCustCode);

                    if (ErrorMsg != "")
                    {
                        output_CustCode = Input_CustCode;
                        SMSCode         = SMSCode + SMSCommadCode.DefaultCode + "-";
                    }

                    //---------- End Parent Child -------------------

                    #endregion
                    //- ---------- IPO Company Select ------------------
                    string Comapnt_ShortCode   = "";
                    string IpoCompanyShortCode = string.Empty;
                    Comapnt_ShortCode = Word[0].ToLower();
                    if (Comapnt_ShortCode != "")
                    {
                        IpoCompanyShortCode = GetCompany_Short_Code_FromReg(Comapnt_ShortCode);
                    }
                    if (IpoCompanyShortCode != "")
                    {
                        output_CompanyCode = Comapnt_ShortCode;
                        resultList.Add(output_CompanyCode);
                        SMSCode = SMSCode + SMSCommadCode.IPOCompanyFound + "-";
                    }
                    else if (IpoCompanyShortCode == "")
                    {
                        SMSCode = SMSCode + SMSCommadCode.IPODefault_Code + "-";
                    }
                    //--------------------  End Company Select -----------------

                    if (ErrorMsg == "")
                    {
                        resultList.Add(Input_CustCode);
                    }
                    else
                    {
                        resultList.Add(Input_CustCode);
                    }

                    string   IPO_PaymentType = "pIPO,ptrade,pmIPO,PmTrade";
                    string[] IPO_paymenttype = IPO_PaymentType.Split(',');
                    foreach (string PType in IPO_paymenttype)
                    {
                        if (Word.Contains(PType.ToLower()))
                        {
                            output_PaymentType = PType.ToLower();
                        }
                    }
                    resultList.Add(output_PaymentType);
                    if (output_PaymentType != "")
                    {
                        SMSCode = SMSCode + SMSCommadCode.IPOPaymentType + "-";
                    }
                    else if (output_PaymentType == "")
                    {
                        SMSCode = SMSCode + SMSCommadCode.IPODefault_Code + "-";
                    }
                    string   IPO_RefundType = "rIPO,rtrade,rEFT,rmIPO,rmTrade";
                    string[] IPO_refundtype = IPO_RefundType.Split(',');
                    foreach (string RType in IPO_refundtype)
                    {
                        if (Word.Contains(RType.ToLower()))
                        {
                            output_RefundType = RType.ToLower();
                        }
                    }
                    resultList.Add(output_RefundType);
                    if (output_RefundType != "")
                    {
                        SMSCode = SMSCode + SMSCommadCode.IPORefundType;
                    }
                    else if (output_RefundType == "")
                    {
                        SMSCode = SMSCode + SMSCommadCode.IPODefault_Code;
                    }
                    string ReceiveID = objData.ReceiveID();

                    resultList.Add(output_Message);
                    resultList.Add(output_PnoneNumber);
                    resultList.Add(ReceiveID);
                    resultList.Add(ErrorMsg);
                    resultList.Add(SMSCode);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            //========================
            return(resultList);
        }