public static bool CheckCampainLogByCampaingIdAndMobile(int CampaignId, string Mobile)
        {
            bool IsMessageSent = false;
            List <CampaignLogDTO> CampaignLogDTOList = new List <CampaignLogDTO>();

            CampaignLogDTOList = CampaignLogService.GetCampaignLogListByCampaignIdAndMobile(CampaignId, Mobile);
            if (CampaignLogDTOList.Count() > 0)
            {
                IsMessageSent = true;
            }
            else
            {
                IsMessageSent = false;
            }

            //if (CampaignLogDTOList != null)
            //        {
            //            foreach (var item in CampaignLogDTOList)
            //            {

            //            }
            //        }


            return(IsMessageSent);
        }
        private static String ActualSmsSend(string mobilenumber, string message, string Gateway, CampaignDTO CampaignDTO, ClientDTO ClientDTO)
        {
            string result = "";

            int SMSMsgCount = GetMessageCount(message);

            message = MsgCorrect(message);

            if (CampaignDTO.MessageCount != SMSMsgCount)
            {
                CampaignDTO.MessageCount = SMSMsgCount;
            }

            if (message != "" && mobilenumber != "")// Check for empty message.
            {
                string Url = ConfigurationManager.AppSettings["TransactionalGateWay"].ToString();
                Url = Url.Replace("%26", "&");
                Url = Url.Replace("[recipient]", mobilenumber);
                Url = Url.Replace("[message]", message);
                if (Gateway != "022751")                     //if (Gateway.ToLower() != "default")
                {
                    Url = Url.Replace("[gateway]", Gateway); //Gateway = "MSGBLS"
                }
                else
                {
                    Url = "";
                    Url = ConfigurationManager.AppSettings["PromotionalGateWay"].ToString();
                    Url = Url.Replace("%26", "&");
                    Url = Url.Replace("[recipient]", mobilenumber);
                    Url = Url.Replace("[message]", message);
                }

                HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(Url);
                myRequest.Method = "GET";
                WebResponse  myResponse = myRequest.GetResponse();
                StreamReader sr         = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
                result = sr.ReadToEnd();
                sr.Close();

                string statuscode = "";
                if (result.Contains('|'))
                {
                    statuscode = result.Substring(0, result.IndexOf('|'));
                }
                else
                {
                    statuscode = result;
                }

                string SMSReplyMessage = SMSResult(statuscode) + "-" + result; //result
                myResponse.Close();


                CampaignLogDTO CampaignLogDTO = new CampaignLogDTO();
                CampaignLogDTO.CampaignId       = CampaignDTO.Id;
                CampaignLogDTO.RecipientsNumber = mobilenumber;
                CampaignLogDTO.MessageStatus    = SMSReplyMessage;
                CampaignLogDTO.Message          = message;
                CampaignLogDTO.GatewayID        = Gateway;
                CampaignLogDTO.SentDateTime     = System.DateTime.Now;


                CampaignLogDTO.MessageID    = statuscode;
                CampaignLogDTO.MessageCount = SMSMsgCount;

                if (statuscode == "1701")
                {
                    CampaignLogDTO.IsSuccess = true;
                }
                else if (statuscode != "1701")
                {
                    CampaignLogDTO.IsSuccess = false;
                }

                CampaignLogService.Create(CampaignLogDTO);

                // Reduce SMS Credits From Clients List
                ClientDTO.SMSCredit = ClientDTO.SMSCredit - SMSMsgCount;// CampaignDTO.MessageCount;
                ClientService.Edit(ClientDTO);
            }

            return(result);
        }
        public static String SplitMobile(string Mobile, CampaignDTO CampaignDTO)
        {
            string result = "";

            try
            {
                string finalstring = "";

                // Input string contain separators.
                string value1 = Mobile;

                char[] delimiter1 = new char[] { ',', ';' };   // <-- Split on these
                // ... Use StringSplitOptions.RemoveEmptyEntries.
                string[] array2 = value1.Split(delimiter1,
                                               StringSplitOptions.RemoveEmptyEntries);

                //Console.WriteLine();
                foreach (string mobile in array2)
                {
                    Console.WriteLine(mobile);
                    bool isMessageSent = CheckCampainLogByCampaingIdAndMobile(CampaignDTO.Id, Mobile);

                    ClientDTO ClientDTO = new ClientDTO();
                    ClientDTO = ClientService.GetById(CampaignDTO.ClientId);

                    //SMSGatewayDTO SMSGatewayDTO = new SMSGatewayDTO();
                    //SMSGatewayDTO = SMSGatewayService.GetById(ClientDTO.SMSGatewayId);

                    if (isMessageSent == false)
                    {
                        Console.Write("Send SMS");
                        // Check the Message required credits and actual client credits
                        string message = "";
                        CampaignDTO.Message = CampaignService.GetById(CampaignDTO.Id).Message;
                        //// macros

                        List <Macros> MacrosList = Enum.GetValues(typeof(Macros)).Cast <Macros>().ToList();
                        ContactDTO    ContactDTO = new ContactDTO();
                        ContactDTO = ContactService.GetContactByMobileNumberAndClientId(mobile, CampaignDTO.ClientId);

                        if (MacrosList.Count() > 0)
                        {
                            foreach (var item in MacrosList)
                            {
                                if (item.ToString() == "FirstName")
                                {
                                    string FirstName = "";
                                    FirstName           = CommonService.GetFirstname(ContactDTO.Name);
                                    CampaignDTO.Message = CampaignDTO.Message.Replace("[" + item.ToString() + "]", FirstName);
                                }

                                if (item.ToString() == "LastName")
                                {
                                    string LastName = "";
                                    LastName = CommonService.GetLastname(ContactDTO.Name);

                                    CampaignDTO.Message = CampaignDTO.Message.Replace("[" + item.ToString() + "]", LastName);
                                }
                            }

                            message = CampaignDTO.Message;

                            CampaignDTO.Message = ReformatMsg(message);
                            int SMSMsgCount = GetMessageCount(message);


                            if (ClientDTO.SMSCredit >= SMSMsgCount)
                            {
                                if (CampaignLogService.GetCampaignLogListByCampaignIdAndMobile(CampaignDTO.Id, mobile).Count != 0)
                                {
                                    continue;
                                }

                                //CampaignDTO.Message
                                string sender = "";
                                if (ClientDTO.SenderCode != null && ClientDTO.SenderCode != "")
                                {
                                    sender = ClientDTO.SenderCode;
                                }
                                else
                                {
                                    sender = "022751";
                                }

                                ActualSmsSend(mobile, CampaignDTO.Message, sender, CampaignDTO, ClientDTO);
                            }
                            else
                            {
                                goto nextprocess;
                            }
                        }

                        //CampaignDTO.Message = ReformatMsg(message);
                        //int SMSMsgCount = GetMessageCount(message);

                        //if (ClientDTO.SMSCredit >= SMSMsgCount)
                        //{
                        //     //CampaignDTO.Message
                        //    ActualSmsSend(mobile, CampaignDTO.Message, SMSGatewayDTO.Name, CampaignDTO, ClientDTO);

                        //}
                        //else
                        //{
                        //    goto nextprocess;
                        //}
                    }
                    else
                    {
                    }
                }

                // Modify Campaign IsSent status
                CampaignDTO.IsSent  = true;
                CampaignDTO.Message = CampaignService.GetById(CampaignDTO.Id).Message;
                CampaignService.EditCampaignFromBackend(CampaignDTO);

nextprocess:
                result = finalstring;
            }

            catch (Exception ex)
            {
                result = "";

                using (FileStream file = new FileStream(Directory.GetCurrentDirectory() + "\\msgBlasterBackendService_Log.txt", FileMode.Append, FileAccess.Write))
                {
                    StreamWriter streamWriter = new StreamWriter(file);
                    streamWriter.WriteLine(System.DateTime.Now + " - " + "  SplitMobile()" + " - " + ex.Message);
                    streamWriter.Close();
                }
            }
            return(result);
        }