public ActionResult DeleteConsumo(int id, FormCollection collection) { try { //Retornar o consumo Consumo obj = new ConsumoAdoDAO().RetornarPorId(id); //Verifica se existem itens de consumo, deleta se existir e atualiza o estoque atual de cada produto if (obj.ItensConsumo.Count > 0) { foreach (var objItemConsumo in obj.ItensConsumo) { //Exclui o item new ItemConsumoAdoDAO().ExcluirItemConsumo(objItemConsumo); //Atualiza produto após ter excluido o consumo int totalConsumido = new ItemConsumoAdoDAO().RetornarTotalConsumidoProd(objItemConsumo.Prod.Id); objItemConsumo.Prod.AtualizaEstoque(totalConsumido); new ProdutoDAO().Alterar(objItemConsumo.Prod); } } //Exclui o consumo apos excluir os itens e atualizar o produto new ConsumoAdoDAO().Excluir(obj); return(RedirectToAction("IndexConsumo")); } catch { return(View()); } }
public ActionResult EditItemConsumo(FormCollection collection) { try { //Pega o id do item selecionado no dropdownlist: O indice "ListaDropProdutos" da collection é o item selecionado int idProduto = Convert.ToInt32(collection["ListaDropProdutos"].ToString()); //Retornar o produto selecionado Produto objNovoProd = new ProdutoDAO().RetornarPorId(idProduto); //Cria e atualiza o itemConsumo a ser editado ItemConsumo objItemConsumo = new ItemConsumo(); UpdateModel(objItemConsumo); if (objNovoProd.Id == objItemConsumo.Prod.Id) { //Se o produto não foi alterado: Apenas atualizo a quantidade new ItemConsumoAdoDAO().AlterarItemConsumo(objItemConsumo); //Atualiza produto int totalConsumido = new ItemConsumoAdoDAO().RetornarTotalConsumidoProd(objItemConsumo.Prod.Id); Produto objProd = new ProdutoDAO().RetornarPorId(objItemConsumo.Prod.Id); objProd.AtualizaEstoque(totalConsumido); new ProdutoDAO().Alterar(objProd); } else { //Guardadno o produto antigo Produto prodAntigo = new ProdutoDAO().RetornarPorId(objItemConsumo.Prod.Id); //Atualizando o item com o novo produto objItemConsumo.Prod = objNovoProd; //Atualizo o item consumo na base new ItemConsumoAdoDAO().AlterarItemConsumo(prodAntigo, objItemConsumo); //Atualizo o novo produto int totalConsumidoNovoProd = new ItemConsumoAdoDAO().RetornarTotalConsumidoProd(objItemConsumo.Prod.Id); objNovoProd.AtualizaEstoque(totalConsumidoNovoProd); new ProdutoDAO().Alterar(objNovoProd); //Atualizo o produto antigo int totalConsumidoAntigoProd = new ItemConsumoAdoDAO().RetornarTotalConsumidoProd(prodAntigo.Id); prodAntigo.AtualizaEstoque(totalConsumidoAntigoProd); new ProdutoDAO().Alterar(prodAntigo); } return(View("DetailsConsumoCreateItens", new ConsumoAdoDAO().RetornarPorId(objItemConsumo.IdConsumo))); } catch { return(View()); } }
public ActionResult CreateItemConsumo(FormCollection collection) { try { //Pega o id do item selecionado no dropdownlist: o indice "ListaDropProdutos" da collection é o item selecionado int idProduto = Convert.ToInt32(collection["ListaDropProdutos"].ToString()); //Retornar o produto Produto objProd = new ProdutoDAO().RetornarPorId(idProduto); //Cria e atualiza o Item de Consumo ItemConsumo objItemConsumo = new ItemConsumo(); UpdateModel(objItemConsumo); objItemConsumo.Prod = objProd; /* Verifica se a chave IdConsumo + IdProduto já existe na relação de itens de consumo da base * -> Se não existir, incluir o item de consumo. -> Se existir, apresenta uma mensagem de erro. */ if (new ItemConsumoAdoDAO().RetornarItemConsumo(objItemConsumo.IdConsumo, objItemConsumo.Prod.Id) == null) { //Insere o item consumo na base new ItemConsumoAdoDAO().InserirItemConsumo(objItemConsumo); //Atualiza o produto após ter inserido o consumo int totalConsumido = new ItemConsumoAdoDAO().RetornarTotalConsumidoProd(objProd.Id); objProd.AtualizaEstoque(totalConsumido); new ProdutoDAO().Alterar(objProd); return(View("DetailsConsumoCreateItens", new ConsumoAdoDAO().RetornarPorId(objItemConsumo.IdConsumo))); } else { TempData["msgErroItemKey"] = String.Format("Produto já utilizado para este consumo. Escolha outro Produto."); ViewBag.ListaDropProdutos = new SelectList(new ProdutoDAO().RetornarTodos(), "Id", "Descricao", idProduto); return(View("CreateItemConsumo", objItemConsumo)); } } catch { return(View()); } }
public ActionResult EditProduto(int id, FormCollection collection) { try { // Cria o objeto e atualiza com os dados da model. O atributo EstoqueAtual não pode ser alterado pelo usuário Produto objProd = new Produto(); UpdateModel(objProd); //Atualiza o objeto produto após ter alterado o estoque inicial int totalConsumido = new ItemConsumoAdoDAO().RetornarTotalConsumidoProd(objProd.Id); objProd.AtualizaEstoque(totalConsumido); //Altera o produto na base new ProdutoDAO().Alterar(objProd); return(RedirectToAction("IndexProduto")); } catch { return(View()); } }
public ActionResult DeleteItemConsumo(int idConsumo, int idProduto, FormCollection collection) { try { //Cria obj Item Consumo ItemConsumo objItemConsumo = new ItemConsumoAdoDAO().RetornarItemConsumo(idConsumo, idProduto); //Excluir item consumo new ItemConsumoAdoDAO().ExcluirItemConsumo(objItemConsumo); //Atualiza produto após ter excluido o item de consumo int totalConsumido = new ItemConsumoAdoDAO().RetornarTotalConsumidoProd(idProduto); Produto objProd = new ProdutoDAO().RetornarPorId(idProduto); objProd.AtualizaEstoque(totalConsumido); new ProdutoDAO().Alterar(objProd); return(View("DetailsConsumoCreateItens", new ConsumoAdoDAO().RetornarPorId(objItemConsumo.IdConsumo))); } catch { return(View()); } }