public static JObject ObtenerNotaCreditoProveedor(JObject pModelo, int pIdNotaCreditoProveedor, CConexion pConexion)
    {
        CNotaCreditoProveedor NotaCreditoProveedor = new CNotaCreditoProveedor();

        NotaCreditoProveedor.LlenaObjeto(pIdNotaCreditoProveedor, pConexion);
        pModelo.Add(new JProperty("IdNotaCreditoProveedor", NotaCreditoProveedor.IdNotaCreditoProveedor));

        CProveedor Proveedor = new CProveedor();

        Proveedor.LlenaObjeto(NotaCreditoProveedor.IdProveedor, pConexion);
        pModelo.Add(new JProperty("IdProveedor", Proveedor.IdProveedor));

        COrganizacion Organizacion = new COrganizacion();

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

        pModelo.Add(new JProperty("SerieNotaCredito", NotaCreditoProveedor.SerieNotaCredito));
        pModelo.Add(new JProperty("FolioNotaCredito", NotaCreditoProveedor.FolioNotaCredito));
        pModelo.Add(new JProperty("Descripcion", NotaCreditoProveedor.Descripcion));
        pModelo.Add(new JProperty("Fecha", NotaCreditoProveedor.Fecha.ToShortDateString()));
        pModelo.Add(new JProperty("Monto", NotaCreditoProveedor.Monto));
        pModelo.Add(new JProperty("PorcentajeIVA", NotaCreditoProveedor.PorcentajeIVA));
        pModelo.Add(new JProperty("IVA", NotaCreditoProveedor.IVA));
        pModelo.Add(new JProperty("Total", NotaCreditoProveedor.Total));
        pModelo.Add(new JProperty("Referencia", NotaCreditoProveedor.Referencia));
        pModelo.Add(new JProperty("SaldoDocumento", NotaCreditoProveedor.SaldoDocumento));
        CTipoMoneda TipoMoneda = new CTipoMoneda();

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

        pModelo.Add(new JProperty("TipoCambio", NotaCreditoProveedor.TipoCambio));
        pModelo.Add(new JProperty("Baja", NotaCreditoProveedor.Baja));

        return(pModelo);
    }
Example #2
0
    public static JObject ObtenerEgresos(JObject pModelo, int pIdEgresos, CConexion pConexion)
    {
        CEgresos Egresos = new CEgresos();

        Egresos.LlenaObjeto(pIdEgresos, pConexion);
        Boolean PuedeVerSaldo = false;

        pModelo.Add(new JProperty("IdEgresos", Egresos.IdEgresos));
        pModelo.Add(new JProperty("IdCuentaBancaria", Egresos.IdCuentaBancaria));
        pModelo.Add(new JProperty("IdProveedor", Egresos.IdProveedor));

        CTipoMoneda TipoMoneda = new CTipoMoneda();

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

        CCuentaBancaria CuentaBancaria = new CCuentaBancaria();

        CuentaBancaria.LlenaObjeto(Egresos.IdCuentaBancaria, pConexion);
        pModelo.Add(new JProperty("CuentaBancaria", CuentaBancaria.CuentaBancaria));
        pModelo.Add(new JProperty("Descripcion", CuentaBancaria.Descripcion));

        CBanco Banco = new CBanco();

        Banco.LlenaObjeto(CuentaBancaria.IdBanco, pConexion);
        pModelo.Add(new JProperty("Banco", Banco.Banco));
        pModelo.Add(new JProperty("Saldo", CuentaBancaria.Saldo));

        CMetodoPago MetodoPago = new CMetodoPago();

        MetodoPago.LlenaObjeto(Egresos.IdMetodoPago, pConexion);
        pModelo.Add(new JProperty("IdMetodoPago", MetodoPago.IdMetodoPago));
        pModelo.Add(new JProperty("MetodoPago", MetodoPago.MetodoPago));

        pModelo.Add(new JProperty("FechaEmision", Egresos.FechaEmision.ToShortDateString()));
        pModelo.Add(new JProperty("Folio", Egresos.Folio));

        pModelo.Add(new JProperty("Monto", Egresos.Importe));

        //OBTIENE EL TIPO DE CAMBIO EN DOLARES QUE SE GUARDO EN EL MOMENTO DE GENERAR LA NOTA DE CRÉDITO
        CTipoCambioDOFEgresos       TipoCambioEgresos = new CTipoCambioDOFEgresos();
        Dictionary <string, object> ParametrosTS      = new Dictionary <string, object>();

        ParametrosTS.Add("IdTipoMonedaOrigen", Convert.ToInt32(2));
        ParametrosTS.Add("IdTipoMonedaDestino", Convert.ToInt32(1));
        ParametrosTS.Add("IdEgresos", pIdEgresos);
        TipoCambioEgresos.LlenaObjetoFiltros(ParametrosTS, pConexion);

        if (Egresos.IdTipoMoneda == 2)
        {
            TipoCambioEgresos.TipoCambio = Egresos.TipoCambio;
        }
        ///////////////////////////////////////////////////////////////////////////////////////////////

        CEgresosEncabezadoFacturaProveedor EgresosEncabezadoFacturaProveedor = new CEgresosEncabezadoFacturaProveedor();

        if (Egresos.IdTipoMoneda == 1)
        {
            pModelo.Add(new JProperty("Importe", Egresos.Importe));
            pModelo.Add(new JProperty("ImporteDolares", Egresos.Importe / ((TipoCambioEgresos.TipoCambio == 0) ? 1 : TipoCambioEgresos.TipoCambio)));

            pModelo.Add(new JProperty("Disponible", Egresos.Importe - EgresosEncabezadoFacturaProveedor.TotalAbonosEgresos(Egresos.IdEgresos, pConexion)));
            pModelo.Add(new JProperty("DisponibleDolares", (Egresos.Importe / ((TipoCambioEgresos.TipoCambio == 0) ? 1 : TipoCambioEgresos.TipoCambio)) - (EgresosEncabezadoFacturaProveedor.TotalAbonosEgresos(Egresos.IdEgresos, pConexion) / ((TipoCambioEgresos.TipoCambio == 0) ? 1 : TipoCambioEgresos.TipoCambio))));
        }
        else
        {
            pModelo.Add(new JProperty("Importe", Egresos.Importe * TipoCambioEgresos.TipoCambio));
            pModelo.Add(new JProperty("ImporteDolares", Egresos.Importe));

            pModelo.Add(new JProperty("Disponible", (Egresos.Importe * TipoCambioEgresos.TipoCambio) - EgresosEncabezadoFacturaProveedor.TotalAbonosEgresos(Egresos.IdEgresos, pConexion)));
            pModelo.Add(new JProperty("DisponibleDolares", Egresos.Importe - (EgresosEncabezadoFacturaProveedor.TotalAbonosEgresos(Egresos.IdEgresos, pConexion) / ((TipoCambioEgresos.TipoCambio == 0) ? 1 : TipoCambioEgresos.TipoCambio))));
        }

        pModelo.Add(new JProperty("TipoCambio", TipoCambioEgresos.TipoCambio));

        CProveedor Proveedor = new CProveedor();

        Proveedor.LlenaObjeto(Egresos.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));
        pModelo.Add(new JProperty("Referencia", Egresos.Referencia));
        pModelo.Add(new JProperty("ConceptoGeneral", Egresos.ConceptoGeneral));
        pModelo.Add(new JProperty("FechaAplicacion", Egresos.FechaAplicacion.ToShortDateString()));
        if (Egresos.Conciliado)
        {
            pModelo.Add(new JProperty("FechaConciliacion", Egresos.FechaConciliacion.ToShortDateString()));
        }
        else
        {
            pModelo.Add(new JProperty("FechaConciliacion", DateTime.Now.ToShortDateString()));
        }

        pModelo.Add("Conciliado", Egresos.Conciliado);
        pModelo.Add("Asociado", Egresos.Asociado);

        CUsuarioCuentaBancaria      UsuarioCuentaBancaria = new CUsuarioCuentaBancaria();
        Dictionary <string, object> ParametrosP           = new Dictionary <string, object>();

        ParametrosP.Add("IdCuentaBancaria", Egresos.IdCuentaBancaria);
        ParametrosP.Add("IdUsuario", Convert.ToInt32(Egresos.IdUsuarioAlta));

        foreach (CUsuarioCuentaBancaria oCCuentaBancaria in UsuarioCuentaBancaria.LlenaObjetosFiltros(ParametrosP, pConexion))
        {
            PuedeVerSaldo = oCCuentaBancaria.PuedeVerSaldo;
        }
        pModelo.Add(new JProperty("PuedeVerSaldo", PuedeVerSaldo));

        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);
    }
    //Constructores

    //Metodos Especiales
    public static JObject ObtenerEncabezadoFacturaProveedor(JObject pModelo, int pIdEncabezadoFacturaProveedor, CConexion pConexion)
    {
        CEncabezadoFacturaProveedor EncabezadoFacturaProveedor = new CEncabezadoFacturaProveedor();

        EncabezadoFacturaProveedor.LlenaObjeto(pIdEncabezadoFacturaProveedor, pConexion);
        pModelo.Add(new JProperty("IdEncabezadoFacturaProveedor", EncabezadoFacturaProveedor.IdEncabezadoFacturaProveedor));
        pModelo.Add(new JProperty("IdProveedor", EncabezadoFacturaProveedor.IdProveedor));
        pModelo.Add(new JProperty("NumeroFactura", EncabezadoFacturaProveedor.NumeroFactura));

        CProveedor Proveedor = new CProveedor();

        Proveedor.LlenaObjeto(EncabezadoFacturaProveedor.IdProveedor, pConexion);

        CCondicionPago CondicionPago = new CCondicionPago();

        CondicionPago.LlenaObjeto(EncabezadoFacturaProveedor.IdCondicionPago, pConexion);
        pModelo.Add(new JProperty("IdCondicionPago", CondicionPago.IdCondicionPago));
        pModelo.Add(new JProperty("CondicionPago", CondicionPago.CondicionPago));

        COrganizacion Organizacion = new COrganizacion();

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

        CDivision Division = new CDivision();

        Division.LlenaObjeto(EncabezadoFacturaProveedor.IdDivision, pConexion);
        pModelo.Add(new JProperty("IdDivision", Division.IdDivision));
        pModelo.Add(new JProperty("Division", Division.Division));

        pModelo.Add(new JProperty("IdAlmacen", EncabezadoFacturaProveedor.IdAlmacen));
        CAlmacen Almacen = new CAlmacen();

        Almacen.LlenaObjeto(EncabezadoFacturaProveedor.IdAlmacen, pConexion);
        pModelo.Add(new JProperty("Almacen", Almacen.Almacen));

        CTipoMoneda TipoMoneda = new CTipoMoneda();

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

        pModelo.Add(new JProperty("FechaFactura", EncabezadoFacturaProveedor.Fecha.ToShortDateString()));
        pModelo.Add(new JProperty("FechaPago", EncabezadoFacturaProveedor.FechaPago.ToShortDateString()));
        pModelo.Add(new JProperty("NumeroGuia", EncabezadoFacturaProveedor.NumeroGuia));

        pModelo.Add(new JProperty("SubtotalFactura", EncabezadoFacturaProveedor.Subtotal));
        pModelo.Add(new JProperty("IVAFactura", EncabezadoFacturaProveedor.IVA));
        pModelo.Add(new JProperty("TotalFactura", EncabezadoFacturaProveedor.Total));
        pModelo.Add(new JProperty("TotalFacturaLetra", EncabezadoFacturaProveedor.TotalLetra));
        if (EncabezadoFacturaProveedor.IdEstatusEncabezadoFacturaProveedor == 1)
        {
            pModelo.Add(new JProperty("Estatus", "CANCELADA"));
        }
        else if (EncabezadoFacturaProveedor.IdEstatusEncabezadoFacturaProveedor == 2)
        {
            pModelo.Add(new JProperty("Estatus", "PAGADA PARCIAL"));
        }
        else if (EncabezadoFacturaProveedor.IdEstatusEncabezadoFacturaProveedor == 3)
        {
            pModelo.Add(new JProperty("Estatus", "PAGADA TOTAL"));
        }
        else
        {
            pModelo.Add(new JProperty("Estatus", "PENDIENTE"));
        }

        pModelo.Add(new JProperty("IdEstatus", Convert.ToInt32(EncabezadoFacturaProveedor.IdEstatusEncabezadoFacturaProveedor)));

        pModelo.Add(new JProperty("TipoCambioFactura", EncabezadoFacturaProveedor.TipoCambio));

        // Cliente
        CDetalleFacturaProveedor DetalleFacturaProveedor = new CDetalleFacturaProveedor();
        CCliente      Cliente             = new CCliente();
        COrganizacion ClienteOrganizacion = new COrganizacion();

        // DANIEL
        Dictionary <string, object> Parametros = new Dictionary <string, object>();

        Parametros.Add("IdEncabezadoFacturaProveedor", EncabezadoFacturaProveedor.IdEncabezadoFacturaProveedor);
        DetalleFacturaProveedor.LlenaObjetoFiltros(Parametros, pConexion);

        /*
         * No se esta llenano bien el objeto DetalleFacturaProveedor
         * Siempre devuelve 0 el IdPedido aunque si devuelve bien el id del cliente
         * La el error esta en las lineas debajo de // Cotizacion
         */

        Cliente.LlenaObjeto(DetalleFacturaProveedor.IdCliente, pConexion);
        ClienteOrganizacion.LlenaObjeto(Cliente.IdOrganizacion, pConexion);
        pModelo.Add(new JProperty("Cliente", ClienteOrganizacion.RazonSocial));
        pModelo.Add(new JProperty("IdCliente", Cliente.IdCliente));
        Parametros.Clear();

        // Cotizacion
        pModelo.Add(new JProperty("Cotizaciones", CCotizacion.ObtenerPedidosClienteRecepcion(Cliente.IdCliente, DetalleFacturaProveedor.IdPedido, pConexion)));
        // linea de debug para ver el idPedido se se esta obteniendo.
        pModelo.Add(new JProperty("IdPedido", DetalleFacturaProveedor.IdPedido));


        return(pModelo);
    }
    public static JObject ObtenerNotaCreditoProveedorAsociarDocumentos(JObject pModelo, int pIdNotaCreditoProveedor, CConexion pConexion)
    {
        CNotaCreditoProveedor NotaCreditoProveedor = new CNotaCreditoProveedor();

        NotaCreditoProveedor.LlenaObjeto(pIdNotaCreditoProveedor, pConexion);
        pModelo.Add(new JProperty("IdNotaCreditoProveedor", NotaCreditoProveedor.IdNotaCreditoProveedor));

        CProveedor Proveedor = new CProveedor();

        Proveedor.LlenaObjeto(NotaCreditoProveedor.IdProveedor, pConexion);
        pModelo.Add(new JProperty("IdProveedor", Proveedor.IdProveedor));

        COrganizacion Organizacion = new COrganizacion();

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

        pModelo.Add(new JProperty("SerieNotaCredito", NotaCreditoProveedor.SerieNotaCredito));
        pModelo.Add(new JProperty("FolioNotaCredito", NotaCreditoProveedor.FolioNotaCredito));
        pModelo.Add(new JProperty("Descripcion", NotaCreditoProveedor.Descripcion));
        pModelo.Add(new JProperty("Fecha", NotaCreditoProveedor.Fecha.ToShortDateString()));
        pModelo.Add(new JProperty("Monto", NotaCreditoProveedor.Monto));
        pModelo.Add(new JProperty("PorcentajeIVA", NotaCreditoProveedor.PorcentajeIVA));
        pModelo.Add(new JProperty("IVA", NotaCreditoProveedor.IVA));
        pModelo.Add(new JProperty("Total", NotaCreditoProveedor.Total));
        pModelo.Add(new JProperty("Referencia", NotaCreditoProveedor.Referencia));
        pModelo.Add(new JProperty("SaldoDocumento", NotaCreditoProveedor.SaldoDocumento));
        CTipoMoneda TipoMoneda = new CTipoMoneda();

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


        //OBTIENE EL TIPO DE CAMBIO EN DOLARES DEL DIA ACTUAL//////////////////////////////////////////
        //CTipoCambio TipoCambio = new CTipoCambio();
        //Dictionary<string, object> ParametrosTS = new Dictionary<string, object>();
        //ParametrosTS.Add("Opcion", 1);
        //ParametrosTS.Add("IdTipoMonedaOrigen", Convert.ToInt32(2));
        //ParametrosTS.Add("IdTipoMonedaDestino", Convert.ToInt32(1));
        //ParametrosTS.Add("Fecha", DateTime.Today);
        //TipoCambio.LlenaObjetoFiltrosTipoCambio(ParametrosTS, pConexion);
        ///////////////////////////////////////////////////////////////////////////////////////////////

        //OBTIENE EL TIPO DE CAMBIO EN DOLARES QUE SE GUARDO EN EL MOMENTO DE GENERAR LA NOTA DE CRÉDITO
        CTipoCambioNotaCreditoProveedor TipoCambioNotaCreditoProveedor = new CTipoCambioNotaCreditoProveedor();
        Dictionary <string, object>     ParametrosTS = new Dictionary <string, object>();

        ParametrosTS.Add("Opcion", 1);
        ParametrosTS.Add("IdTipoMonedaOrigen", Convert.ToInt32(2));
        ParametrosTS.Add("IdTipoMonedaDestino", Convert.ToInt32(1));
        ParametrosTS.Add("IdNotaCreditoProveedor", pIdNotaCreditoProveedor);
        TipoCambioNotaCreditoProveedor.LlenaObjetoFiltros(ParametrosTS, pConexion);
        ///////////////////////////////////////////////////////////////////////////////////////////////

        CNotaCreditoProveedorEncabezadoFacturaProveedor NotaCreditoProveedorEncabezadoFacturaProveedor = new CNotaCreditoProveedorEncabezadoFacturaProveedor();

        if (NotaCreditoProveedor.IdTipoMoneda == 1)
        {
            pModelo.Add(new JProperty("Importe", NotaCreditoProveedor.Total));
            if (TipoCambioNotaCreditoProveedor.TipoCambio != 0)
            {
                pModelo.Add(new JProperty("ImporteDolares", NotaCreditoProveedor.Total / TipoCambioNotaCreditoProveedor.TipoCambio));
            }
            else
            {
                pModelo.Add(new JProperty("ImporteDolares", 0));
            }

            pModelo.Add(new JProperty("Disponible", NotaCreditoProveedor.Total - NotaCreditoProveedorEncabezadoFacturaProveedor.TotalAbonosNotaCreditoProveedor(NotaCreditoProveedor.IdNotaCreditoProveedor, pConexion)));
            if (TipoCambioNotaCreditoProveedor.TipoCambio != 0)
            {
                pModelo.Add(new JProperty("DisponibleDolares", (NotaCreditoProveedor.Total / TipoCambioNotaCreditoProveedor.TipoCambio) - (NotaCreditoProveedorEncabezadoFacturaProveedor.TotalAbonosNotaCreditoProveedor(NotaCreditoProveedor.IdNotaCreditoProveedor, pConexion) / TipoCambioNotaCreditoProveedor.TipoCambio)));
            }
            else
            {
                pModelo.Add(new JProperty("DisponibleDolares", 0));
            }
        }
        else
        {
            pModelo.Add(new JProperty("Importe", NotaCreditoProveedor.Total * TipoCambioNotaCreditoProveedor.TipoCambio));
            pModelo.Add(new JProperty("ImporteDolares", NotaCreditoProveedor.Total));

            pModelo.Add(new JProperty("Disponible", (NotaCreditoProveedor.Total * TipoCambioNotaCreditoProveedor.TipoCambio) - NotaCreditoProveedorEncabezadoFacturaProveedor.TotalAbonosNotaCreditoProveedor(NotaCreditoProveedor.IdNotaCreditoProveedor, pConexion)));
            if (TipoCambioNotaCreditoProveedor.TipoCambio != 0)
            {
                pModelo.Add(new JProperty("DisponibleDolares", NotaCreditoProveedor.Total - (NotaCreditoProveedorEncabezadoFacturaProveedor.TotalAbonosNotaCreditoProveedor(NotaCreditoProveedor.IdNotaCreditoProveedor, pConexion) / TipoCambioNotaCreditoProveedor.TipoCambio)));
            }
            else
            {
                pModelo.Add(new JProperty("DisponibleDolares", NotaCreditoProveedor.Total - (NotaCreditoProveedorEncabezadoFacturaProveedor.TotalAbonosNotaCreditoProveedor(NotaCreditoProveedor.IdNotaCreditoProveedor, pConexion))));
            }
        }

        pModelo.Add(new JProperty("TipoCambio", TipoCambioNotaCreditoProveedor.TipoCambio));

        return(pModelo);
    }