//z.B. +CMGS: 123 private static void ParseMessageReference(string input) { string[] lines = input.Split(new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); foreach (string line in lines) { if (line.StartsWith(Answer_SmsSent)) { if (!int.TryParse(line.Replace(Answer_SmsSent, string.Empty).Trim(), out int reference)) { Console.WriteLine("Für die gesendete SMS konnte keine Referenz-Nr. ermittelt werden. Empfangsbestätigungen auf Plausibilität prüfen! Empfangen:\r\n>{0}<\r\n\r\nErwartete Empfangsbestätigung für SMS an {1}\r\n{2}", line, currentSendSms.Item1, currentSendSms.Item2); currentSendSms = null; return; } else { Console.WriteLine("Vergebe Referenz {0} für SMS an {1}\r\n{2}", reference, currentSendSms.Item1, currentSendSms.Item2); } ParseSms sentSms = new ParseSms() { InternalReference = reference, Sender = currentSendSms.Item1, TimeUtc = DateTime.UtcNow, Message = currentSendSms.Item2 // Sinnvoll? }; #region Sendungsverfolgung siehe auch ParseNewStatusReport() WaitingForStatusReport.Add(sentSms); #endregion currentSendSms = null; //Freigeben für nächste SMS SmsSentEvent?.Invoke(null, sentSms); } } }
/// <summary> /// Trigger für das Event SMS erfolgreich versendet /// </summary> /// <param name="e"></param> static void RaiseSmsSentEvent(Sms e) { SmsSentEvent?.Invoke(null, e); }