public ActionResult DetallePedido(long idPedido = 0)
        {
            EstadoNegocio estadoNegocio = new EstadoNegocio();
            List <Estado> estado;

            estado         = estadoNegocio.Listar();
            ViewBag.Estado = estado;

            DetalleCarritoNegocio detalleCarritoNegocio = new DetalleCarritoNegocio();

            DetalleCarrito        detalleCarrito;
            List <DetalleCarrito> listaDetalle;
            Pedido        pedido;
            PedidoNegocio pedidoNegocio = new PedidoNegocio();

            pedido = pedidoNegocio.BuscarPorId(idPedido);

            listaDetalle = detalleCarritoNegocio.BuscadorDeLong(idPedido);


            pedido.listaDetalle = listaDetalle;



            Usuario usuario;

            usuario = (Usuario)Session["user"];


            ViewBag.usuario = usuario;

            return(View(pedido)); // estoy mandando el model (el objeto a la vista)
        }
        public ActionResult Compra()
        {
            if (Session["TipoUsuario"] == null)
            {
                return(RedirectToAction("Login"));
            }


            List <ItemCarrito> listaCarrito;

            listaCarrito = (List <ItemCarrito>)Session["listaCarrito"];

            DetalleCarritoNegocio detalle = new DetalleCarritoNegocio();


            List <DetalleCarrito> detalleCarrito = detalle.Asignar(listaCarrito);

            Session["detalleCarrito"] = detalleCarrito;//me guardo lo que tengo en detalle que es TODO MENOS EL ID PEDIDO

            ViewBag.DetalleCarrito = detalleCarrito;
            decimal acu     = 0;
            decimal importe = 0;

            foreach (var item in detalleCarrito)
            {
                acu += item.PrecioActual;
            }

            acu         = (decimal)Session["importe"];
            ViewBag.Acu = acu;
            return(View());

            //PONER LOS DATOS DE LA PERSONA PARA CONFIRMAR LA COMPRA
        }
        public ActionResult ConfirmacionCompra()
        {
            string nombreTarjeta = Convert.ToString(Session["nombreTarjeta"]);



            byte formadePago = (byte)Session["formaDePago"];

            ViewBag.formadePago = formadePago;
            string debitoOcredito = Convert.ToString(Session["debitoOcredito"]);

            Usuario user = new Usuario();

            user = (Usuario)Session["user"];
            decimal importe = (decimal)Session["importe"];

            List <DetalleCarrito> detalleCarrito = (List <DetalleCarrito>)Session["detalleCarrito"];


            PedidoNegocio pedidoNegocio = new PedidoNegocio();
            Pedido        pedido        = new Pedido();

            pedido.tipoPago = new TipoPago();

            pedido.IdUsuario  = user.Id;
            pedido.Importe    = importe;
            pedido.IdEstado   = 1;
            pedido.IdTipoPago = formadePago;

            if (Session["debitoOcredito"] != null)
            {
                pedido.tipoPago.Nombre = debitoOcredito;
            }
            else if (Session["nombreTarjeta"] != null)
            {
                pedido.tipoPago.Nombre = nombreTarjeta;
            }



            pedidoNegocio.Agregar(pedido);

            DetalleCarrito detalledelCarrito = new DetalleCarrito();



            DetalleCarritoNegocio detalleNegocio = new DetalleCarritoNegocio();

            long valorDevuelto = pedidoNegocio.InsertarDetalle();

            detalledelCarrito.IdPedido = valorDevuelto;

            detalleNegocio.PasarDeLista_a_detalle(detalleCarrito, valorDevuelto);


            return(View());
        }
        public ActionResult Agregar(int IdAux) // aca viene por medio del href, con el id para agregar al carrito
        {
            ItemCarrito item;

            Producto producto;

            List <ItemCarrito> listaCarrito;

            producto = negocio.BuscarPorId(IdAux);



            DetalleCarritoNegocio negocioCarrito = new DetalleCarritoNegocio();

            item = negocioCarrito.Map(producto);



            if (Session["listaCarrito"] == null)
            {
                listaCarrito = new List <ItemCarrito>();
            }
            else
            {
                listaCarrito = (List <ItemCarrito>)Session["listaCarrito"];
            }
            ItemCarrito repe = new ItemCarrito();

            foreach (var itemCarrito in listaCarrito)
            {
                if (IdAux == itemCarrito.IdProducto)
                {
                    repe = itemCarrito;
                }
            }

            if (item.IdProducto != repe.IdProducto)
            {
                listaCarrito.Add(item);
                Session["listaCarrito"] = listaCarrito;
            }



            foreach (var itemProd in listaCarrito)
            {
                if (IdAux == itemProd.IdProducto)
                {
                    itemProd.CantidadItem++;
                }
            }

            return(RedirectToAction("Carrito"));
        }