public void PublishEvent_SmsSent() { using (var resources = new Resources()) { //Given var request = new SmsSentEvent { MessageId = Guid.NewGuid().ToString(), PhoneNumber = "+44123456789", TextMessage = "This is a test SMS Message" }; //When var result = resources.EventBusHelper.PublishEvent(request); //Then Assert.IsNotNull(result); Assert.IsTrue(result.StatusCode == System.Net.HttpStatusCode.OK); } }
//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); }
public void Process(SmsSentEvent @event) { SaveEvent(nameof(SmsSentEvent), @event); }