示例#1
0
        private void Grabar()
        {
            // Declaramos la lista de detalles de la factura
            List <FacturaDetalle> detalles = new List <FacturaDetalle>();

            // Recorremos el DataGridView y llenamos el objeto de tipo FacturaDetalle
            foreach (DataGridViewRow fila in dgvDetalle.Rows)
            {
                // Declaramos una variable de tipo FacturaDetalle
                FacturaDetalle detalle = new FacturaDetalle();

                // Llenamos el objeto detalle con los datos del DataGridView
                if (fila.Cells[0].Value != null)
                {
                    detalle.ProductoId = Convert.ToInt32(fila.Cells[0].Value);
                    detalle.Cantidad   = Convert.ToInt32(fila.Cells[3].Value);
                    detalle.Precio     = Convert.ToDecimal(fila.Cells[2].Value);

                    // Adicionamos el objeto detalle a la lista FacturaDetalle
                    detalles.Add(detalle);
                }
            }

            // Grabamos la factura (encabezado y detalle)
            using (var context = new FacturadorDBContext())
            {
                var factura = new Factura();
                factura.ClienteId  = Convert.ToInt32(cboClientes.SelectedValue.ToString());
                factura.FchEmision = Convert.ToDateTime(txtFecha.Text); //DateTime.Now;
                factura.Detalle    = detalles;
                factura.Total      = detalles.Sum(x => x.Precio * x.Cantidad);

                context.Add(factura);
                context.SaveChanges();
            }
        }
示例#2
0
        private void btnCrear_Click(object sender, EventArgs e)
        {
            ;
            object nvoProv;

            switch (cboOrigen.Text)
            {
            case "":
                Proveedor proveedor = new Proveedor();
                proveedor.Nombre = txtNombre.Text;
                proveedor.Correo = txtCorreo.Text;
                nvoProv          = proveedor;
                break;

            case "Nacional":
                ProveedorInterno proveedorInterno = new ProveedorInterno();
                proveedorInterno.Nombre = txtNombre.Text;
                proveedorInterno.Correo = txtCorreo.Text;
                nvoProv = proveedorInterno;
                break;

            default:
                ProveedorExterno proveedorExterno = new ProveedorExterno();
                proveedorExterno.Nombre = txtNombre.Text;
                proveedorExterno.Correo = txtCorreo.Text;
                proveedorExterno.Pais   = cboOrigen.Text;
                nvoProv = proveedorExterno;
                break;
            }

            using (var ctx = new FacturadorDBContext())
            {
                ctx.Add(nvoProv);
                ctx.SaveChanges();
            }
        }