public MessageModel(SingleMessageSms msg) { this.Sender = msg.From; this.Receiver = msg.To; this.Message = msg.Msg; this.Type = MessageType.Enviada; }
/// <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); } }
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; } }