Пример #1
0
        public DataTable ArmarExcel(string operacion, int flagExcel)
        {
            DataTable tablaExcel = new DataTable();

            //Validamos si es un reporte para Venta Minorista o para Compra
            if (flagExcel == Constants.COMPRA_EXCEL)
            {
                var numeroCompra = operacion.Split(',');

                Compra               compraInDB    = new Compra();
                CompraReporte        reporteTemp   = new CompraReporte();
                List <CompraReporte> compraReporte = new List <CompraReporte>();

                //Armamos la lista de compras para el reporte
                foreach (var item in numeroCompra)
                {
                    if (item != string.Empty)
                    {
                        compraInDB = compraBL.GetCompraByNumeroCompra(int.Parse(item));

                        //Guardamos los datos necesarios para el reporte
                        reporteTemp                 = new CompraReporte();
                        reporteTemp.ID              = compraInDB.NumeroCompra;
                        reporteTemp.Nombre          = compraInDB.Proveedor.Nombre == null ? " " : compraInDB.Proveedor.Nombre;
                        reporteTemp.Cuit            = compraInDB.Proveedor.Cuit == null ? " " : compraInDB.Proveedor.Cuit;
                        reporteTemp.Iibb            = compraInDB.Proveedor.Iibb == null ? " " : compraInDB.Proveedor.Iibb;
                        reporteTemp.Fecha           = compraInDB.Fecha.Date.ToString("dd/MM/yyyy");
                        reporteTemp.TipoFactura     = compraInDB.TipoFactura == null ? " " : compraInDB.TipoFactura;
                        reporteTemp.Factura         = compraInDB.Factura == null ? " " : compraInDB.Factura;
                        reporteTemp.SumaTotal       = String.Format("{0:c}", compraInDB.SumaTotal);
                        reporteTemp.DescuentoPorc   = compraInDB.DescuentoPorc;
                        reporteTemp.Descuento       = String.Format("{0:c}", compraInDB.Descuento);
                        reporteTemp.Subtotal        = String.Format("{0:c}", compraInDB.Subtotal);
                        reporteTemp.Iva             = compraInDB.Iva;
                        reporteTemp.ImporteIva      = String.Format("{0:c}", compraInDB.ImporteIva);
                        reporteTemp.ImporteIibbbsas = String.Format("{0:c}", compraInDB.ImporteIibbbsas);
                        reporteTemp.ImporteIibbcaba = String.Format("{0:c}", compraInDB.ImporteIibbcaba);
                        reporteTemp.ImportePercIva  = String.Format("{0:c}", compraInDB.ImportePercIva);
                        reporteTemp.Clasificacion   = compraInDB.Clasificacion.Nombre == null ? " " : compraInDB.Clasificacion.Nombre;
                        reporteTemp.Total           = String.Format("{0:c}", compraInDB.Total);


                        compraReporte.Add(reporteTemp);
                    }
                }

                //Generamos el datatable correspondiente
                tablaExcel.Columns.Add("Id", typeof(int));
                tablaExcel.Columns.Add("Proveedor", typeof(string));
                tablaExcel.Columns.Add("CUIT", typeof(string));
                tablaExcel.Columns.Add("IIBB", typeof(string));
                tablaExcel.Columns.Add("Mes Año", typeof(string));
                tablaExcel.Columns.Add("TIPO", typeof(string));
                tablaExcel.Columns.Add("Factura", typeof(string));
                tablaExcel.Columns.Add("Suma Total", typeof(string));
                tablaExcel.Columns.Add("Descuento %", typeof(double));
                tablaExcel.Columns.Add("Descuento", typeof(string));
                tablaExcel.Columns.Add("Subtotal", typeof(string));
                tablaExcel.Columns.Add("IVA", typeof(string));
                tablaExcel.Columns.Add("Importe IVA", typeof(string));
                tablaExcel.Columns.Add("IIBB BSAS", typeof(string));
                tablaExcel.Columns.Add("IIBB CABA", typeof(string));
                tablaExcel.Columns.Add("Percepción IVA", typeof(string));
                tablaExcel.Columns.Add("Clasificación", typeof(string));
                tablaExcel.Columns.Add("Total", typeof(string));

                foreach (var item in compraReporte)
                {
                    tablaExcel.Rows.Add(item.ID, item.Nombre, item.Cuit, item.Iibb, item.Fecha, item.TipoFactura, item.Factura, item.SumaTotal,
                                        item.DescuentoPorc, item.Descuento, item.Subtotal, item.Iva, item.ImporteIva, item.ImporteIibbbsas,
                                        item.ImporteIibbcaba, item.ImportePercIva, item.Clasificacion, item.Total);
                }

                //var info = CultureInfo.GetCultureInfo("es-AR");

                //var valor = String.Format(info, "{0:C}", 1332.05);

                // Here we add five DataRows.
                //table.Rows.Add(25, "Indocin", "David", valor);
                //table.Rows.Add(50, "Enebrel", "Sam", valor);
                //table.Rows.Add(10, "Hydralazine", "Christoff", valor);
                //table.Rows.Add(21, "Combivent", "Janet", valor);
                //table.Rows.Add(100, "Dilantin", "Melanie", valor);
            }
            else if (flagExcel == Constants.VENTA_MINORISTA_EXCEL)
            {
                var numeroVenta = operacion.Split(',');

                VentaMinorista               ventaMinoristaInDB    = new VentaMinorista();
                VentaMinoristaReporte        reporteTemp           = new VentaMinoristaReporte();
                List <VentaMinoristaReporte> ventaMinoristaReporte = new List <VentaMinoristaReporte>();

                //Armamos la lista de ventas para el reporte
                foreach (var item in numeroVenta)
                {
                    if (item != string.Empty)
                    {
                        ventaMinoristaInDB = ventaMinoristaBL.GetVentaMinoristaByNumeroVenta(int.Parse(item));

                        //Guardamos los datos necesarios para el reporte
                        reporteTemp                   = new VentaMinoristaReporte();
                        reporteTemp.ID                = ventaMinoristaInDB.NumeroVenta;
                        reporteTemp.Fecha             = ventaMinoristaInDB.Fecha.Date.ToString("dd/MM/yyyy") == null ? " " : ventaMinoristaInDB.Fecha.Date.ToString("dd/MM/yyyy");
                        reporteTemp.Local             = ventaMinoristaInDB.Local == null ? " " : ventaMinoristaInDB.Local;
                        reporteTemp.Importe_Informe_Z = String.Format("{0:c}", ventaMinoristaInDB.ImporteInformeZ);
                        reporteTemp.IVA               = Constants.IVA;
                        reporteTemp.Importe_IVA       = String.Format("{0:c}", ventaMinoristaInDB.ImporteIva);
                        reporteTemp.Factura_N         = ventaMinoristaInDB.NumFactura == null ? " " : ventaMinoristaInDB.NumFactura;
                        reporteTemp.Tipo_Factura      = ventaMinoristaInDB.TipoFactura == null ? " " : ventaMinoristaInDB.TipoFactura;
                        reporteTemp.Primer_Numero_Tic = ventaMinoristaInDB.PrimerNumeroTicket;
                        reporteTemp.Ultimo_Numero_Tic = ventaMinoristaInDB.UltimoNumeroTicket;



                        ventaMinoristaReporte.Add(reporteTemp);
                    }
                }

                //Generamos el datatable correspondiente
                tablaExcel.Columns.Add("Id", typeof(int));
                tablaExcel.Columns.Add("Fecha", typeof(string));
                tablaExcel.Columns.Add("Local", typeof(string));
                tablaExcel.Columns.Add("Importe Informe Z", typeof(string));
                tablaExcel.Columns.Add("IVA", typeof(string));
                tablaExcel.Columns.Add("Importe IVA", typeof(string));
                tablaExcel.Columns.Add("Factura nº", typeof(string));
                tablaExcel.Columns.Add("Tipo Factura", typeof(string));
                tablaExcel.Columns.Add("Primer Número Ticket", typeof(string));
                tablaExcel.Columns.Add("Último Número Ticket", typeof(string));

                foreach (var item in ventaMinoristaReporte)
                {
                    tablaExcel.Rows.Add(item.ID, item.Fecha, item.Local, item.Importe_Informe_Z, item.IVA, item.Importe_IVA, item.Factura_N,
                                        item.Tipo_Factura, item.Primer_Numero_Tic, item.Ultimo_Numero_Tic);
                }
            }

            return(tablaExcel);
        }
Пример #2
0
        public void CrearTxt(string ventas)
        {
            var numeroVentas = ventas.Split(',');

            VentaMinorista               ventaInDB    = new VentaMinorista();
            VentaMinoristaReporte        reporteTemp  = new VentaMinoristaReporte();
            List <VentaMinoristaReporte> ventaReporte = new List <VentaMinoristaReporte>();

            foreach (var item in numeroVentas)
            {
                if (item != string.Empty)
                {
                    ventaInDB = ventaMinoristaBL.GetVentaMinoristaByNumeroVenta(int.Parse(item));

                    //Guardamos los datos necesarios para el reporte
                    reporteTemp                   = new VentaMinoristaReporte();
                    reporteTemp.ID                = ventaInDB.ID;
                    reporteTemp.Fecha             = ventaInDB.Fecha.Date.ToString("dd/MM/yyyy");
                    reporteTemp.Local             = ventaInDB.Local;
                    reporteTemp.Importe_Informe_Z = String.Format("{0:c}", ventaInDB.ImporteInformeZ);
                    reporteTemp.IVA               = Constants.IVA;
                    reporteTemp.Importe_IVA       = String.Format("{0:c}", ventaInDB.ImporteIva);
                    reporteTemp.Factura_N         = ventaInDB.NumFactura;
                    reporteTemp.Tipo_Factura      = ventaInDB.TipoFactura;
                    reporteTemp.Primer_Numero_Tic = ventaInDB.PrimerNumeroTicket;
                    reporteTemp.Ultimo_Numero_Tic = ventaInDB.UltimoNumeroTicket;

                    ventaReporte.Add(reporteTemp);
                }
            }


            using (StringWriter sw = new StringWriter())
            {
                using (HtmlTextWriter hw = new HtmlTextWriter(sw))
                {
                    StringBuilder sb = new StringBuilder();

                    var tableFormatter = new TableFormatter();
                    //List<VentaMinoristaReporte> listaModif = new List<VentaMinoristaReporte>();

                    //foreach (var venta in ventaReporte)
                    //{
                    //    var obj = new VentaMinoristaReporte()
                    //    {
                    //        ID = venta.ID,
                    //        Fecha = venta.Fecha.Date,
                    //        Local = venta.Local,
                    //        Importe_Informe_Z = venta.Importe_Informe_Z,
                    //        IVA = venta.IVA,
                    //        Importe_IVA = venta.Importe_IVA,
                    //        Factura_N = venta.Factura_N,
                    //        Tipo_Factura = venta.Tipo_Factura,
                    //        Primer_Numero_Tic = venta.Primer_Numero_Tic,
                    //        Ultimo_Numero_Tic = venta.Ultimo_Numero_Tic
                    //    };

                    //    listaModif.Add(obj);
                    //}

                    sb.Append(tableFormatter.FormatObjects(ventaReporte));

                    //Export HTML String as PDF.
                    StringReader sr = new StringReader(sb.ToString());

                    string fecha = string.Format("{0}{1}{2}", DateTime.Now.Date.Day, DateTime.Now.Date.Month, DateTime.Now.Date.Year);

                    HttpContext.Current.Response.ContentType = "text/plain";
                    HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=ReporteVenta_" + fecha + ".txt");
                    HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
                    HttpContext.Current.Response.Write(sb.ToString());
                    HttpContext.Current.Response.End();
                }
            }
        }