@Override
  public JSON_Respuesta ejecutar(Admin_Alertas adminAlertas) {

    if (validar()) {

      this.logger.debug("executing FX_ModificarTemplate.ejecutar()");

      try {

        PropiedadTemplate prop = (PropiedadTemplate) getDao().guardar(getPropiedadTemplate());
        setPropiedadTemplate(prop.toValueObject());

        getDao().resetQuery();

        String detalle =
            "La propeidad del template de servicio "
                + getPropiedadTemplate().getPropiedad().getNombre()
                + " se modificó correctamente";

        // Se genera y persiste el alerta correspondiente a la funcion
        // FX
        Alerta al =
            new Alerta(
                getUsuario(),
                new Date(),
                getPropiedadTemplate().getId(),
                this.getClass().getCanonicalName(),
                detalle,
                E_Priority.BAJA);

        adminAlertas.guardarAlerta(getEm(), al, this);

        DAO_Utils.info(logger, "FX_ModificarPropiedadTemplate", "ejecutar", detalle, getUsuario());
        System.out.println(detalle);
        this.logger.info(detalle);

        this.getRespuesta().setPaginador(JSON_Paginador.solo(getPropiedadTemplate()));
        this.getRespuesta().setMensaje(detalle);
        this.getRespuesta().setOk(true);

      } catch (Exception e) {
        this.getRespuesta().setOk(false);

        this.getRespuesta().setMensaje("Ocurrió un error en la grabación");
      }

    } else {
      this.getRespuesta().setOk(false);

      this.getRespuesta()
          .setMensaje(
              "Ya existe la propiedad del template de servicio con el mismo nombre: "
                  + getPropiedadTemplate());
    }
    return getRespuesta();
  }
  @Override
  public JSON_Respuesta ejecutar(Admin_Alertas adminAlertas) {

    if (validar()) {

      this.logger.debug("executing FX_ModificarParametro.ejecutar()");

      try {

        getDao().guardar(getParametro());
        getDao().resetQuery();

        String detalle =
            "La propiedad " + getParametro().getNombre() + " se modificó correctamente";

        // Se genera y persiste el alerta correspondiente a la funcion
        // FX
        Alerta al =
            new Alerta(
                getUsuario(),
                new Date(),
                getParametro().getId(),
                getParametro().getNombre(),
                detalle,
                E_Priority.BAJA);

        adminAlertas.guardarAlerta(getEm(), al, this);

        System.out.println(detalle);
        this.logger.info(detalle);

        this.getRespuesta().setPaginador(JSON_Paginador.solo(getParametro()));
        this.getRespuesta().setMensaje(detalle);
        this.getRespuesta().setOk(true);

      } catch (Exception e) {
        this.getRespuesta().setOk(false);

        this.getRespuesta().setMensaje("Ocurrió un error en la grabación");
      }

    } else {
      this.getRespuesta().setOk(false);

      this.getRespuesta()
          .setMensaje("Ya existe una propiedad con el mismo nombre: " + getParametro());
    }
    return getRespuesta();
  }
  @Override
  public JSON_Respuesta ejecutar(Admin_Alertas adminAlertas) {

    try {

      getTipoPrestacionHorus().setBorrado(true);
      getDao().guardar(getTipoPrestacionHorus());

      String detalle =
          "El estuduio " + getTipoPrestacionHorus().getNombre() + " se eliminó correctamente";

      // Pasaje de la entidad activa a la entidad historica
      // getEm().persist(area.toHistoricoObject());

      // Se genera y persiste el alerta correspondiente a la funcion
      // FX
      Alerta al =
          new Alerta(
              getUsuario(),
              new Date(),
              getTipoPrestacionHorus().getId(),
              this.getClass().getCanonicalName(),
              detalle,
              E_Priority.BAJA);

      adminAlertas.guardarAlerta(getDao().getEntityManager(), al, this);

      System.out.println(detalle);
      this.logger.info(detalle);

      this.getRespuesta().setPaginador(JSON_Paginador.solo(getTipoPrestacionHorus()));
      this.getRespuesta().setMensaje(detalle);
      this.getRespuesta().setOk(true);

    } catch (Exception e) {
      this.getRespuesta().setOk(false);

      this.getRespuesta()
          .setMensaje("No es posible eliminar el tipo de id: " + getTipoPrestacionHorus());
    }
    return getRespuesta();
  }