public List<Entidades.MesaPedido> buscarXPedido(int id)
        {
            List<Entidades.MesaPedido> lista = new List<Entidades.MesaPedido>();
            Entidades.MesaPedido mp = null;
            try
            {
                OleDbConnection conexion = Entidades.Conexion.GetInstancia().crearConexion();
                OleDbCommand cmd = new OleDbCommand("Select * From MesaPedido Where IdPedido=@id", conexion);
                cmd.Parameters.AddWithValue("@id", id);
                OleDbDataReader datos = cmd.ExecuteReader();
                while (datos.Read())
                {
                    mp = new Entidades.MesaPedido();
                    mp.IdPedido = Convert.ToInt32(datos["IdPedido"]);
                    mp.IdMesa = Convert.ToInt32(datos["IdMesa"]);
                    mp.Estado = Convert.ToInt32(datos["Estado"]);
                    lista.Add(mp);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Ocurrio un problema al listar " + ex.Message);
            }

            return lista;
        }
        public override Entidades.Pedido guardar(Entidades.Pedido pedido)
        {
            try
            {
                int cont = 0;
                OleDbConnection conexion = Entidades.Conexion.GetInstancia().crearConexion();

                OleDbCommand cmdUpdate = new OleDbCommand("Update Pedido Set Cliente = @cliente, Mozo = @idMozo, SubTotal = @subTotal, Total = @total, Activo = @activo, Fecha = @fecha, Turno = @turno Where Id = @id", conexion);
                cmdUpdate.Parameters.AddWithValue("@cliente", pedido.Cliente);
                cmdUpdate.Parameters.AddWithValue("@idMozo", pedido.Mozo);
                cmdUpdate.Parameters.AddWithValue("@subTotal", pedido.SubTotal);
                cmdUpdate.Parameters.AddWithValue("@total", pedido.Total);
                cmdUpdate.Parameters.AddWithValue("@activo", pedido.Activo);
                cmdUpdate.Parameters.AddWithValue("@fecha", pedido.Fecha);
                cmdUpdate.Parameters.AddWithValue("@turno", pedido.Turno);
                cmdUpdate.Parameters.AddWithValue("@id", pedido.Id);
                cont = cmdUpdate.ExecuteNonQuery();
                if (cont == 0)
                {
                    OleDbCommand cmd = new OleDbCommand("Insert Into Pedido(Id,Cliente,Mozo,SubTotal,Total,Activo,Fecha,Turno) Values(@id,@cliente,@idMozo,@subTotal,@total,@activo,@fecha,@turno)", conexion);
                    pedido.Id = maximoId();
                    cmd.Parameters.AddWithValue("@id", pedido.Id);
                    cmd.Parameters.AddWithValue("@cliente", pedido.Cliente);
                    cmd.Parameters.AddWithValue("@idMozo", pedido.Mozo);
                    cmd.Parameters.AddWithValue("@subTotal", pedido.SubTotal);
                    cmd.Parameters.AddWithValue("@total", pedido.Total);
                    cmd.Parameters.AddWithValue("@activo", pedido.Activo);
                    cmd.Parameters.AddWithValue("@fecha", pedido.Fecha);
                    cmd.Parameters.AddWithValue("@turno", pedido.Turno);
                    cmd.ExecuteNonQuery();
                    foreach (Entidades.Mesa mesa in pedido.Mesas)
                    {
                        Entidades.MesaPedido mp = new Entidades.MesaPedido();
                        mp.IdPedido = pedido.Id;
                        mp.IdMesa = mesa.Id;
                        mp.Estado = 1;
                        PersistenciaOleDbMesaPedido.getInstancia().guardar(mp);
                    }
                }

            }
            catch (Exception ex)
            {
                throw new Exception("Ocurrio un problema al guardar " + ex.Message);
            }

            return pedido;
        }