/** * @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); } } }
/** * @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); } } }
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); } }
/** * Agregar una ruta al repositorio * * @param rt La ruta que se debe agregar */ public void agregarRuta(Ruta rt) throws SQLException { rt.save(); }