示例#1
0
        private static IEnumerable <SmsSendRecord> CreateSendRecords(Notification notification, string sendingNumber, IEntity mobilePhoneField, IEnumerable <IEntity> people)
        {
            using (Profiler.Measure("TwilioRouter.CreateSendRecords"))
            {
                var sendRecords = people.Select(p =>
                {
                    var sendRecord = Entity.Create <SmsSendRecord>();

                    sendRecord.SendToNotification = notification;
                    sendRecord.SsrFrom            = PhoneNumberHelper.CleanNumber(sendingNumber);
                    sendRecord.SrToPerson         = p?.Cast <Person>();

                    var toNumber = p.GetField <string>(mobilePhoneField);

                    if (toNumber != null)
                    {
                        sendRecord.SsrTo = PhoneNumberHelper.CleanNumber(toNumber);
                    }
                    else
                    {
                        sendRecord.SrErrorMessage = MissingPhoneNumberMessage;
                    }

                    return(sendRecord);
                });

                return(sendRecords);
            }
        }
 public void CleanNumber(string dirty, string expected)
 {
     Assert.That(PhoneNumberHelper.CleanNumber(countryCode, dirty), Is.EqualTo(expected));
 }