Ejemplo n.º 1
0
    public static JObject ObtenerJsonSerieFactura(JObject pModelo, int pIdSerieFactura, CConexion pConexion)
    {
        CSerieFactura SerieFactura = new CSerieFactura();

        SerieFactura.LlenaObjeto(pIdSerieFactura, pConexion);
        pModelo.Add("IdSerieFactura", SerieFactura.IdSerieFactura);
        pModelo.Add("SerieFactura", SerieFactura.SerieFactura);
        pModelo.Add("Timbrado", SerieFactura.Timbrado);
        pModelo.Add("IdSucursal", SerieFactura.IdSucursal);
        pModelo.Add("EsParcialidad", SerieFactura.esParcialidad);
        pModelo.Add("EsVenta", SerieFactura.EsVenta);
        return(pModelo);
    }
Ejemplo n.º 2
0
    public static string ObtenerFormaAgregarFechaPago(int pIdGestionCobranza, int pIdFactura, string pFacturasSeleccionadas)
    {
        CConexion ConexionBaseDatos = new CConexion();
        string    respuesta         = ConexionBaseDatos.ConectarBaseDatosSqlServer();

        JObject oRespuesta = new JObject();
        JObject Modelo     = new JObject();

        Modelo.Add("Fecha", DateTime.Now.ToShortDateString());
        Modelo.Add("IdFactura", pIdFactura);
        Modelo.Add("IdGestionCobranza", pIdGestionCobranza);

        string[] facturasSeleccionadas = { };
        if (pFacturasSeleccionadas.Length > 0)
        {
            facturasSeleccionadas = pFacturasSeleccionadas.Split(',');
        }

        string foliosFacturas = "";

        foreach (string oIdFactura in facturasSeleccionadas)
        {
            int idFactura = Convert.ToInt32(oIdFactura);
            CFacturaEncabezado Factura = new CFacturaEncabezado();
            Factura.LlenaObjeto(idFactura, ConexionBaseDatos);

            CSerieFactura Serie = new CSerieFactura();
            Serie.LlenaObjeto(Factura.IdSerieFactura, ConexionBaseDatos);
            foliosFacturas = foliosFacturas + Serie.SerieFactura + "-" + Factura.NumeroFactura + ", ";
        }

        if (foliosFacturas.Length > 0)
        {
            foliosFacturas = foliosFacturas.Remove(foliosFacturas.Length - 2);
        }
        Modelo.Add("FoliosFacturas", foliosFacturas);
        oRespuesta.Add(new JProperty("Error", 0));
        oRespuesta.Add(new JProperty("Modelo", Modelo));
        ConexionBaseDatos.CerrarBaseDatosSqlServer();
        return(oRespuesta.ToString());
    }
Ejemplo n.º 3
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);
    }