Exemplo n.º 1
0
    //Constructores

    //Metodos Especiales

    //Formas de pago ingresos activos
    public static JArray ObtenerFormaPagoIngresos(CConexion pConexion)
    {
        CFormaPago FormaPago = new CFormaPago();
        Dictionary <string, object> pParametros = new Dictionary <string, object>();

        pParametros.Add("Baja", 0);
        JArray JAFormaPago = new JArray();

        foreach (CFormaPago oFormaPago in FormaPago.LlenaObjetosFiltros(pParametros, pConexion))
        {
            JObject JFormaPago = new JObject();
            JFormaPago.Add("Valor", oFormaPago.idFormaPago);
            JFormaPago.Add("Descripcion", oFormaPago.formaPago);

            JAFormaPago.Add(JFormaPago);
        }
        return(JAFormaPago);
    }
Exemplo n.º 2
0
    public static JObject ObtenerFacturaEncabezado(JObject pModelo, int pIdFacturaEncabezado, CConexion pConexion)
    {
        CFacturaEncabezado FacturaEncabezado = new CFacturaEncabezado();
        COrganizacion      Organizacion      = new COrganizacion();

        FacturaEncabezado.LlenaObjeto(pIdFacturaEncabezado, pConexion);
        pModelo.Add(new JProperty("IdFacturaEncabezado", FacturaEncabezado.IdFacturaEncabezado));
        pModelo.Add(new JProperty("IdCliente", FacturaEncabezado.IdCliente));

        CCliente Cliente = new CCliente();

        Cliente.LlenaObjeto(FacturaEncabezado.IdCliente, pConexion);

        pModelo.Add(new JProperty("IdOrganizacion", Cliente.IdOrganizacion));
        Organizacion.LlenaObjeto(Cliente.IdOrganizacion, pConexion);
        pModelo.Add(new JProperty("NombreComercial", Organizacion.NombreComercial));

        pModelo.Add(new JProperty("RegimenFiscal", FacturaEncabezado.RegimenFiscal));
        pModelo.Add(new JProperty("LugarExpedicion", FacturaEncabezado.LugarExpedicion));
        pModelo.Add(new JProperty("FechaEmision", FacturaEncabezado.FechaEmision.ToShortDateString()));
        pModelo.Add(new JProperty("RazonSocial", FacturaEncabezado.RazonSocial));
        pModelo.Add(new JProperty("RFC", FacturaEncabezado.RFC));
        pModelo.Add(new JProperty("IdCondicionPago", FacturaEncabezado.IdCondicionPago));
        pModelo.Add(new JProperty("CondicionPago", FacturaEncabezado.CondicionPago));
        pModelo.Add(new JProperty("IdMetodoPago", FacturaEncabezado.IdMetodoPago));
        pModelo.Add(new JProperty("MetodoPago", FacturaEncabezado.MetodoPago));

        CUsoCFDI usoCFDI = new CUsoCFDI();

        if (FacturaEncabezado.IdUsoCFDI == "" || FacturaEncabezado.IdUsoCFDI == null)
        {
            FacturaEncabezado.IdUsoCFDI = "3";
        }

        usoCFDI.LlenaObjeto(Convert.ToInt32(FacturaEncabezado.IdUsoCFDI), pConexion);
        pModelo.Add(new JProperty("IdUsoCFDI", usoCFDI.IdUsoCFDI));
        pModelo.Add(new JProperty("UsoCFDI", usoCFDI.ClaveUsoCFDI + " - " + usoCFDI.Descricpion));
        pModelo.Add(new JProperty("FechaPago", FacturaEncabezado.FechaPago.ToShortDateString()));
        pModelo.Add(new JProperty("Anticipo", FacturaEncabezado.Anticipo));

        CFacturaEncabezado FacturaRelacionada = new CFacturaEncabezado();

        FacturaRelacionada.LlenaObjeto(FacturaEncabezado.IdFacturaAnticipo, pConexion);
        string facturaR = Convert.ToString(FacturaRelacionada.NumeroFactura);

        pModelo.Add(new JProperty("FacturaRelacionada", (facturaR == "0")? "":facturaR));
        pModelo.Add(new JProperty("IdFacturaRelacionada", FacturaEncabezado.IdFacturaAnticipo));
        CTipoRelacion TipoRelacion = new CTipoRelacion();

        TipoRelacion.LlenaObjeto(FacturaEncabezado.idTipoRelacion, pConexion);
        pModelo.Add(new JProperty("TipoRelacion", TipoRelacion.Clave + " - " + TipoRelacion.Descripcion));
        pModelo.Add(new JProperty("IdTipoRelacion", FacturaEncabezado.IdTipoRelacion));

        // Obtener factura padre
        CFacturaEncabezadoSustituye FacturaSustituye = new CFacturaEncabezadoSustituye();
        Dictionary <string, object> ParametrosFS     = new Dictionary <string, object>();

        ParametrosFS.Add("IdFacturaSustituye", FacturaEncabezado.IdFacturaEncabezado);
        ParametrosFS.Add("Baja", 0);
        FacturaSustituye.LlenaObjetoFiltros(ParametrosFS, pConexion);

        string FolioPadre = "";

        if (FacturaSustituye.IdFacturaEncabezadoSustituye != 0)
        {
            CFacturaEncabezado FacturaPadre = new CFacturaEncabezado();
            FacturaPadre.LlenaObjeto(FacturaSustituye.IdFactura, pConexion);
            FolioPadre = FacturaPadre.Serie + FacturaPadre.NumeroFactura;
        }
        pModelo.Add("FolioHijo", FolioPadre);

        // Obtener factura hijo
        CFacturaEncabezadoSustituye SustituyeFactura = new CFacturaEncabezadoSustituye();
        Dictionary <string, object> ParametrosSF     = new Dictionary <string, object>();

        ParametrosSF.Add("IdFactura", FacturaEncabezado.IdFacturaEncabezado);
        ParametrosSF.Add("Baja", 0);
        SustituyeFactura.LlenaObjetoFiltros(ParametrosSF, pConexion);

        string FolioHijo = "";

        if (SustituyeFactura.IdFacturaEncabezadoSustituye != 0)
        {
            CFacturaEncabezado FacturaHijo = new CFacturaEncabezado();
            FacturaHijo.LlenaObjeto(SustituyeFactura.IdFacturaSustituye, pConexion);
            FolioHijo = FacturaHijo.Serie + FacturaHijo.NumeroFactura;
        }
        pModelo.Add("FolioPadre", FolioHijo);

        pModelo.Add(new JProperty("CalleFiscal", FacturaEncabezado.CalleFiscal));
        pModelo.Add(new JProperty("IdNumeroCuenta", FacturaEncabezado.IdNumeroCuenta));
        pModelo.Add(new JProperty("NumeroCuenta", FacturaEncabezado.NumeroCuenta));
        pModelo.Add(new JProperty("NumeroExteriorFiscal", FacturaEncabezado.NumeroExteriorFiscal));
        pModelo.Add(new JProperty("NumeroInteriorFiscal", FacturaEncabezado.NumeroInteriorFiscal));
        pModelo.Add(new JProperty("ColoniaFiscal", FacturaEncabezado.ColoniaFiscal));
        pModelo.Add(new JProperty("PaisFiscal", FacturaEncabezado.PaisFiscal));
        pModelo.Add(new JProperty("EstadoFiscal", FacturaEncabezado.EstadoFiscal));
        pModelo.Add(new JProperty("CodigoFiscal", FacturaEncabezado.CodigoPostalFiscal));
        pModelo.Add(new JProperty("MunicipioFiscal", FacturaEncabezado.MunicipioFiscal));
        pModelo.Add(new JProperty("LocalidadFiscal", FacturaEncabezado.LocalidadFiscal));
        pModelo.Add(new JProperty("ReferenciaFiscal", FacturaEncabezado.ReferenciaFiscal));

        pModelo.Add(new JProperty("CalleEntrega", FacturaEncabezado.CalleEntrega));
        pModelo.Add(new JProperty("NumeroExteriorEntrega", FacturaEncabezado.NumeroExteriorEntrega));
        pModelo.Add(new JProperty("NumeroInteriorEntrega", FacturaEncabezado.NumeroInteriorEntrega));
        pModelo.Add(new JProperty("ColoniaEntrega", FacturaEncabezado.ColoniaEntrega));
        pModelo.Add(new JProperty("PaisEntrega", FacturaEncabezado.PaisEntrega));
        pModelo.Add(new JProperty("EstadoEntrega", FacturaEncabezado.EstadoEntrega));
        pModelo.Add(new JProperty("CodigoPostalEntrega", FacturaEncabezado.CodigoPostalEntrega));
        pModelo.Add(new JProperty("MunicipioEntrega", FacturaEncabezado.MunicipioEntrega));
        pModelo.Add(new JProperty("LocalidadEntrega", FacturaEncabezado.LocalidadEntrega));
        pModelo.Add(new JProperty("ReferenciaEntrega", FacturaEncabezado.ReferenciaEntrega));
        pModelo.Add(new JProperty("EsRefactura", FacturaEncabezado.EsRefactura));

        pModelo.Add(new JProperty("IdDescuentoCliente", FacturaEncabezado.IdDescuentoCliente));
        pModelo.Add(new JProperty("DescuentoFacturaCliente", FacturaEncabezado.Descuento));
        pModelo.Add(new JProperty("PorcentajeDescuento", FacturaEncabezado.PorcentajeDescuento));

        pModelo.Add(new JProperty("FechaRequeridaFacturacion", FacturaEncabezado.FechaRequeridaFacturacion.ToShortDateString()));

        CSerieFactura SerieFactura = new CSerieFactura();

        SerieFactura.LlenaObjeto(FacturaEncabezado.IdSerieFactura, pConexion);
        pModelo.Add(new JProperty("IdSerieFactura", FacturaEncabezado.IdSerieFactura));
        pModelo.Add(new JProperty("SerieFactura", SerieFactura.SerieFactura));
        pModelo.Add(new JProperty("NumeroFactura", FacturaEncabezado.NumeroFactura));
        pModelo.Add(new JProperty("NumeroOrdenCompra", FacturaEncabezado.NumeroOrdenCompra));


        if (FacturaEncabezado.IdEstatusFacturaEncabezado == 2)
        {
            pModelo.Add(new JProperty("Estatus", "CANCELADA"));
        }
        else if (FacturaEncabezado.IdEstatusFacturaEncabezado == 3)
        {
            pModelo.Add(new JProperty("Estatus", "PAGADA PARCIAL"));
        }
        else if (FacturaEncabezado.IdEstatusFacturaEncabezado == 4)
        {
            pModelo.Add(new JProperty("Estatus", "PAGADA TOTAL"));
        }
        else
        {
            pModelo.Add(new JProperty("Estatus", "PENDIENTE"));
        }

        pModelo.Add(new JProperty("IdEstatus", Convert.ToInt32(FacturaEncabezado.IdEstatusFacturaEncabezado)));


        if (SerieFactura.Timbrado == true)
        {
            pModelo.Add(new JProperty("SerieTimbrado", 1));
        }
        else
        {
            pModelo.Add(new JProperty("SerieTimbrado", 0));
        }

        CTipoMoneda TipoMoneda = new CTipoMoneda();

        TipoMoneda.LlenaObjeto(FacturaEncabezado.IdTipoMoneda, pConexion);
        pModelo.Add(new JProperty("IdTipoMoneda", TipoMoneda.IdTipoMoneda));
        pModelo.Add(new JProperty("TipoMoneda", TipoMoneda.TipoMoneda));
        pModelo.Add(new JProperty("TipoCambio", FacturaEncabezado.TipoCambio));
        pModelo.Add(new JProperty("NumeroParcialidades", FacturaEncabezado.NumeroParcialidades));
        pModelo.Add(new JProperty("Parcialidades", FacturaEncabezado.Parcialidades));

        //FormaPago
        CFormaPago formaPago = new CFormaPago();

        string formPago = "";

        if (FacturaEncabezado.Parcialidades == true)
        {
            formaPago.LlenaObjeto(2, pConexion);
        }
        else
        {
            formaPago.LlenaObjeto(1, pConexion);
        }
        formPago = formaPago.FormaPago;
        pModelo.Add(new JProperty("FormaPago", formPago));

        CUsuario Usuario = new CUsuario();

        Usuario.LlenaObjeto(FacturaEncabezado.IdUsuarioAgente, pConexion);

        pModelo.Add(new JProperty("IdUsuarioAgente", FacturaEncabezado.IdUsuarioAgente));
        pModelo.Add(new JProperty("Agente", Usuario.Nombre + " " + Usuario.ApellidoPaterno + " " + Usuario.ApellidoMaterno));
        pModelo.Add(new JProperty("MotivoCancelacion", FacturaEncabezado.MotivoCancelacion));

        CDivision Division = new CDivision();

        Division.LlenaObjeto(FacturaEncabezado.IdDivision, pConexion);
        pModelo.Add(new JProperty("IdDivision", FacturaEncabezado.IdDivision));
        pModelo.Add(new JProperty("Division", Division.Division));
        pModelo.Add(new JProperty("Nota", FacturaEncabezado.Nota));
        pModelo.Add(new JProperty("Subtotal", FacturaEncabezado.Subtotal));
        pModelo.Add(new JProperty("Descuento", FacturaEncabezado.Descuento));
        pModelo.Add(new JProperty("SubtotalDescuento", FacturaEncabezado.Subtotal - FacturaEncabezado.Descuento));
        pModelo.Add(new JProperty("IVA", FacturaEncabezado.IVA));
        pModelo.Add(new JProperty("Total", FacturaEncabezado.Total));
        pModelo.Add(new JProperty("CantidadLetra", FacturaEncabezado.TotalLetra));



        CTxtTimbradosFactura        TxtTimbradosFactura = new CTxtTimbradosFactura();
        Dictionary <string, object> ParametrosTXT       = new Dictionary <string, object>();

        ParametrosTXT.Add("Folio", Convert.ToInt32(FacturaEncabezado.NumeroFactura));
        ParametrosTXT.Add("Serie", Convert.ToString(SerieFactura.SerieFactura));
        TxtTimbradosFactura.LlenaObjetoFiltros(ParametrosTXT, pConexion);

        if (TxtTimbradosFactura.IdTxtTimbradosFactura != 0)
        {
            pModelo.Add(new JProperty("IdTxtTimbradosFactura", TxtTimbradosFactura.IdTxtTimbradosFactura));
        }
        else
        {
            pModelo.Add(new JProperty("IdTxtTimbradosFactura", 0));
        }

        return(pModelo);
    }