@Override
  public RespuestaCMD ejecuta(Object objeto) {

    SAFactura serviciosFactura = FactoriaNegocio.obtenerInstancia().generaSAFactura();
    RespuestaCMD respuestaComando = null;

    if (new ValidarTFactura().transferCorrecto((TFactura) objeto)) {
      try {
        if (serviciosFactura.anadirFactura((TFactura) objeto))
          respuestaComando =
              new RespuestaCMD(EnumComandos.CORRECTO_FACTURA, "Se ha añadido la Factura.");
        else
          respuestaComando =
              new RespuestaCMD(
                  EnumComandos.ERROR, "Error al insertar factura. Error al insertar los datos.");
      } catch (Exception e) {
        respuestaComando = new RespuestaCMD(EnumComandos.ERROR, e.getMessage());
        e.printStackTrace();
      }
    } else
      respuestaComando =
          new RespuestaCMD(
              EnumComandos.ERROR,
              "Error al insertar factura. Tiene que rellenar todos los campos.");

    return respuestaComando;
  }
  public RespuestaCMD ejecuta(Object objeto) {

    SAPlato serviciosProductosCarta = FactoriaNegocio.obtenerInstancia().generaSAPlato();
    RespuestaCMD respuestaComando = null;

    if (new ValidarTPlato().transferCorrecto((TPlato) objeto)) {
      try {
        if (serviciosProductosCarta.modificarPlato((TPlato) objeto))
          respuestaComando =
              new RespuestaCMD(EnumComandos.CORRECTO_PLATO, "Exito modificando el Plato.");
        else
          respuestaComando =
              new RespuestaCMD(
                  EnumComandos.ERROR, "Error al modificar Plato. Error al insertar los datos.");
      } catch (Exception e) {
        respuestaComando = new RespuestaCMD(EnumComandos.ERROR, e.getMessage());
        e.printStackTrace();
      }
    } else
      respuestaComando =
          new RespuestaCMD(
              EnumComandos.ERROR, "Error al modificar plato. Los datos no son válidos.");

    return respuestaComando;
  }
  public RespuestaCMD ejecuta(Object objeto) {

    SAProveedor serviciosproveedor = FactoriaNegocio.obtenerInstancia().generaSAProveedor();
    RespuestaCMD respuestacomando = null;

    try {
      respuestacomando =
          new RespuestaCMD(
              EnumComandos.OBTENER_PROVEEDORES, serviciosproveedor.obtenerProveedores());

    } catch (Exception e) {
      respuestacomando = new RespuestaCMD(EnumComandos.ERROR, e.getMessage());
      e.printStackTrace();
    }

    return respuestacomando;
  }
  @Override
  public RespuestaCMD ejecuta(Object objeto) {
    SAPedido serviciosPedido = FactoriaNegocio.obtenerInstancia().generaSAPedido();
    RespuestaCMD respuestaComando = null;

    if (new ValidarTPedido().pedidoCorrecto((TPedido) objeto)) {
      TPedido tPedido = (TPedido) objeto;

      if (tPedido.getFechaEntregado().equals("---") && tPedido.getFechaCancelado().equals("---")) {
        try {

          if (serviciosPedido.almacenarPedido(tPedido)) {
            respuestaComando =
                new RespuestaCMD(
                    EnumComandos.CORRECTO_PEDIDO,
                    "Se ha almacenado el nuevo Pedido, y actualizado el Stock de los productos");
          } else
            respuestaComando =
                new RespuestaCMD(
                    EnumComandos.ERROR, "Error al almacenar pedido. Error al insertar los datos.");

        } catch (Exception e) {
          respuestaComando = new RespuestaCMD(EnumComandos.ERROR, e.getMessage());
          e.printStackTrace();
        }
      } else
        respuestaComando =
            new RespuestaCMD(
                EnumComandos.ERROR,
                "No se puede almacenar un pedido que ya ha sido almacenado/cancelado");
    } else
      respuestaComando =
          new RespuestaCMD(
              EnumComandos.ERROR, "No se puede almacenar el pedido. Los datos son incorrectos.");

    return respuestaComando;
  }