Пример #1
0
        //public string SendMessage(Message message, string callBack = "")
        public string SendMessage(Message message)
        {
            var sentMessage = _client.SendSmsMessage(
                message.From,
                message.To,
                message.Body);

            return(sentMessage.Sid);
        }
Пример #2
0
        public HttpResponseMessage Post(Message receivedMessage)
        {
            //TODO:  Do this better.
            var  tokens  = receivedMessage.Body.Split(new[] { " " }, StringSplitOptions.None);
            bool isError = tokens.Length < 2;
            //TODO: Use an Enum
            bool isDupe = false;

            if (!isError)
            {
                var seed = tokens[0];

                var currentMessage = _messageRepository.GetMessageBySeed(seed);

                if (currentMessage == null)
                {
                    isError = true;
                }
                else if (!string.IsNullOrEmpty(currentMessage.ReceivedMessage))
                {
                    isDupe = true;
                }
                else
                {
                    //Set the receivedMessage
                    currentMessage.ReceivedMessage = receivedMessage.Body.Substring(6);

                    //Save the new record
                    _messageRepository.Update(currentMessage);
                }
            }

            const string xml =
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
                + "<Response>"
                + "<Message>{0}</Message>"
                + "</Response>";
            const string message     = "Thanks for the response!";
            const string erroMessage = "Please resend your message with your 4 character code";
            const string dupeMessage = "Thanks but you've already sent your update.";

            var httpContent =
                new StringContent(
                    string.Format(xml, isDupe ? dupeMessage : isError ? erroMessage : message), Encoding.UTF8, "text/xml");

            httpContent.Headers.ContentType = new MediaTypeHeaderValue("text/xml");

            var response =
                new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = httpContent,
            };

            return(response);
        }
Пример #3
0
        public Message GetMessage(string smsSid)
        {
            var tMessage = _client.GetMessage(smsSid);

            var message =
                new Message
            {
                SmsSid       = tMessage.Sid,
                MessageSid   = tMessage.Sid,
                DateReceived =
                    tMessage.DateCreated.ToUnixTimestamp()
                    .ToString(CultureInfo.InvariantCulture),
            };

            return(message);
        }