/// <summary>
        /// Lista los estados por los que paso la Orden de entrega.
        /// </summary>
        /// <param name="id_orden">Id de la orden de entrega</param>
        /// <returns>Retorna la lista de estados para la orden de entrega</returns>
        public static List <OrdenEstadoClass> ListarPorOrden(long id_orden)
        {
            List <OrdenEstadoClass> r    = new List <OrdenEstadoClass>();
            saluddbEntities         mctx = new saluddbEntities();
            OrdenEstadoClass        x;


            var cur = from o in mctx.ordenestadoes
                      where o.id_orden == id_orden
                      select o;


            foreach (var f in cur)
            {
                x = new OrdenEstadoClass();

                x._id_orden_entrega = f.id_orden;
                x._id_orden_estado  = f.id_ordenestado;
                x._estado           = (EstadoOrden)f.estado;
                x._fecha            = (DateTime)f.fecha;
                x._usuario          = UsuarioClass.BuscarUsuarioPorId((int)f.id_usuario);

                r.Add(x);
            }


            return(r);
        }
        /// <summary>
        /// Función que obtiene el ultimo estado para la orden pasada como parámetro
        /// </summary>
        /// <param name="id_ordenEntrega">Id de la orden de entrega a buscar el estado</param>
        /// <returns>Retorna una instancia de OrdenEstadoClass o null en otro caso</returns>
        public static OrdenEstadoClass UltimoEstado(long id_ordenEntrega)
        {
            OrdenEstadoClass r = new OrdenEstadoClass();

            saluddbEntities ctx = new saluddbEntities();

            var cur = from o in ctx.ordenestadoes
                      where o.id_orden == id_ordenEntrega
                      orderby o.id_ordenestado descending
                      select o;

            if (cur.Count() > 0)
            {
                var f = cur.First();


                r._id_orden_estado  = f.id_ordenestado;
                r._estado           = (EstadoOrden)f.estado;
                r._fecha            = (DateTime)f.fecha;
                r._id_orden_entrega = f.id_orden;
                r._usuario          = UsuarioClass.BuscarUsuarioPorId(f.id_usuario);
            }
            else
            {
                r = null;
            }

            return(r);
        }