示例#1
0
        public void GetSmsText_ShouldBeSuccessful(string fullMessage, string expectedText)
        {
            //Act
            var resultText = _smsParser.GetSmsText(fullMessage);

            //Assert
            resultText.IsFailure.ShouldBeFalse();
            var expectedMessageTrimmed = Regex.Replace(expectedText, "\r|\n|\\s", string.Empty);
            var resultMessageTrimmed   = Regex.Replace(resultText.Value, "\r|\n|\\s", string.Empty);

            resultMessageTrimmed.ShouldBe(expectedMessageTrimmed);
        }
        private void ProcessSms(string body, string senderExtension)
        {
            var smsTextResult = _smsParser.GetSmsText(body);

            if (smsTextResult.IsFailure)
            {
                _logger.Warning($"Ошибка парсинга текста из sms body. {smsTextResult.ErrorMessage}");
                return;
            }

            var metadataResult = _smsParser.GetMetadata(body);

            if (metadataResult.IsFailure)
            {
                _logger.Warning($"Не удалось получить метаданные из sms body. {metadataResult.ErrorMessage}");
            }

            var metadata = metadataResult.Value;

            var smsId = Guid.NewGuid();

            NotifyAboutNewSms(smsId, senderExtension, smsTextResult.Value, metadata);
        }