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(); }
public void borrarMensajeConfimacion(MensajeConfirmacion mensaje) { ConexionBD.getSession().Delete(mensaje); ConexionBD.getSession().Flush(); }
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); }
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); } }