示例#1
0
        public TwilioKeys GetKeys()
        {
            TwilioKeys keys = new TwilioKeys();

            //Retrieve information
            return(keys);
        }
示例#2
0
        public IActionResult SubmitMessage(MessageViewModel messageViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    Message     message     = new Message();
                    SentMessage sentMessage = new SentMessage();
                    TwilioKeys  keys        = _configuration.GetSection("TwilioKeys").Get <TwilioKeys>();

                    message.to      = messageViewModel.to;
                    message.message = messageViewModel.message;

                    TwilioClient.Init(keys.SID, keys.token);

                    var msj = MessageResource.Create(
                        body: messageViewModel.message,
                        from: new Twilio.Types.PhoneNumber(keys.twilioPhone),
                        to: new Twilio.Types.PhoneNumber(messageViewModel.to)
                        );

                    message.createdDate = (DateTime)msj.DateCreated;

                    string statusResponse = msj.Status.ToString();

                    sentMessage.confirmationCode = statusResponse;
                    sentMessage.dateSent         = (DateTime)(msj.DateSent == null ? msj.DateCreated : msj.DateSent);

                    sentMessage.messageID = _messageRepository.InsertMessage(message);
                    _messageRepository.InsertSentMessage(sentMessage);

                    Log.Information($"Message submitted succesfully and got Twilio response:{statusResponse}");

                    return(RedirectToAction("Index", new { twilioResponse = statusResponse }));
                }
                else
                {
                    messageViewModel.messages = new List <Message>();
                    return(View(messageViewModel));
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex, Utilities.ErrorCodes.SubmitMessageError.ToString());
                messageViewModel.messages = new List <Message>();
                ModelState.AddModelError("Error: ", Utilities.ErrorCodes.SubmitMessageError.ToString());
            }
            return(View("Index", messageViewModel));
        }