private static void insertarRecorrido( Recorrido recorrido, Ruta ruta, List<UsuarioXRecorrido> listUsuarioRecorrido) { RecorridoDAO recorridoDao = new RecorridoDAO(); recorrido.getLstRuta().add(ruta); recorrido.setLstUsuarioXRecorrido(listUsuarioRecorrido); recorridoDao.agregarRecorrido(recorrido); }
/** * @param recorrido * @param seUnio */ private static void notificarCambioParticipacionRecorrido(Recorrido recorrido, boolean seUnio) { EstadoParticipacion estadoParticipacion = seUnio ? ICatalogoNotificaciones.EstadoParticipacion.UNIDO_A_RECORRIDO : ICatalogoNotificaciones.EstadoParticipacion.RETIRADO_DE_RECORRIDO; User usuarioSession = Application.getLocalUser(session()); Ruta ruta = recorrido.getLstRuta().get(0); String emailUsuario = usuarioSession.email; String nombreUsuario = usuarioSession.name; String nombreRecorrido = recorrido.getNombre(); String lugarInicio = ruta.getLugarInicio(); String lugarFin = ruta.getLugarFin(); String descripcion = recorrido.getDescripcion(); if (emailUsuario != null && !emailUsuario.isEmpty()) { // Recorrido Frecuente if (recorrido.getTipo() == 0) { String horaFrecuente = recorrido.getHoraFrecuente(); String diaFrecuente = recorrido.getDiaFrecuente(); ICatalogoNotificaciones icn = CatalogoNotificaciones.getICatalogoInstance(); icn.notificacionCambioParticipacionRecorridoFrecuente( estadoParticipacion, emailUsuario, nombreUsuario, nombreRecorrido, lugarInicio, lugarFin, descripcion, horaFrecuente, diaFrecuente); } // 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.notificacionCambioParticipacionRecorridoRecreacion( estadoParticipacion, emailUsuario, nombreUsuario, nombreRecorrido, lugarInicio, lugarFin, descripcion, horaRecreacion, fechaInicio, fechaFin); } } }
/** * @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); } } }
public static Result postFormRecorridos() { FormularioRecorrido formRecorrido1 = new FormularioRecorrido(); Form<FormularioRecorrido> form = Form.form(FormularioRecorrido.class).bindFromRequest(); if (form.hasErrors()) { flash("error", "Se encontraron errores al crear el recorrido."); return badRequest( views.html.recorridos.render( Form.form(FormularioRecorrido.class), tipoRecorrido, diaFrecuente, horaSalida, lstAmigos, null, null)); } else { FormularioRecorrido formRecorrido = form.get(); Recorrido recorrido = new Recorrido(); recorrido.setTipo(0); if (formRecorrido.tipoRecorrido.contains("Recreacion")) recorrido.setTipo(1); recorrido.setNombre(formRecorrido.nombre); recorrido.setDescripcion(formRecorrido.descripcion); recorrido.setHoraFrecuente(formRecorrido.horaFrecuente); if (formRecorrido.diaFrecuente != null) { String cadDias = ""; for (String dia : formRecorrido.diaFrecuente) { String solDia = dia.split("-")[1]; cadDias += solDia + ","; System.out.println(solDia); } recorrido.setDiaFrecuente(cadDias); } Ruta ruta = new Ruta(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); if (formRecorrido.tipoRecorrido.contains("Recreacion")) { try { Date fechaInicio = format.parse(formRecorrido.fechaInicioRuta); // new Date(); Date fechaFin = format.parse(formRecorrido.fechaFinRuta); // new Date(); ruta.setFechaInicioRuta(fechaInicio); ruta.setFechaFinRuta(fechaFin); } catch (ParseException e) { e.printStackTrace(); } } ruta.setLatitudInicio(Float.parseFloat(formRecorrido.latitudInicio)); ruta.setLongitudInicio(Float.parseFloat(formRecorrido.longitudInicio)); ruta.setLatitudFin(Float.parseFloat(formRecorrido.latitudFin)); ruta.setLongitudFin(Float.parseFloat(formRecorrido.longitudFin)); ruta.setLugarInicio(formRecorrido.lugarInicio); ruta.setLugarFin(formRecorrido.lugarFin); List<UsuarioXRecorrido> listUsuarioRecorrido = new ArrayList<UsuarioXRecorrido>(); User usuario = Application.getLocalUser(session()); UsuarioXRecorrido usuarioRecorrido = new UsuarioXRecorrido(); usuarioRecorrido.setUsuario(usuario); usuarioRecorrido.setIndAdministrador(true); usuarioRecorrido.setIndConfirmado(true); listUsuarioRecorrido.add(usuarioRecorrido); UserDAO userDao = new UserDAO(); for (String amigo : formRecorrido.lstAmigos) { usuario = userDao.consultarUsuarioPorId(Long.parseLong(amigo.split("-")[1])); usuarioRecorrido = new UsuarioXRecorrido(); usuarioRecorrido.setUsuario(usuario); usuarioRecorrido.setIndAdministrador(false); usuarioRecorrido.setIndConfirmado(false); listUsuarioRecorrido.add(usuarioRecorrido); } insertarRecorrido(recorrido, ruta, listUsuarioRecorrido); // Notificacion Invitacion notificarInvitacionARecorrdo(recorrido, ruta, listUsuarioRecorrido); flash("success", "Se ha creado correctamente el recorrido."); return templateCrear( Form.form(FormularioRecorrido.class), tipoRecorrido, diaFrecuente, horaSalida, lstAmigos); } }
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)); } }