public ActionResult BaixaLote(LoteViewModel model, int codigoLote) { var loteDAO = new LoteDAO(); var loteAtual = loteDAO.GetById(codigoLote); if (model.QuantidadeBaixa > loteAtual.QuantidadeProduto) { ModelState.AddModelError("", "Quantidade invalida"); return(View("ErroQuantidade")); } else { var lote = new Lote() { CodigoLote = loteAtual.CodigoLote, QuantidadeProduto = (loteAtual.QuantidadeProduto - model.QuantidadeBaixa), //Subtraindo a quantidade atual. }; loteDAO.Update(lote); var baixaDAO = new BaixaDAO(); var baixa = new Baixa() { DataBaixa = DateTime.Now, Lote_CodigoLote = loteAtual.CodigoLote, Produto_CodigoProduto = loteAtual.Produto_CodigoProduto, QuantidadeBaixa = model.QuantidadeBaixa, }; baixaDAO.Salva(baixa); return(RedirectToAction("Index")); } }