//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; } }
private static SMSWindowService.Entity.SMSComponent ReadConfigFile() { SMSComponent smsComponent = new SMSComponent(); smsComponent = Config.GetSMSComponent(); return(smsComponent); }
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(); } }
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; } }
private void DeleteSMS(SMSComponent smsComponent, String ID) { try { smsComponent.DeleteSMS(Convert.ToInt32(ID)); //delete sms in storage } catch (Exception ex) { throw ex; } }
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); }
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; } }
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); } }
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; } }
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; } }
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; } }
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; } }