protected void btnGenerarOrden_Click(object sender, EventArgs e) { Usuario u = new Usuario(); u.Id = (int)Session["idusuario"]; u.Nombre = txtNombre.Text; u.Rut = txtRut.Text; u.Direccion = txtDireccion.Text; u.Telefono = txtTelefono.Text; u.Mail = txtEmail.Text.ToLower(); u.UpdatePorCliente(); //Actualizo el mail del usuario en la tabla acceso Acceso a = new Acceso(); a.UsuarioId = (int)Session["idusuario"]; a.Usuario = txtEmail.Text.ToLower(); a.ModificarMailPorCliente(); //Recupero la información actualizada del cliente. Usuario cliente = new Usuario(); cliente.ObtenerUsuario((int)Session["idusuario"]); //Generando Orden de Venta List <Usuario> vendedores = u.ObtenerIDVendedores(); Random rnd = new Random(); int idVendedor = rnd.Next(1, vendedores.Count); Venta venta = new Venta(); Venta tempventa = new Venta(); venta.TipoDocumento = cliente.TipoCliente; if (cliente.TipoCliente.Equals('B')) { venta.NumDocumento = tempventa.NuevoDocumentoBoleta() + 1; } else { venta.NumDocumento = tempventa.NuevoDocumentoFactura() + 1; } venta.FechaDocumento = DateTime.Parse(DateTime.Now.ToShortDateString()); venta.IdCliente = cliente.Id; venta.Total = int.Parse(lbNeto.Text); venta.UsuarioId = idVendedor; venta.CrearVentaOnline(); Venta otraVenta = new Venta(); int ventaID = otraVenta.ObtenerUltimoID(); List <Producto> lista = (List <Producto>)Session["carro"]; foreach (Producto temp in lista) { DetalleVenta dv = new DetalleVenta(); dv.Precio = temp.Precio; dv.Cantidad = temp.Cantidad; dv.VentaId = ventaID; dv.ProductoId = temp.Id; dv.CrearDetalleVenta(); } Session["usuario"] = u.ObtenerNombrePorId((int)Session["idusuario"]); HttpContext.Current.Session.Remove("carro"); panelPrincipal.Visible = false; lbNumOrden.Text = venta.NumDocumento.ToString(); panelProcesado.Visible = true; }