Exemple #1
0
        public void Post(int grupoUsuarioId, [FromBody] Models.Mensagem m)
        {
            Models.ZipZopDataContext dc = new Models.ZipZopDataContext();
            var user_ids = dc.Usuarios.Where(u => u.GrupoUsuarios.Any(gu => gu.Id == grupoUsuarioId));

            foreach (Models.Usuario us in user_ids)
            {
                sendMessage(m, us.Uri);
            }
        }
Exemple #2
0
        public void Post(NovaMensagem novaMensagem)
        {
            using (var contexto = new Contexto())
            {
                var contatoModelo = contexto.Contatos
                                    .Where(x => x.Id == novaMensagem.IdContato)
                                    .Single();

                var mensagemModelo = new Models.Mensagem()
                {
                    Descricao = novaMensagem.Descricao,
                    Contato   = contatoModelo,
                    DataHora  = DateTime.Now
                };

                contexto.Mensagens.Add(mensagemModelo);
                contexto.SaveChanges();
            }
        }
Exemple #3
0
        public void Post([FromBody] Models.Mensagem mensagem)
        {
            Models.Mensagem m = mensagem;

            // Mensagem: toast notification
            string msg =
                "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                "<wp:Notification xmlns:wp=\"WPNotification\">" +
                "<wp:Toast>" +
                "<wp:Text1>" + m.Texto1 + "</wp:Text1>" +
                "<wp:Text2>" + m.Texto2 + "</wp:Text2>" +
                "<wp:Param>/" + m.Param + "?Msg1="
                + m.Texto1 + "&amp;Msg2=" + m.Texto2 + "</wp:Param>" +
                "</wp:Toast>" +
                "</wp:Notification>";

            // byte[] msgBytes = new UTF8Encoding().GetBytes(msg);
            byte[] msgBytes = Encoding.Default.GetBytes(msg);

            // create a web request that identifies the payload as a toast notification
            // Cria a requisição para a Uri selecionada
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(m.Uri);

            request.Method                           = "Post";
            request.ContentType                      = "text/xml";
            request.ContentLength                    = msg.Length;
            request.Headers["X-MessageID"]           = Guid.NewGuid().ToString();
            request.Headers["X-WindowsPhone-Target"] = "toast";
            request.Headers["X-NotificationClass"]   = "2";

            // Envia a requisição
            using (Stream requestStream = request.GetRequestStream())
            {
                requestStream.Write(msgBytes, 0, msgBytes.Length);
            }
        }
Exemple #4
0
        public void Enviar(string uri, [FromBody] string conteudo)
        {
            Models.Mensagem            mensagem = JsonConvert.DeserializeObject <Models.Mensagem>(conteudo);
            Models.WhatsappDataContext dc       = new Models.WhatsappDataContext();

            try
            {
                HttpWebRequest sendNotificationRequest = (HttpWebRequest)WebRequest.Create(uri);
                sendNotificationRequest.Method = "POST";

                string toastMessage = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                                      "<wp:Notification xmlns:wp=\"WPNotification\">" +
                                      "<wp:Toast>" +
                                      "<wp:Text1>" + mensagem.Remetente + "</wp:Text1>" +
                                      "<wp:Text2>" + mensagem.Conteudo + "</wp:Text2>" +
                                      "<wp:Param>/Usuario/LerMsg.xaml?NavigatedFrom=Toast Notification</wp:Param>" +
                                      "</wp:Toast> " +
                                      "</wp:Notification>";

                byte[] notificationMessage = Encoding.Default.GetBytes(toastMessage);
                // Set the web request content length.
                sendNotificationRequest.ContentLength = notificationMessage.Length;
                sendNotificationRequest.ContentType   = "text/xml";
                sendNotificationRequest.Headers.Add("X-WindowsPhone-Target", "toast");
                sendNotificationRequest.Headers.Add("X-NotificationClass", "2");

                using (Stream requestStream = sendNotificationRequest.GetRequestStream())
                {
                    requestStream.Write(notificationMessage, 0, notificationMessage.Length);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }