public ActionResult Create(int idMontagem, ItemMontagemView itemMontagemView)
        {
            ItemMontagem item = new ItemMontagem();

            if (ModelState.IsValid)
            {
                var peca = repositorioPeca.Recuperar(itemMontagemView.PecaID);

                var montagem = repositorioMontagem.Recuperar(idMontagem);

                if (peca == null)
                {
                    ModelState.AddModelError(string.Empty, string.Format("A peça {0} não existe", itemMontagemView.PecaID));
                    ViewBag.Montagem = montagem;
                    return(View(itemMontagemView));
                }

                item.Peca       = peca;
                item.Quantidade = itemMontagemView.Quantidade;

                montagem.Itens.Add(item);
                repositorioMontagem.Atualizar(montagem);
                repositorioMontagem.Salvar();
                return(RedirectToAction("Index", new { idMontagem = idMontagem }));
            }
            return(View(itemMontagemView));
        }
        public ActionResult Create(int idMontagem)
        {
            var montagem = repositorioMontagem.Recuperar(idMontagem);

            ViewBag.Montagem = montagem;
            var itemMontagemView = new ItemMontagemView();

            return(View(itemMontagemView));
        }
        public ActionResult Edit(int idMontagem, int idItemMontagem, ItemMontagemView itemMontagemView)
        {
            var montagem = repositorioMontagem.Recuperar(idMontagem);
            var item     = montagem.Itens.SingleOrDefault(i => i.ItemMontagemID == idItemMontagem);

            item.Quantidade  = itemMontagemView.Quantidade;
            ViewBag.Montagem = montagem;
            if (TryUpdateModel(item))
            {
                repositorioMontagem.Atualizar(montagem);
                repositorioMontagem.Salvar();
                return(RedirectToAction("Index", new { idMontagem = idMontagem }));
            }
            return(View(itemMontagemView));
        }