コード例 #1
0
        public string Send(Sms sms, string callbackUrl)
        {
            _smsRepository.CreateSms(sms.CreateReference(_referenceGenerator).SetDirection(Direction.Outbound));

            if (!_smsServiceSettings.SendEnabled)
                return sms.SmsReference;

            var result = _smsProvider.SendSms(sms, callbackUrl);

            _smsRepository.UpdateSmsSid(sms.SmsReference, result.MessageIdentifier);

            _smsRepository.UpdateSmsStatus(sms.SmsReference, result.Outcome ? Status.Queued : Status.Error);

            return result.Outcome? sms.SmsReference : string.Empty;
        }
コード例 #2
0
        public void CreateReference_Sets_NoteReference()
        {
            //arrange
            const string reference = "ABCDE12345";
            var mockReferenceGenerator = new Mock<IReferenceGenerator>();
            var sms = new Sms();

            mockReferenceGenerator.Setup(x => x.CreateReference(It.IsAny<int>())).Returns(reference);

            //act
            sms.CreateReference(mockReferenceGenerator.Object);

            //assert
            sms.SmsReference.Should().NotBeNullOrWhiteSpace();
            sms.SmsReference.Should().Be(reference);

            mockReferenceGenerator.Verify(x => x.CreateReference(It.IsAny<int>()), Times.Once);
        }
コード例 #3
0
 public bool ProcessSms(Sms sms)
 {
     return _smsRepository.CreateSms(sms.CreateReference(_referenceGenerator));
 }