public static void CompareSms(IReadOnlySms sms1, IReadOnlySms sms2) { Assert.IsNotNull(sms1); Assert.IsNotNull(sms2); Assert.AreEqual(sms1.ReferenceId, sms2.ReferenceId); Assert.AreEqual(sms1.Sender, sms2.Sender); Assert.AreEqual(sms1.Recipients.Count, sms2.Recipients.Count); for (int count = 0; count < sms1.Recipients.Count; ++count) Assert.IsTrue(sms2.Recipients.Contains(sms1.Recipients[count])); Assert.AreEqual(sms1.Message, sms2.Message); }
internal static Sms SafeCast(IReadOnlySms message) { Sms sms; sms = new Sms { ApplicationId = message.ApplicationId, ReferenceId = message.ReferenceId, Sender = message.Sender, Message = message.Message }; foreach (string recipient in message.Recipients) sms.AddRecipient(recipient); return sms; }
private void Forward(IReadOnlySms message) { ISmsStatusCollection status; ISmsProvider smsProvider; ISmsGateway smsGateway; Sms sms; sms = Sms.SafeCast(message); smsProvider = sms.Provider ?? _defaultSmsProvider; sms.Provider = smsProvider; smsGateway = _smsGateways[smsProvider.Name]; status = smsGateway.Send(sms); if (status.Successful) NotifySubmission(sms, status); else NotifySubmissionFailure(sms, status); sms.SetProcessed(); }
private static void Forwarder(IReadOnlySms sms) { }