[HttpGet] //indicar que o dado é resgatado por URL public ActionResult AdicionarProduto(int id) { try { Produto produto = new Produto(); produto = referenciaServico.servicoProduto.ListarPorId(id); produto.ProdutoPromocao = new ProdutoPromocao(); produto.ProdutoPromocao.Promocao = new Promocao(); var promocao = referenciaServico.servicoProdutoPromocao.Listar().Where(x => x.ProdutoId == produto.Id && x.Ativa == true).FirstOrDefault(); if (promocao != null) { produto.ProdutoPromocao.Promocao.Titulo = promocao.Promocao.Titulo; } //criar um item para a cesta de compras ItemCesta item = new ItemCesta(); item.Produto = produto; //relacionando o item ao produto item.Quantidade = 1; //quantidade inicial... //Verificar se existe uma cesta de compras já em sessão CestaCompra cesta = new CestaCompra(); //inicializando o objeto cesta.Itens = new List <ItemCesta>(); //inicializando a lista if (Session["cesta"] != null) //verificando se já existe uma cesta em sessão { cesta = (CestaCompra)Session["cesta"]; //resgatando o conteudo da sessão } //adicionar o item na cesta... cesta.AddItem(item); //gravar em sessão Session.Add("cesta", cesta); } catch (Exception e) { ViewBag.Mensagem = e.Message; } return(RedirectToAction("Index")); //nome da página... }