public string getRespuesta(MensajeConfirmacion mensaje)
        {
            string url = "http://" + configIP_Recibir.Valor.Trim() + "/SMS/hay_respuesta_sms.php?numero=" + mensaje.Contacto.Trim();
            HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse hwresponse = (HttpWebResponse)hwr.GetResponse();
            Stream stream = hwresponse.GetResponseStream();
            StreamReader sreader = new StreamReader(stream);

            string respuesta = sreader.ReadToEnd();
            return respuesta;
        }
        public void enviarMensaje(ref MensajeConfirmacion mc)
        {
            if (mc.Turno.Paciente.Emails.Count > 0)
            {
                string email = mc.Turno.Paciente.Emails.ElementAt<Email>(0).EMail;
                string codigoIdentificatorio = Math.Truncate(random.NextDouble() * 1000).ToString();
                if (mc.CodigoIdentificatorio == null)
                {
                    mc.CodigoIdentificatorio = codigoIdentificatorio;
                }

                mc.Contacto = email;
                this.enviarMail(email, "Reprogramacion de Turno:"+mc.CodigoIdentificatorio, mc.Mensaje);

            }
        }
 public void enviarMensaje(ref MensajeConfirmacion mc)
 {
     foreach (Telefono telefono in mc.Turno.Paciente.Telefonos)
     {
         if (telefono.TipoTelefono.Codigo == "CEL")
         {
             string numero = telefono.Caracteristica + telefono.Numero.ToString();
             string url = "http://"+configIP_Enviar.Valor.Trim()+":9090/sendsms?phone=" + numero + "&text=" + mc.Mensaje+"&password=";
             HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(url);
             HttpWebResponse hwresponse = (HttpWebResponse)hwr.GetResponse();
             Stream stream = hwresponse.GetResponseStream();
             StreamReader sreader = new StreamReader(stream);
             string codigoIdentificatorio = Math.Truncate(random.NextDouble() * 1000).ToString();
             mc.CodigoIdentificatorio = codigoIdentificatorio;
             mc.Contacto = numero;
             break;
         }
     }
 }
        public void difundirMensaje(MensajeConfirmacion mensaje)
        {
            if (mensaje.Medio.Contains("CORREO"))
            {
                ManejadorMail mm = new ManejadorMail();
                mm.enviarMensaje(ref mensaje);

            }
            if (mensaje.Medio.Contains("WHATSAPP"))
            {
                ManejadorWhatsapp mm = new ManejadorWhatsapp();
                mm.enviarMensaje(ref mensaje);
            }
            if (mensaje.Medio.Contains("SMS"))
            {
                ManejadorSMS mm = new ManejadorSMS();
                mm.enviarMensaje(ref mensaje);
            }
        }
        public string getRespuesta(MensajeConfirmacion mc)
        {
            string respuesta = "NO";

            imap = new Imap("imap.gmail.com", 993, true);
            imap.Authenicate(user, pass);
            imap.SelectFolder("INBOX");

            imap.enviarComando("tag search subject \"Reprogramacion de Turno:"+mc.CodigoIdentificatorio+"\"");
            int indice = imap.obtenerIndiceMail();

            if (indice > 0)
            {
                imap.enviarComando("tag fetch " + indice + " body[1]<0.2>");
                respuesta = imap.obtenerRespuestaMail(indice);
            }

            return respuesta.ToUpper();
        }
Example #6
0
 public void borrarMensajeConfimacion(MensajeConfirmacion mensaje)
 {
     ConexionBD.getSession().Delete(mensaje);
     ConexionBD.getSession().Flush();
 }
Example #7
0
 public void guardarMensajeConfirmacion(MensajeConfirmacion mc)
 {
     ConexionBD.getSession().Save(mc);
     ConexionBD.getSession().Flush();
 }
        public void verificarConfirmacion(MensajeConfirmacion mensaje)
        {
            bool confirmo = false;
            bool cancelo = false;
            string respuestaEMAIL = "";
            string respuestaWHATSAPP = "";
            string respuestaSMS = "";
            if (mensaje.Medio.Contains("CORREO"))
            {
                ManejadorMail mm = new ManejadorMail();
                respuestaEMAIL = mm.getRespuesta(mensaje);

            }
            if (mensaje.Medio.Contains("WHATSAPP"))
            {
                ManejadorWhatsapp mws = new ManejadorWhatsapp();
                respuestaWHATSAPP = mws.getRespuesta(mensaje);

            }
            if (mensaje.Medio.Contains("SMS"))
            {
                ManejadorSMS ms = new ManejadorSMS();
                respuestaSMS = ms.getRespuesta(mensaje);
            }

            string respuesta = respuestaEMAIL + respuestaSMS + respuestaWHATSAPP;
            if (respuesta != "")
            {
                switch (respuesta)
                {
                    case "SI":
                        mensaje.Mensaje = "Turno confirmado. Gracias";
                        confirmo = true;
                        break;
                    case "NO":
                        mensaje.Mensaje = "Comuniquese con nosotros para obtener un turno de su agrado. Gracias";
                        cancelo = true;
                        break;
                    default:
                        mensaje.Mensaje = "Su respuesta no ha podido ser procesada correctamente.";
                        mensaje.Mensaje += " Por favor responda SI o NO";
                        break;
                }

                difundirMensaje(mensaje);
            }

            if (confirmo)
            {
                mensaje.Turno.EstadoTurno = gt.getEstadoXCodigo(EstadoTurno.ASIGNADO);
                gt.guardar(mensaje.Turno);
                gt.borrarMensajeConfimacion(mensaje);
            }

            if (cancelo)
            {
                mensaje.Turno.EstadoTurno = gt.getEstadoXCodigo(EstadoTurno.CANCELADO);
                mensaje.Estado = ConfirmacionTurno.RELLAMAR;
                gt.guardar(mensaje.Turno);
                gt.guardarMensajeConfirmacion(mensaje);
            }
        }
 public void registrarMensajeConfirmacion(MensajeConfirmacion mc)
 {
     gt.guardarMensajeConfirmacion(mc);
     gt.dejarSoloUltimoMensajeConCliente(mc);
 }
 public void enviarMensaje(MensajeConfirmacion mensaje)
 {
     manejador.enviarMensaje(ref mensaje);
 }
Example #11
0
 public virtual void informarPaciente()
 {
     ConfirmacionTurno ctc;
     MensajeConfirmacion mc = new MensajeConfirmacion();
     mc.Estado = "ENVIADO";
     mc.Medio = "";
     mc.FechaMensaje = DateTime.Now;
     mc.Mensaje = "Su turno con " + this.EntidadTurno.ToString() + " se reprogramo para el dia " + this.Fecha.ToShortDateString() + " a las " + this.Hora.ToShortTimeString();
     mc.Mensaje += ". Si esta conforme con el mismo responda SI, caso contrario responda NO. Gracias";
     mc.Turno = this;
     if (this.Paciente.AceptaCorreo)
     {
         ctc = new ConfirmacionTurno(new ManejadorMail());
         mc.Medio += "CORREO;";
         ctc.enviarMensaje(mc);
         ctc.registrarMensajeConfirmacion(mc);
     }
     if (this.Paciente.AceptaSMS)
     {
         ctc = new ConfirmacionTurno(new ManejadorSMS());
         mc.Medio += "SMS;";
         ctc.enviarMensaje(mc);
         ctc.registrarMensajeConfirmacion(mc);
     }
     if (this.Paciente.AceptaWhatsapp)
     {
         ctc = new ConfirmacionTurno(new ManejadorWhatsapp());
         mc.Medio += "WHATSAPP";
         ctc.enviarMensaje(mc);
         ctc.registrarMensajeConfirmacion(mc);
     }
 }