public ActionResult Add(int productId)
        {
            var shoppingCart = (Dictionary<Models.Product.Product, int>)Session["ShoppingCart"] ??
                               new Dictionary<Models.Product.Product, int>();

            var productService = DependencyResolver.Current.GetService<ProductBusiness>();

            var product = new Models.Product.Product();

            var finded = false;

            foreach (var item in shoppingCart)
            {
                if(item.Key.ProductId == productId)
                {
                    product = item.Key;
                    finded = true;
                }
            }

            if(!finded)
            {
                product.InjectFrom(productService.GetInfo(productId));

                shoppingCart.Add(product, 1);
            }
            else
            {
                shoppingCart[product]++;
            }

            Session["ShoppingCart"] = shoppingCart;

            return RedirectToAction("Index");
        }
        public ViewResult Detail(int id)
        {
            var product = _business.GetInfo(id);

            var productModel = new Models.Product.Product();

            productModel.InjectFrom(product);

            return View("Index", productModel);
        }
        public ActionResult Edit(int productId)
        {
            var product = _productBusiness.GetInfo(productId);

            var model = new Models.Product.Product();

            model.InjectFrom(product);

            return View("NewProduct", model);
        }
        public ActionResult Desactive(int productId)
        {
            var product = _productBusiness.GetInfo(productId);

            product.Status = ProductStatus.Inative;

            _productBusiness.Update(product);

            var model = new Models.Product.Product();

            model.InjectFrom(product);

            return RedirectToAction("Index", "Admin");
        }
        public void AoAcessarAPaginaDeListagemDeProdutos_ComoFuncionarioDaLoja_OsProdutosEnviadosParaTelaDevemSerObjetosDoProjetoMVC()
        {
            var novaLista = new List<Models.Product.Product>();

            foreach (var produto in _listagemDeProdutosEntity)
            {
                var novoProduto = new Models.Product.Product();
                novoProduto.InjectFrom(produto);
                novaLista.Add(novoProduto);
            }

            StringAssert.AreEqualIgnoringCase(_listagemDeProdutosEntity[0].Name, novaLista[0].Name);
            StringAssert.AreEqualIgnoringCase(_listagemDeProdutosEntity[0].Author, novaLista[0].Author);
            StringAssert.AreEqualIgnoringCase(_listagemDeProdutosEntity[0].Publishing, novaLista[0].Publishing);
            Assert.AreEqual(_listagemDeProdutosEntity[0].Year, novaLista[0].Year);
            Assert.AreEqual(_listagemDeProdutosEntity[0].Category, novaLista[0].Category);
            Assert.AreEqual(_listagemDeProdutosEntity[0].Stock, novaLista[0].Stock);
            Assert.AreEqual(_listagemDeProdutosEntity[0].Price, novaLista[0].Price);
            StringAssert.AreEqualIgnoringCase(_listagemDeProdutosEntity[0].Photo, novaLista[0].Photo);
        }