public static JObject ObtenerDetalleOrdenCompra(JObject pModelo, int pIdDetalleOrdenCompra, CConexion pConexion)
    {
        COrdenCompraDetalle OrdenCompraDetalle = new COrdenCompraDetalle();

        OrdenCompraDetalle.LlenaObjeto(pIdDetalleOrdenCompra, pConexion);

        COrdenCompraEncabezado OrdenCompra = new COrdenCompraEncabezado();

        OrdenCompra.LlenaObjeto(OrdenCompraDetalle.IdOrdenCompraEncabezado, pConexion);

        pModelo.Add(new JProperty("IdOrdenCompraDetalle", OrdenCompraDetalle.IdOrdenCompraDetalle));
        pModelo.Add(new JProperty("IdProducto", OrdenCompraDetalle.IdProducto));
        pModelo.Add(new JProperty("IdServicio", OrdenCompraDetalle.IdServicio));
        pModelo.Add(new JProperty("Cantidad", OrdenCompraDetalle.RecepcionCantidad));
        pModelo.Add(new JProperty("Costo", OrdenCompraDetalle.Costo));
        pModelo.Add(new JProperty("IdTipoMoneda", OrdenCompra.IdTipoMoneda));

        COrdenCompraEncabezado OrdenCompraEncabezado = new COrdenCompraEncabezado();

        OrdenCompraEncabezado.LlenaObjeto(OrdenCompraDetalle.IdOrdenCompraEncabezado, pConexion);
        pModelo.Add(new JProperty("IdTipoCompra", OrdenCompraDetalle.IdTipoCompra));

        pModelo.Add(new JProperty("IdCliente", OrdenCompraEncabezado.IdCliente));
        pModelo.Add(new JProperty("IdProyecto", OrdenCompraEncabezado.IdProyecto));

        if (OrdenCompraEncabezado.IdProyecto != 0)
        {
            CProyecto Proyecto = new CProyecto();
            Proyecto.LlenaObjeto(OrdenCompraEncabezado.IdProyecto, pConexion);
            pModelo.Add(new JProperty("Proyecto", Proyecto.NombreProyecto));
        }

        if (OrdenCompraDetalle.IdPedidoDetalle != 0)
        {
            CCotizacionDetalle CotizacionDetalle = new CCotizacionDetalle();
            CotizacionDetalle.LlenaObjeto(OrdenCompraDetalle.IdPedidoDetalle, pConexion);
            CCotizacion Cotizacion = new CCotizacion();
            Cotizacion.LlenaObjeto(CotizacionDetalle.IdCotizacion, pConexion);

            pModelo.Add(new JProperty("IdUsuarioSolicitante", Cotizacion.IdUsuarioAgente));
            pModelo.Add(new JProperty("IdCotizacion", Cotizacion.IdCotizacion));

            CCliente Cliente = new CCliente();
            Cliente.LlenaObjeto(Cotizacion.IdCliente, pConexion);

            COrganizacion Organizacion = new COrganizacion();
            Organizacion.LlenaObjeto(Cliente.IdOrganizacion, pConexion);

            pModelo.Add(new JProperty("RazonSocial", Organizacion.RazonSocial));
        }

        return(pModelo);
    }
    public static JObject ObtenerOrdenCompraEncabezado(JObject pModelo, int pIdOrdenCompraEncabezado, CConexion pConexion)
    {
        COrdenCompraEncabezado OrdenCompraEncabezado = new COrdenCompraEncabezado();

        OrdenCompraEncabezado.LlenaObjeto(pIdOrdenCompraEncabezado, pConexion);
        pModelo.Add(new JProperty("IdOrdenCompraEncabezado", OrdenCompraEncabezado.IdOrdenCompraEncabezado));
        pModelo.Add(new JProperty("IdProveedor", OrdenCompraEncabezado.IdProveedor));
        pModelo.Add(new JProperty("IdCliente", OrdenCompraEncabezado.IdCliente));
        pModelo.Add(new JProperty("IdProyecto", OrdenCompraEncabezado.IdProyecto));
        pModelo.Add(new JProperty("Folio", OrdenCompraEncabezado.Folio));
        pModelo.Add(new JProperty("DireccionEntrega", OrdenCompraEncabezado.DireccionEntrega));
        pModelo.Add(new JProperty("FechaAlta", OrdenCompraEncabezado.FechaAlta.ToShortDateString()));
        pModelo.Add(new JProperty("FechaRealEntrega", OrdenCompraEncabezado.FechaRealEntrega.ToShortDateString()));
        pModelo.Add(new JProperty("FechaRequerida", OrdenCompraEncabezado.FechaRequerida.ToShortDateString()));
        pModelo.Add(new JProperty("IVA", OrdenCompraEncabezado.IVA));
        pModelo.Add(new JProperty("Nota", OrdenCompraEncabezado.Nota));
        pModelo.Add(new JProperty("Saldo", OrdenCompraEncabezado.Saldo));
        pModelo.Add(new JProperty("Subtotal", OrdenCompraEncabezado.Subtotal));
        pModelo.Add(new JProperty("Total", OrdenCompraEncabezado.Total));
        pModelo.Add(new JProperty("Consolidado", OrdenCompraEncabezado.Consolidado));
        pModelo.Add(new JProperty("SinPedido", OrdenCompraEncabezado.SinPedido));
        pModelo.Add(new JProperty("CantidadTotalLetra", OrdenCompraEncabezado.CantidadTotalLetra));
        pModelo.Add(new JProperty("Baja", OrdenCompraEncabezado.Baja));
        pModelo.Add(new JProperty("ClienteProyecto", OrdenCompraEncabezado.ClienteProyecto));

        CProveedor Proveedor = new CProveedor();

        Proveedor.LlenaObjeto(OrdenCompraEncabezado.IdProveedor, pConexion);

        COrganizacion Organizacion = new COrganizacion();

        Organizacion.LlenaObjeto(Proveedor.IdOrganizacion, pConexion);
        pModelo.Add(new JProperty("RazonSocial", Organizacion.RazonSocial));
        pModelo.Add(new JProperty("RFC", Organizacion.RFC));

        CTipoMoneda TipoMoneda = new CTipoMoneda();

        TipoMoneda.LlenaObjeto(OrdenCompraEncabezado.IdTipoMoneda, pConexion);
        pModelo.Add(new JProperty("IdTipoMoneda", TipoMoneda.IdTipoMoneda));
        pModelo.Add(new JProperty("TipoMoneda", TipoMoneda.TipoMoneda));

        CDivision Division = new CDivision();

        Division.LlenaObjeto(OrdenCompraEncabezado.IdDivision, pConexion);
        pModelo.Add(new JProperty("IdDivision", Division.IdDivision));
        pModelo.Add(new JProperty("Division", Division.Division));
        pModelo.Add(new JProperty("Observaciones", OrdenCompraEncabezado.Nota));

        CCliente Cliente = new CCliente();

        Cliente.LlenaObjeto(OrdenCompraEncabezado.IdCliente, pConexion);

        Dictionary <string, object> ParametrosOCD = new Dictionary <string, object>();

        ParametrosOCD.Add("Baja", 0);
        ParametrosOCD.Add("IdOrdenCompraEncabezado", OrdenCompraEncabezado.IdOrdenCompraEncabezado);

        COrdenCompraDetalle OrdenCompraDetalle = new COrdenCompraDetalle();

        foreach (COrdenCompraDetalle oOrdenCompraDetalle in OrdenCompraDetalle.LlenaObjetosFiltros(ParametrosOCD, pConexion))
        {
            pModelo.Add(new JProperty("IdPedidoEncabezado", oOrdenCompraDetalle.IdPedidoEncabezado));
            break;
        }

        return(pModelo);
    }