예제 #1
0
        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;
        }