コード例 #1
0
        /// <summary>
        /// Funcion encargada de llenar el control DataGridView
        /// <autor>Martin Lopez Jordan</autor>
        /// </summary>
        /// <returns>Una lista generica de la clase artículo</returns>
        private static List<EArticulo> FillDgv()
        {
            //
            //Cree una lista generica de la entidad EArticulo
            //
            List<EArticulo> listaArticulos = new List<EArticulo>();

            //
            //Instancie la clase EArticulo para agregar datos a la lista
            //
            EArticulo item = new EArticulo
            {
                //Establezca valores a cada una de las propiedades
                Numero = 1,
                Upc = "7501020405680",
                Descripcion = "Descripción del artículo 1",
                Piezas = 6,
                Precio = new decimal(12.50),
                Importe = (decimal)(6 * 12.5),
            };
            //
            //Agregamos el Item a la lista
            //
            listaArticulos.Add(item);

            EArticulo item1 = new EArticulo
            {
                Numero = 2,
                Upc = "7501040805610",
                Descripcion = "Descripción del artículo 2",
                Piezas = 3,
                Precio = new decimal(22.50),
                Importe = (decimal)(3 * 22.5),
            };
            listaArticulos.Add(item1);

            EArticulo item2 = new EArticulo
            {
                Numero = 3,
                Upc = "0412200805610",
                Descripcion = "Descripción del artículo 3",
                Piezas = 20,
                Precio = new decimal(52.80),
                Importe = (decimal)(20 * 52.80),
            };
            listaArticulos.Add(item2);

            return listaArticulos;
        }
コード例 #2
0
        private void InvoiceGenerate()
        {
            //
            //Hacemos una instancia de la clase EFactura para
            //llenarla con los valores contenidos en los controles del Formulario
            EFactura invoice = new EFactura();
            invoice.Numero = Convert.ToInt32(txtnumero.Text);
            invoice.Nombre = txtnombre.Text;
            invoice.IVA = txtrfc.Text;
            invoice.Direccion = txtdireccion.Text;
            invoice.FechaFacturacion = dtpfecha.Value.Date;
            invoice.Subtotal = Convert.ToDecimal(txtsubtotal.Text);
            invoice.Iva = Convert.ToDecimal(txtsubtotal.Text);
            invoice.Total = Convert.ToDecimal(txttotal.Text);
            invoice.CUIT = txtcuit.Text;

            //Recorremos los Rows existentes actualmente en el control DataGridView
            //para asignar los datos a las propiedades
            foreach (DataGridViewRow row in dgvdetalle.Rows)
            {
                EArticulo article = new EArticulo();
                //
                //Vamos tomando los valores de las celdas del row que estamos 
                //recorriendo actualmente y asignamos su valor a la propiedad de la clase intanciada
                //
                article.Numero = Convert.ToInt32(row.Cells["columnNumero"].Value);
                article.Upc = Convert.ToString(row.Cells["columnUpc"].Value);
                article.Descripcion = Convert.ToString(row.Cells["columnDescripcion"].Value);
                article.Piezas = Convert.ToDecimal(row.Cells["columnPiezas"].Value);
                article.Precio = Convert.ToDecimal(row.Cells["columnPrecio"].Value);
                article.Importe = Convert.ToDecimal(row.Cells["columnImporte"].Value);

                //
                //Vamos agregando el Item a la lista del detalle
                //
                invoice.Detail.Add(article);
            }

            //
            //Creamos una instancia del Formulario que contiene nuestro
            //ReportViewer
            //
            FacturaRpt frm = new FacturaRpt();
            //
            //Usamos las propiedades publicas del formulario, aqui es donde enviamos el valor
            //que se mostrara en los parametros creados en el LocalReport, para este ejemplo
            //estamos Seteando los valores directamente pero usted puede usar algun control
            //
            frm.Titulo = "Código Nro: 03";
            frm.Empresa = "Mundo Renault";
            frm.FecVto = "02/01/2017";
            frm.CAI = "41180015971823";
            frm.Cuit = "30-59422378-7";
            frm.InicioAct = "29/03/2008";
            frm.DirEmpresa = "Av.Pellegrini 3971, Rosario, Santa Fe";
            frm.TelEmpresa = "(0341) 432-8098";

            //
            //Recuerde que invoice es una Lista Generica declarada en el FacturaRtp, es una lista
            //porque el origen de datos del LocalReport unicamente permite ser enlazado a objetos que 
            //implementen IEnumerable.
            //
            //Usamos el metod Add porque Invoice es una lista e invoice es una entidad simple
            frm.Invoice.Add(invoice);
            //
            //Enviamos el detalle de la Factura, como Detail es una lista e invoide.Details tambien
            //es un lista del tipo EArticulo bastara con igualarla
            //
            frm.Detail = invoice.Detail;
            frm.Show();
        }