예제 #1
0
    public int hacerFacturaPagaTerminada(int ventaId)
    {
        int facturaId = 0;
        List <FoodGood.Factura.Factura> listaFactura      = FacturaBLL.GetFacturaListForSearch("");
        List <Dosificacion>             listaDosificacion = DosificacionBLL.GetCarritoListForSearch("");

        FoodGood.Factura.Factura objFactura = new FoodGood.Factura.Factura();
        Venta objventa = VentaBLL.GetVentaById(ventaId);

        listaDosificacion = listaDosificacion.OrderByDescending(p => p.DosificacionId).ToList();
        string numeroFacturaString = "";

        if (listaFactura != null && listaFactura.Count > 0)
        {
            listaFactura = listaFactura.OrderByDescending(p => p.FacturaId).ToList();
            int numeroFactura = Convert.ToInt32(listaFactura[0].Numero) + 1;
            if (numeroFactura <= listaDosificacion[0].Hasta)
            {
                numeroFacturaString           = Convert.ToString(numeroFactura);
                objFactura.Numero             = numeroFacturaString;
                objFactura.Nombre             = Resources.InitMasterPage.NombreFactura;
                objFactura.Nit                = Resources.InitMasterPage.Nit;
                objFactura.Fecha              = objventa.FechaPedido;
                objFactura.FechaLimiteEmision = listaDosificacion[0].FechaFinal;
                objFactura.CodigoAutorizacion = listaDosificacion[0].NumeroAutorizacion;
                //me faltaria llenar el codigo de control y la ventaId
            }
            else
            {
                ScriptManager.RegisterClientScriptBlock(this, GetType(), "alertMessage", @"alert('tu pedido no pudo ser exitoso intentelo mas tarde.Gracias ')", true);
                return(facturaId);
            }
        }
        else
        {
            int numeroFactura = Convert.ToInt32(listaDosificacion[0].Desde) + 1;
            numeroFacturaString           = Convert.ToString(numeroFactura);
            objFactura.Numero             = numeroFacturaString;
            objFactura.Nombre             = Resources.InitMasterPage.NombreFactura;
            objFactura.Nit                = Resources.InitMasterPage.Nit;
            objFactura.Fecha              = objventa.FechaPedido;
            objFactura.FechaLimiteEmision = listaDosificacion[0].FechaFinal;
            objFactura.CodigoAutorizacion = listaDosificacion[0].NumeroAutorizacion;
            //me faltaria llenar el codigo de control y la ventaId
        }
        objFactura.VentaId = ventaId;
        string codigoControlGenerador = CodigoControl.generateControlCode(listaDosificacion[0].NumeroAutorizacion,
                                                                          objFactura.Numero, objFactura.Nit,
                                                                          objventa.FechaPedido.ToString("yyyyMMdd"),
                                                                          Convert.ToString(objventa.MontoTotal),
                                                                          listaDosificacion[0].LlaveDosificacion);
        string letraMonto = NumeroALetra.ConvertirNumeroAPalabras(objventa.MontoTotal);

        objFactura.MontoPalabra  = letraMonto;
        objFactura.CodigoControl = codigoControlGenerador;
        facturaId = FacturaBLL.InsertFactura(objFactura);
        return(facturaId);
    }
예제 #2
0
    private int cargarQRCode(int facturaId)
    {
        string Nit                          = "";
        string numeroFactura                = "";
        string numeroAutorizacion           = "";
        string fechapedido                  = "";
        string montototal                   = "";
        string importeCreditoFiscal         = "";
        string codigocontrol                = "";
        string nitcomprador                 = "";
        string importeICE                   = "";
        string importeVentaNoGuardada       = "";
        string importeNoSujetoCreditoFiscal = "";
        string descuento                    = "";

        FoodGood.Factura.Factura objfactura = FacturaBLL.GetFacturaById(facturaId);
        Venta objventa = VentaBLL.GetVentaById(objfactura.VentaId);

        Nit                          = objfactura.Nit;
        numeroFactura                = objfactura.Numero;
        numeroAutorizacion           = objfactura.CodigoAutorizacion;
        fechapedido                  = objfactura.Fecha.ToString("yyyyMMdd");
        montototal                   = objventa.MontoTotal.ToString();
        importeCreditoFiscal         = objventa.MontoTotal.ToString();
        codigocontrol                = objfactura.CodigoControl;
        nitcomprador                 = objventa.Nit.ToString();
        importeVentaNoGuardada       = "0";
        importeICE                   = "0";
        importeNoSujetoCreditoFiscal = "0";
        descuento                    = "0";


        string codeQRArmado = Nit + "|" + numeroFactura + "|" + numeroAutorizacion + "|" + fechapedido + "|" + montototal
                              + "|" + importeCreditoFiscal + "|" + codigocontrol + "|" + nitcomprador + "|" + importeICE
                              + "|" + importeVentaNoGuardada + "|" + importeNoSujetoCreditoFiscal + "|" + descuento;

        //Nit | numeroFactura | numeroAutorizacion | fechapedido(dd / mm / yyyy) |
        //montototal | importeCreditoFiscal(montoTotal) | codigocontrol | nitcomprador |
        //importeICE(“0”) | importeVentaNoGuardada(“0”) | importeNoSujetoCreditoFiscal(if ((montoTotal - montoPagado) > 0.001))| descuento(“0”)
        ImageQRCode.ImageUrl = "~/GeneradoQR/QRGenerator.aspx?qrcode=" + codeQRArmado;

        //lleno los campos de la factura
        //lleno el precio total
        totalFacturaLabel.Text = Convert.ToString(objventa.MontoTotal);

        //lleno el nombre del cliente,fecha,nit
        nombreCliente.Text = objventa.NombreCliente + " " + objventa.ApellidoCliente;
        nitCliente.Text    = Convert.ToString(objventa.Nit);
        fechaCliente.Text  = objfactura.Fecha.ToString();

        //llenar dato de la empresa FoodGood
        numeroNitLabel.Text          = objfactura.Nit;
        numeroFacturaLabel.Text      = "000" + objfactura.Numero;
        numeroAurotizacionLabel.Text = objfactura.CodigoAutorizacion;


        //llenar el monto en palabras
        montoPalabraLabel.Text = objfactura.MontoPalabra;

        //llenar codigo control

        codigoControlLabel.Text = objfactura.CodigoControl;

        fechaLimiteEmisionLabel.Text = objfactura.FechaLimiteEmision.ToShortDateString();

        return(objfactura.VentaId);
    }