public static Result detallesRecorridos() { RecorridoDAO recorridoDAO = new RecorridoDAO(); // ojo ajustar List<Recorrido> lstRecorridos = recorridoDAO.listarRecorridos(); Form<FormularioConsultaRecorrido> form = Form.form(FormularioConsultaRecorrido.class).bindFromRequest(); if (form.hasErrors()) { flash("error", "Se encontraron errores al consultar el recorrido."); return badRequest( views.html.recorridosConsulta.render( Form.form(FormularioConsultaRecorrido.class), lstRecorridos, null, null)); } else { FormularioConsultaRecorrido formularioConsultaRecorrido = form.get(); Recorrido recorrido = recorridoDAO.consultarRecorridoPorId(formularioConsultaRecorrido.idRecorrido); FormularioRecorrido formRecorrido = new FormularioRecorrido(); formRecorrido.tipoRecorrido = String.valueOf(recorrido.getTipo()); formRecorrido.nombre = recorrido.getNombre(); formRecorrido.descripcion = recorrido.getDescripcion(); formRecorrido.horaFrecuente = recorrido.getHoraFrecuente(); String diasFrecuentes = recorrido.getDiaFrecuente(); formRecorrido.diaFrecuente = new ArrayList<String>(); if (diasFrecuentes != null) { String[] arrDias = diasFrecuentes.split(","); for (int i = 0; i < arrDias.length; i++) { formRecorrido.diaFrecuente.add(arrDias[i]); } } formRecorrido.fechaInicioRuta = String.valueOf(recorrido.getLstRuta().get(0).getFechaInicioRuta()); formRecorrido.fechaFinRuta = String.valueOf(recorrido.getLstRuta().get(0).getFechaFinRuta()); formRecorrido.latitudInicio = String.valueOf(recorrido.getLstRuta().get(0).getLatitudInicio()); formRecorrido.longitudInicio = String.valueOf(recorrido.getLstRuta().get(0).getLongitudInicio()); formRecorrido.latitudFin = String.valueOf(recorrido.getLstRuta().get(0).getLatitudFin()); formRecorrido.longitudFin = String.valueOf(recorrido.getLstRuta().get(0).getLongitudFin()); formRecorrido.lugarInicio = recorrido.getLstRuta().get(0).getLugarInicio(); formRecorrido.lugarFin = recorrido.getLstRuta().get(0).getLugarFin(); formRecorrido.lstAmigos = new ArrayList<String>(); Boolean existe = false; User usuario = Application.getLocalUser(session()); for (UsuarioXRecorrido usuarioRecorrido : recorrido.getLstUsuarioXRecorrido()) { formRecorrido.lstAmigos.add(usuarioRecorrido.getUsuario().name); if (usuario.id == usuarioRecorrido.getUsuario().id) existe = true; } formRecorrido.idRecorrido = recorrido.getIdRecorrido(); return ok(views.html.recorridosDetalle.render(formRecorrido, existe)); } }
/** * @param recorrido * @param ruta * @param listUsuarioRecorrido */ private static void notificarInvitacionARecorrdo( Recorrido recorrido, Ruta ruta, List<UsuarioXRecorrido> listUsuarioRecorrido) { User usuarioSession = Application.getLocalUser(session()); String usuarioInvita = usuarioSession.name; String nombreRecorrido = recorrido.getNombre(); String lugarInicio = ruta.getLugarInicio(); String lugarFin = ruta.getLugarFin(); String descripcion = recorrido.getDescripcion(); List<String> emailsInvitados = new ArrayList<String>(); for (UsuarioXRecorrido usuarioRecorrido : listUsuarioRecorrido) { String emailPosible = usuarioRecorrido.getUsuario().email; if (emailPosible != null && !emailPosible.isEmpty()) { emailsInvitados.add(emailPosible); } } // Si alguno de los invitados tiene email if (emailsInvitados.size() > 0) { // Recorrido Frecuente if (recorrido.getTipo() == 0) { String horaFrecuente = recorrido.getHoraFrecuente(); String diaFrecuente = recorrido.getDiaFrecuente(); ICatalogoNotificaciones icn = CatalogoNotificaciones.getICatalogoInstance(); icn.notificacionInvitacionRecorridoFrecuente( usuarioInvita, nombreRecorrido, lugarInicio, lugarFin, descripcion, horaFrecuente, diaFrecuente, emailsInvitados); } // Recorrido Recreacion else if (recorrido.getTipo() == 1) { SimpleDateFormat sdf = new SimpleDateFormat("dd MMM, yyyy"); String horaRecreacion = recorrido.getHoraFrecuente(); String fechaInicio = sdf.format(ruta.getFechaInicioRuta()); String fechaFin = sdf.format(ruta.getFechaFinRuta()); ICatalogoNotificaciones icn = CatalogoNotificaciones.getICatalogoInstance(); icn.notificacionInvitacionRecorridoRecreacion( usuarioInvita, nombreRecorrido, lugarInicio, lugarFin, descripcion, horaRecreacion, fechaInicio, fechaFin, emailsInvitados); } } }