public static List <Pedido> ListarPedidosPorFecha(DateTime fechaInicio, DateTime fechaFin)
        {
            SqlConnection conexion         = null;
            SqlDataReader drPedidoPorFecha = null;

            try
            {
                conexion = new SqlConnection(Conexion.CadenaConexion);

                SqlCommand cmdListarPedidosPorFecha = new SqlCommand("ListarPedidosPorFecha", conexion);
                cmdListarPedidosPorFecha.CommandType = CommandType.StoredProcedure;

                cmdListarPedidosPorFecha.Parameters.AddWithValue("@inicio", fechaInicio);
                cmdListarPedidosPorFecha.Parameters.AddWithValue("@fin", fechaFin);

                conexion.Open();

                drPedidoPorFecha = cmdListarPedidosPorFecha.ExecuteReader();

                List <Pedido>      pedidosPorFecha = new List <Pedido>();
                List <LineaPedido> LineasPedido;

                Pedido            pedido;
                UsuarioRegistrado registrado;

                while (drPedidoPorFecha.Read())
                {
                    registrado = PersistenciaUsuarioRegistrado.Buscar((int)drPedidoPorFecha["CedulaUsuario"], false);

                    LineasPedido = PersistenciaPedido.BuscarLineasPedido((int)drPedidoPorFecha["Numero"]);

                    pedido = new Pedido((int)drPedidoPorFecha["Numero"], (DateTime)drPedidoPorFecha["Fecha"], (double)drPedidoPorFecha["PrecioTotal"], (bool)drPedidoPorFecha["Enviado"], registrado, LineasPedido);

                    pedidosPorFecha.Add(pedido);
                }

                return(pedidosPorFecha);
            }
            finally
            {
                if (drPedidoPorFecha != null)
                {
                    drPedidoPorFecha.Close();
                }

                if (conexion != null)
                {
                    conexion.Close();
                }
            }
        }
        public static List <Pedido> ListarPedidosEnviados()
        {
            SqlConnection conexion        = null;
            SqlDataReader drPedidoEnviado = null;

            try
            {
                conexion = new SqlConnection(Conexion.CadenaConexion);

                SqlCommand cmdListarPedidosEnviados = new SqlCommand("ListarPedidosEnviados", conexion);
                cmdListarPedidosEnviados.CommandType = CommandType.StoredProcedure;

                conexion.Open();

                drPedidoEnviado = cmdListarPedidosEnviados.ExecuteReader();

                List <Pedido>      pedidosEnviados = new List <Pedido>();
                List <LineaPedido> LineasPedido;

                Pedido            pedido;
                UsuarioRegistrado registrado;

                while (drPedidoEnviado.Read())
                {
                    registrado = PersistenciaUsuarioRegistrado.Buscar((int)drPedidoEnviado["CedulaUsuario"], false);

                    LineasPedido = PersistenciaPedido.BuscarLineasPedido((int)drPedidoEnviado["Numero"]);

                    pedido = new Pedido((int)drPedidoEnviado["Numero"], (DateTime)drPedidoEnviado["Fecha"], (double)drPedidoEnviado["PrecioTotal"], (bool)drPedidoEnviado["Enviado"], registrado, LineasPedido);

                    pedidosEnviados.Add(pedido);
                }

                return(pedidosEnviados);
            }
            finally
            {
                if (drPedidoEnviado != null)
                {
                    drPedidoEnviado.Close();
                }

                if (conexion != null)
                {
                    conexion.Close();
                }
            }
        }
        public static Pedido BuscarPedido(int numero)
        {
            SqlConnection conexion = null;
            SqlDataReader drPedido = null;

            try
            {
                conexion = new SqlConnection(Conexion.CadenaConexion);

                SqlCommand cmdBuscarPedido = new SqlCommand("BuscarPedido", conexion);
                cmdBuscarPedido.CommandType = CommandType.StoredProcedure;

                cmdBuscarPedido.Parameters.AddWithValue("@numero", numero);

                conexion.Open();

                drPedido = cmdBuscarPedido.ExecuteReader();

                Pedido pedido = new Pedido();

                List <LineaPedido> lineasPedido;
                UsuarioRegistrado  registrado;

                if (drPedido.Read())
                {
                    registrado = PersistenciaUsuarioRegistrado.Buscar((int)drPedido["CedulaUsuario"], false);

                    lineasPedido = PersistenciaPedido.BuscarLineasPedido((int)drPedido["Numero"]);

                    pedido = new Pedido((int)drPedido["Numero"], (DateTime)drPedido["Fecha"], (double)drPedido["PrecioTotal"], (bool)drPedido["Enviado"], registrado, lineasPedido);
                }

                return(pedido);
            }
            finally
            {
                if (drPedido != null)
                {
                    drPedido.Close();
                }

                if (conexion != null)
                {
                    conexion.Close();
                }
            }
        }