Пример #1
0
 public MessageModel(SingleMessageSms msg)
 {
     this.Sender   = msg.From;
     this.Receiver = msg.To;
     this.Message  = msg.Msg;
     this.Type     = MessageType.Enviada;
 }
Пример #2
0
        /// <summary>
        /// Método que envia uma mensagem SMS à API Zenvia para ser enviada ao destinatário.
        /// </summary>
        /// <param name="messageSms">Objeto do tipo <see cref="SingleMessageSms"/> que contém os dados necessários para o envio.</param>
        /// <returns>Objeto do tipo <see cref="SendSmsResponse"/> contendo a resposta da requisição feita.Pode conter uma mensagem de sucesso,
        /// confirmação de entrega ou uma mensagem informando uma falha no envio.</returns>
        public async Task <SendSmsResponse> SendSms(SingleMessageSms messageSms)
        {
            UsernameOrPasswordEmpty();
            try
            {
                SendSmsResponse result = await CallPostAsync <SendSmsResponse>(this.SendSmsUrl, messageSms);

                return(result);
            }
            catch (ZenviaException ex)
            {
                throw new ZenviaException(ex.Message, ex);
            }
        }
Пример #3
0
        private async void OnSendCommand(object obj)
        {
            SendWindow.IsEnabled = false;
            var api = GetApi();

            var msg = new SingleMessageSms();

            msg.From = (string)PhoneConverter.ConvertBack(this.Sender);
            msg.To   = (string)PhoneConverter.ConvertBack(this.Receiver);
            msg.Msg  = this.Message;

            try
            {
                var response = await api.SendSms(msg);

                if (response.StatusCode.Equals("00"))
                {
                    MessageBox.Show($"Mensagem enviada com sucesso [{response.DetailCode}]!");
                    var msgs = new MessageModel(msg);
                    DBContext.Messages.Add(msgs);
                    DBContext.SaveChanges();
                    this.Messages.Add(msgs);
                }
                else
                {
                    MessageBox.Show($"Falha ao enviar: [{response.StatusCode}] {response.StatusDescription} \n[{response.DetailCode}] {response.DetailDescription}");
                }
                SendWindow.Close();

                this.Sender   = string.Empty;
                this.Receiver = string.Empty;
                this.Message  = string.Empty;
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Falha ao enviar: {ex.Message}");
                Console.WriteLine(ex.StackTrace);
            }
            finally
            {
                SendWindow.IsEnabled = true;
            }
        }