private void buttonAceptar_Click(object sender, EventArgs e)
        {
            using (var context = new VentasDBContext(Common.TenantData.tenant.ConnectionString))
            {
                context.Clientes.Include(x => x.SituacionIVA).Load();
                context.TiposComprobantesVenta.Load();

                tempComprobanteEncabezadoPie comprobante = new tempComprobanteEncabezadoPie();
                Cliente cliente = new Cliente();
                cliente = context.Clientes.Where(x => x.Id == ((Cliente)comboBoxClientes.SelectedItem).Id).SingleOrDefault();
                TipoComprobanteVenta tipo = new TipoComprobanteVenta();
                tipo = context.TiposComprobantesVenta.Where(x => x.Id == ((TipoComprobanteVenta)comboBoxComprobante.SelectedItem).Id).SingleOrDefault();



                comprobante.FechaEmision = dateTimePicker1.Value.Date;

                context.tempComprobantesEncabezadoPie.Add(comprobante);
                context.Clientes.Attach(cliente);
                context.TiposComprobantesVenta.Attach(tipo);

                Tenant empresa = new Tenant();
                using (var context2 = new TenantsDBContext())
                {
                    empresa = context2.Tenants.Find(Common.TenantData.tenant.Id);
                }

                comprobante.Cliente = cliente;
                comprobante.TiposComprobantesVenta = tipo;
                comprobante.Tenant = empresa;

                ComprobanteCargando = comprobante;

                try
                {
                    context.SaveChanges();
                }
                catch (Exception ex)
                { throw ex; }
            }
            panel1.Enabled = false;
        }
        private void buttonGuardar_Click(object sender, EventArgs e)
        {
            using (var context = new VentasDBContext(Common.TenantData.tenant.ConnectionString))
            {
                ComprobanteEncabezadoPie comprobante = new ComprobanteEncabezadoPie();
                Cliente cliente = new Cliente();
                cliente = context.Clientes.Where(x => x.Id == ((Cliente)comboBoxClientes.SelectedItem).Id).SingleOrDefault();
                TipoComprobanteVenta tipo = new TipoComprobanteVenta();
                tipo = context.TiposComprobantesVenta.Where(x => x.Id == ((TipoComprobanteVenta)comboBoxComprobante.SelectedItem).Id).SingleOrDefault();
                comprobante.FechaEmision = dateTimePicker1.Value.Date;
                comprobante.Neto21       = Neto21;
                comprobante.IVA21        = IVA21;
                comprobante.Neto27       = Neto27;
                comprobante.IVA27        = IVA27;
                comprobante.Exento       = Exento;
                comprobante.Total        = Total;

                comprobante.NumeroComprobante = NumeroComprobanteCargando;

                context.ComprobantesEncabezadoPie.Add(comprobante);
                context.Clientes.Attach(cliente);
                context.TiposComprobantesVenta.Attach(tipo);

                Tenant empresa = new Tenant();
                using (var context2 = new TenantsDBContext())
                {
                    empresa = context2.Tenants.Find(Common.TenantData.tenant.Id);
                }

                comprobante.Cliente = cliente;
                comprobante.TiposComprobantesVenta = tipo;
                comprobante.Tenant = empresa;

                try
                {
                    context.SaveChanges();
                }
                catch (Exception ex)
                { throw ex; }
            }
            using (var context = new VentasDBContext(Common.TenantData.tenant.ConnectionString))
            {
                //renglones
                context.Articulos.Include(x => x.TasaIVA).Load();
                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    ComprobanteRenglon     renglon = new ComprobanteRenglon();
                    tempComprobanteRenglon r       = (tempComprobanteRenglon)row.DataBoundItem;

                    ComprobanteEncabezadoPie compPadre = new ComprobanteEncabezadoPie();
                    compPadre = context.ComprobantesEncabezadoPie.Where(x => x.NumeroComprobante == NumeroComprobanteCargando).SingleOrDefault();

                    Articulo articulo = new Articulo();
                    articulo = context.Articulos.Where(x => x.Id == r.Articulo.Id).SingleOrDefault();


                    renglon.Cantidad = r.Cantidad;
                    renglon.Importe  = r.Importe;

                    context.ComprobantesRenglones.Add(renglon);

                    context.Articulos.Attach(articulo);
                    renglon.Articulo = articulo;
                    context.ComprobantesEncabezadoPie.Attach(compPadre);
                    renglon.ComprobanteEncabezadoPie = compPadre;

                    try
                    {
                        context.SaveChanges();
                    }
                    catch (Exception ex)
                    { throw ex; }
                }
            }
        }