Exemplo n.º 1
0
        //XMLConfig oSetting;
        //XmlNode oNode;

        public void GetInboundProcess(String Type, SMSComponent smsComponent)
        {
            try
            {
                switch (Type)
                {
                case "Receiver":
                    ReadSMS readSMS = new ReadSMS();
                    readSMS.ReadSMSProcess(smsComponent);
                    break;

                case "Sender":
                    SendSMS sendSMS = new SendSMS();
                    sendSMS.SendSMSProcess(smsComponent);
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
        private static SMSWindowService.Entity.SMSComponent ReadConfigFile()
        {
            SMSComponent smsComponent = new SMSComponent();

            smsComponent = Config.GetSMSComponent();
            return(smsComponent);
        }
Exemplo n.º 3
0
        protected override void OnStart(string[] args)
        {
            try
            {
                String cInstance = "";
                String type      = "";

                oSetting = Entity.Config.GetConfig();

                oNode     = oSetting.SystemSettingsXML;
                cInstance = oNode.SelectSingleNode("environment").InnerXml;
                ErrMrg.LogMessage(cInstance + " Service Started", EventLogEntryType.Information);

                type = oNode.SelectSingleNode("smssettings/type").InnerXml;

                if (type == "Receiver" || type == "Sender")
                {
                    smsComponent = Entity.Config.GetSMSComponent();
                    smsComponent.InitializeModem();
                    smsComponent.OpenPort();
                }

                Timer1 = new Timer();
                this.Timer1.Interval = 1000;
                this.Timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.Timer1_Tick);
                Timer1.Start();
                GC.KeepAlive(Timer1);
            }
            catch (Exception ex)
            {
                ErrMrg.LogMessage(ex.Message, EventLogEntryType.Error);
                this.startWin();
            }
        }
Exemplo n.º 4
0
 private void DecodeMessage(String SMSMessage, SMSComponent smsComponent)
 {
     try
     {
         Array  ValCollection;
         String value    = "";
         String findStr  = "CMGL:";
         Int32  strIndex = 0;
         Int64  counter  = 0;
         if (SMSMessage.Contains(findStr))
         {
             strIndex = SMSMessage.IndexOf("+" + findStr, 1);
             if (strIndex != -1)
             {
                 SMSMessage = SMSMessage.Substring(strIndex - 1);
                 ErrMrg.LogMessage("SMSContent:" + SMSMessage, EventLogEntryType.Information);
                 while (SMSMessage != "")
                 {
                     value = "";
                     if (SMSMessage.IndexOf(findStr, 1) > 0)
                     {
                         SMSMessage = SMSMessage.Substring(SMSMessage.IndexOf(findStr, 1), SMSMessage.Length - SMSMessage.IndexOf(findStr, 1)).Trim();
                         if (SMSMessage.IndexOf(findStr, 1) > 0)
                         {
                             value = SMSMessage.Substring(6, SMSMessage.IndexOf(findStr, 1) - 7).Trim();
                         }
                         else
                         {
                             value      = SMSMessage.Substring(6, SMSMessage.Length - 6).Trim();
                             SMSMessage = "";
                             if (counter > 15)
                             {
                                 value = "";
                             }
                         }
                         if (value != "")
                         {
                             ValCollection = value.Split((char)13);
                             if (ValCollection.Length >= 2)
                             {
                                 ParseMessage(smsComponent, ValCollection.GetValue(0).ToString().Trim() + " " + ValCollection.GetValue(1).ToString().Trim());
                                 counter += 1;
                             }
                         }
                         else
                         {
                             SMSMessage = "";
                         }
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 5
0
 private void DeleteSMS(SMSComponent smsComponent, String ID)
 {
     try
     {
         smsComponent.DeleteSMS(Convert.ToInt32(ID)); //delete sms in storage
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 6
0
        static void Main(string[] args)
        {
            SMSComponent smscomponent = new SMSComponent();

            smscomponent = SMSWindowService.Entity.Config.GetSMSComponent();
            DataAccess.IntegrationInbox.IntegrateInboxDAL integrateInbox = new DataAccess.IntegrationInbox.IntegrateInboxDAL();
            DataSet dtSMSModemID = new DataSet();

            //string modemid = "";
            string modemIDValue    = smscomponent.ModemID;
            string integrationType = smscomponent.IntegrationType;

            //int counter = 0;

            Integrate_Inbox(modemIDValue, integrationType);
        }
Exemplo n.º 7
0
        public void SendSMSProcess(SMSComponent smsComponent)
        {
            try
            {
                oSetting = Entity.Config.GetConfig();
                oNode    = oSetting.SystemSettingsXML;

                DataSet ds = new DataSet();
                ds = GetRecordForReply(oNode.SelectSingleNode("smssettings/activationCode").InnerXml);
                ReplySMSMessage(ds, smsComponent);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 8
0
        private static void ModemSetup(SMSComponent modemSetupConfig)
        {
            try
            {
                using (SerialPort SMSPort = new SerialPort())
                {
                    SMSPort.PortName  = modemSetupConfig.PortNo;
                    SMSPort.BaudRate  = modemSetupConfig.BaudRate;
                    SMSPort.Parity    = Parity.None;
                    SMSPort.DataBits  = 8;
                    SMSPort.StopBits  = StopBits.One;
                    SMSPort.Handshake = Handshake.RequestToSend;
                    SMSPort.DtrEnable = true;
                    SMSPort.RtsEnable = true;
                    SMSPort.NewLine   = Environment.NewLine;

                    if (!SMSPort.IsOpen)
                    {
                        SMSPort.Open();
                    }

                    if (SMSPort.IsOpen)
                    {
                        SMSPort.WriteLine("AT");
                        Delay(delay);

                        if (modemSetupConfig.MemoryType == "ME")
                        {
                            SMSPort.WriteLine(@"AT+CPMS=""" + modemSetupConfig.MemoryType + @""",""" + modemSetupConfig.MemoryType + @""",""" + modemSetupConfig.MemoryType + @"""" + Environment.NewLine);
                        }
                        else if (modemSetupConfig.MemoryType == "SM")
                        {
                            SMSPort.WriteLine(@"AT+CPMS=""" + modemSetupConfig.MemoryType + @""",""" + modemSetupConfig.MemoryType + @"""" + Environment.NewLine);
                        }

                        Delay(delay);
                        SMSPort.WriteLine("AT&W" + Environment.NewLine);
                        Delay(delay);
                        SMSPort.WriteTimeout = 30;
                    }
                }
            }
            catch (Exception ex)
            {
                Common.ErrorLogs(ex.Message);
            }
        }
Exemplo n.º 9
0
        public void ReadSMSProcess(SMSComponent smsComponent)
        {
            try
            {
                oSetting = Entity.Config.GetConfig();
                oNode    = oSetting.SystemSettingsXML;
                String message = "";

                message = smsComponent.ReadSMS();

                DecodeMessage(message, smsComponent);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 10
0
 private void ReplySMSMessage(DataSet ds, SMSComponent smsComponent)
 {
     try
     {
         if (ds.Tables.Count > 0)
         {
             if (ds.Tables[0].Rows.Count > 0)
             {
                 foreach (DataRow item in ds.Tables[0].Rows)
                 {
                     SendingSMS(smsComponent, item["Sender"].ToString(), item["ReplyMessage"].ToString(), false, Convert.ToInt64(item["InboxID"]), "");
                 }
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemplo n.º 11
0
        private void ParseMessage(SMSComponent smsComponent, String message)
        {
            Array  array;
            String ID           = "";
            String Sender       = "";
            String MessageType  = "";
            String DateReceived = "";
            String TimeReceived = "";
            String Content      = "";

            try
            {
                message = message.Replace(@"""", "").Replace(",,", ",");
                array   = message.Split(',');

                ID           = array.GetValue(0).ToString();
                Sender       = array.GetValue(2).ToString();
                MessageType  = array.GetValue(1).ToString();
                DateReceived = array.GetValue(3).ToString();

                Array spitTimeContent;

                spitTimeContent = array.GetValue(4).ToString().Split(' ');
                TimeReceived    = spitTimeContent.GetValue(0).ToString();
                Content         = array.GetValue(4).ToString().Substring(TimeReceived.Length + 1);

                SMSDal smsDal = new SMSDal();
                smsDal.ActivationCode = oNode.SelectSingleNode("smssettings/activationCode").InnerXml;
                smsDal.InboxSave(ID, Content, Sender, DateReceived, TimeReceived, oNode.SelectSingleNode("smssettings/modemID").InnerXml);
                DeleteSMS(smsComponent, ID);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 12
0
        private void SendingSMS(SMSComponent smsComponent, String mobilenumber, String message, Boolean IsDeleted, Int64 InboxID, String InboxType)
        {
            try
            {
                String status = "";
                String Remark = "";
                SMSDal smsDal = new SMSDal();

                if (smsComponent.SendSMS(IsDeleted, InboxID, mobilenumber, message))
                {
                    status = "Success";
                }
                else
                {
                    status = "Failed";
                }

                if (InboxID > 0)
                {
                    Remark = "AutoReply";
                }
                else
                {
                    Remark = "Manual";
                }

                if (status == "Success")
                {
                    smsDal.OutboxSave(message, mobilenumber, status, Remark, InboxID, InboxType);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }