public SMSIsSendMessage SendSMS(SMSMessage message, ref SMSIsNotSendMessage smsIsNotSend)
        {
            var random = new Random();
            int exep   = random.Next(0, 10);

            if (exep == 6 || exep == 3)
            {
                //_logger.ForContext<SmsProcessor>().Error("Message :{@text} - not send", message.Text);
                _logger.LogFormat(LoggingLevel.Error, "Message :{@text} - not send", message.Text);
                smsIsNotSend = new SMSIsNotSendMessage()
                {
                    Text    = message.Text,
                    Problem = exep.ToString()
                };
                return(null);
            }
            //_logger.ForContext<SmsProcessor>().Information("Message :{@text} - is send.Processor: {@NameProcessor}. Provider: {@provider}", message.Text, Name.GetName(), _provider);
            _logger.LogFormat(LoggingLevel.Info, "Message :{@text} - is send.Processor: {@NameProcessor}. Provider: {@provider}", message.Text, Name.GetName(), _provider);
            var smsIsSend = new SMSIsSendMessage()
            {
                Text     = message.Text,
                DateTime = DateTime.Now
            };

            return(new SMSIsSendMessage {
                Text = smsIsSend.Text, DateTime = smsIsSend.DateTime
            });
        }
        public async Task Consume(ConsumeContext <SMSMessage> context)
        {
            var smsIsNotSend = new SMSIsNotSendMessage();
            var smsIsSend    = _processor.SendSMS(context.Message, ref smsIsNotSend);

            if (smsIsSend != null)
            {
                await context.RespondAsync <SMSIsSendMessage>(smsIsSend);
            }
            else
            {
                await context.RespondAsync <SMSIsNotSendMessage>(smsIsNotSend);
            }
        }