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);
            }
        }
Exemplo n.º 2
0
        //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);
 }
Exemplo n.º 4
0
 public void Process(SmsSentEvent @event)
 {
     SaveEvent(nameof(SmsSentEvent), @event);
 }