Beispiel #1
0
        /// <summary>
        /// Metodo para crear el detalle de la compra para el pdf
        /// </summary>
        /// <returns></returns>
        /// <creo>Leslie González Vázquez</creo>
        /// <fecha creo>31/Mayo/2014</fecha creo>
        /// <modifico></modifico>
        /// <fecha modifico></fecha modifico>
        /// <causa modificacion></motivo modificacion>
        private DataTable Crear_Dt_Productos_Servicios_Detallados(DataTable Dt_Productos_Accesos, Cls_Apl_Principal_Negocio Negocio)
        {
            DataTable Dt_Detallado = new DataTable();
            DataRow   Fila         = null;
            Int32     Cantidad     = 0;
            int       i            = 0;

            String[] Accesos = null;
            String   Acceso  = String.Empty;

            try
            {
                if (Dt_Productos_Accesos != null)
                {
                    if (Dt_Productos_Accesos.Rows.Count > 0)
                    {
                        //creamos las columnas del datatable de detalles para el pdf
                        Dt_Detallado.Columns.Add("NO", typeof(Int32));
                        Dt_Detallado.Columns.Add("NOMBRE", typeof(String));
                        Dt_Detallado.Columns.Add("NO_ACCESO", typeof(String));
                        Dt_Detallado.Columns.Add("LUGAR_VENTA", typeof(String));
                        Dt_Detallado.Columns.Add("COSTO", typeof(String));
                        Dt_Detallado.Columns.Add("PRODUCTO", typeof(String));
                        Dt_Detallado.Columns.Add("CODIGO", typeof(String));
                        Dt_Detallado.Columns.Add("FECHA", typeof(String));
                        Dt_Detallado.Columns.Add("TIPO", typeof(String));
                        Dt_Detallado.Columns.Add("IMAGEN", typeof(Byte[]));
                        Dt_Detallado.Columns.Add("BARCODE", typeof(Byte[]));

                        //RECORREMOS EL DATATABLE PARA MANDAR LOS DETALLES
                        foreach (DataRow Dr in Dt_Productos_Accesos.Rows)
                        {
                            Cantidad = Convert.ToInt32(String.IsNullOrEmpty(Dr["CANTIDAD"].ToString()) ? "0" : Dr["CANTIDAD"]);
                            if (Dr["TIPO"].ToString().Trim().Equals("Producto"))
                            {
                                Accesos = Dr["ACCESOS"].ToString().Split(',');
                            }

                            for (i = 1; i <= Cantidad; i++)
                            {
                                Fila           = Dt_Detallado.NewRow();
                                Fila["NO"]     = i;
                                Fila["NOMBRE"] = Negocio.P_Nombre;
                                if (Dr["TIPO"].ToString().Trim().Equals("Producto"))
                                {
                                    Fila["NO_ACCESO"] = "*" + Accesos[i - 1].ToString().Trim() + "*";
                                }
                                else
                                {
                                    Fila["NO_ACCESO"] = "";
                                }
                                Fila["LUGAR_VENTA"] = "Internet";
                                Fila["COSTO"]       = String.Format("{0:c}", Dr["COSTO"]);
                                Fila["PRODUCTO"]    = Dr["DESCRIPCION"].ToString().Trim();
                                Fila["CODIGO"]      = Dr["CODIGO"].ToString().Trim();
                                Fila["FECHA"]       = String.Format("{0:dd/MMM/yyyy}", Negocio.P_Fecha_Inicio_Vigencia);
                                Fila["TIPO"]        = Dr["TIPO"].ToString().Trim();;
                                //Fila["IMAGEN"] = Cls_Metodos_Generales.Convertir_Imagen_Bytes(@Server.MapPath(ConfigurationManager.AppSettings["Imagen_Boleto"]), 200, 300);
                                string Ruta_Archivo = Obtener_Directorio_Compartido();
                                Ruta_Archivo  += "/Imagenes/WEB/Boleto.png";
                                Fila["IMAGEN"] = Cls_Metodos_Generales.Convertir_Imagen_Bytes(Ruta_Archivo, 200, 300);

                                Ean13 Codigo = new Ean13();
                                Codigo.ManufacturerCode = Accesos[i - 1].Trim().Substring(0, 5);
                                Codigo.ProductCode      = Accesos[i - 1].Trim().Substring(5, 5);
                                Codigo.ChecksumDigit    = "0";
                                Codigo.Scale            = 1.8f;
                                System.Drawing.Bitmap bmp = Codigo.CreateBitmap();

                                string Ruta_Codigo = Server.MapPath("~/Codigos/codigo.bmp");
                                bmp.Save(Ruta_Codigo);

                                Fila["BARCODE"] = ConversionImagen(Ruta_Codigo);

                                Dt_Detallado.Rows.Add(Fila);
                            }
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                throw new Exception("Error al generar la tabla detallada de productos y servicios. Error[" + Ex.Message + "]");
            }

            return(Dt_Detallado);
        }
Beispiel #2
0
        /// <summary>
        /// Metodo para generar el pdf
        /// </summary>
        /// <returns></returns>
        /// <creo>Leslie González Vázquez</creo>
        /// <fecha creo>31/Mayo/2014</fecha creo>
        /// <modifico></modifico>
        /// <fecha modifico></fecha modifico>
        /// <causa modificacion></motivo modificacion>
        private String Generar_Pdf(Cls_Apl_Principal_Negocio Negocio, DataTable Dt_Productos_Accesos)
        {
            DataTable Dt_Encabezado        = new DataTable();
            DataRow   Fila                 = null;
            DataSet   Ds_Reporte           = new DataSet();
            DataTable Dt_Detallado_Accesos = new DataTable();

            try
            {
                //creamos el encabezado del pdf
                Dt_Encabezado.Columns.Add("IMAGEN_ENCABEZADO", typeof(Byte[]));
                Dt_Encabezado.Columns.Add("NOMBRE", typeof(String));
                Dt_Encabezado.Columns.Add("ESTADO", typeof(String));
                Dt_Encabezado.Columns.Add("CUIDAD", typeof(String));
                Dt_Encabezado.Columns.Add("DOMICILIO", typeof(String));
                Dt_Encabezado.Columns.Add("CP", typeof(String));
                Dt_Encabezado.Columns.Add("EMAIL", typeof(String));
                Dt_Encabezado.Columns.Add("NO_TARJETA", typeof(String));
                Dt_Encabezado.Columns.Add("TELEFONO", typeof(String));
                Dt_Encabezado.Columns.Add("TOTAL", typeof(String));
                Dt_Encabezado.Columns.Add("LEYENDA", typeof(String));
                Dt_Encabezado.Columns.Add("FOLIO", typeof(String));

                Fila = Dt_Encabezado.NewRow();
                //Fila["IMAGEN_ENCABEZADO"] = Cls_Metodos_Generales.Convertir_Imagen_Bytes(@Server.MapPath(ConfigurationManager.AppSettings["Imagen_Encabezado_Reporte"]), 200, 300);
                string Ruta_Archivo = Obtener_Directorio_Compartido();
                Ruta_Archivo += "/Imagenes/WEB/EncabezadoPDF.png";
                Fila["IMAGEN_ENCABEZADO"] = Cls_Metodos_Generales.Convertir_Imagen_Bytes(Ruta_Archivo, 200, 300);

                Fila["NOMBRE"]     = Negocio.P_Nombre;
                Fila["ESTADO"]     = Negocio.P_Estado;
                Fila["CUIDAD"]     = Negocio.P_Ciudad;
                Fila["DOMICILIO"]  = Negocio.P_Domicilio;
                Fila["CP"]         = Negocio.P_Codigo_Postal;
                Fila["EMAIL"]      = Negocio.P_Email;
                Fila["NO_TARJETA"] = Negocio.P_Numero_Tarjeta;
                Fila["TELEFONO"]   = Negocio.P_Telefono;
                Fila["TOTAL"]      = String.Format("{0:c}", Convert.ToDouble(String.IsNullOrEmpty(Negocio.P_Total) ? "0" : Negocio.P_Total));
                Fila["LEYENDA"]    = Obtener_Leyenda_Boleto();
                Fila["FOLIO"]      = Negocio.P_No_Venta;
                Dt_Encabezado.Rows.Add(Fila);

                Dt_Detallado_Accesos = Crear_Dt_Productos_Servicios_Detallados(Dt_Productos_Accesos, Negocio);
                //filtramos solo los accesos por productos
                Dt_Detallado_Accesos = (from Fila_Det in Dt_Detallado_Accesos.AsEnumerable()
                                        where Fila_Det.Field <String>("TIPO") == "Producto"
                                        select Fila_Det).AsDataView().ToTable();


                // Renombra las tablas
                Dt_Encabezado.TableName        = "DT_ENCABEZADO";        //encabezado del reprote
                Dt_Detallado_Accesos.TableName = "DT_DETALLADO_ACCESOS"; //detalles de los accesos desglosado por unidad
                Dt_Productos_Accesos.TableName = "DT_PRODUCTOS_ACCESOS"; // productos de la compra

                Ds_Reporte.Tables.Add(Dt_Encabezado.Copy());
                Ds_Reporte.Tables.Add(Dt_Detallado_Accesos.Copy());
                Ds_Reporte.Tables.Add(Dt_Productos_Accesos.Copy());

                Generar_Reporte(ref Ds_Reporte, "Rpt_Detalles_Compra.rpt", "Entradas_Museo_" + Convert.ToInt32(String.IsNullOrEmpty(Negocio.P_No_Venta) ? "1" : Negocio.P_No_Venta) + ".pdf", "../Rpt/");
            }
            catch (Exception Ex)
            {
                throw new Exception("Error al generar el Pdf. Error[" + Ex.Message + ", " + Ex.InnerException + "]");
            }
            return("../Rpt/Entradas_Museo_" + Convert.ToInt32(String.IsNullOrEmpty(Negocio.P_No_Venta) ? "1" : Negocio.P_No_Venta) + ".pdf");
        }