// GET: CorpoNFE/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CorpoNFE corpoNFE = db.CorpoNFE.Find(id); var cabecalho = db.CabecalhoNFE.Where(x => x.NumNF == corpoNFE.NumNFE).FirstOrDefault(); if (corpoNFE == null) { return(HttpNotFound()); } var produto = db.Produtos.Where(x => x.Id == corpoNFE.Id_prod).First(); if (cabecalho.TipoNFE == "E") { produto.Quantidade = produto.Quantidade - corpoNFE.Quantidade; } else if (cabecalho.TipoNFE == "S") { produto.Quantidade = produto.Quantidade + corpoNFE.Quantidade; } db.Entry(produto).State = EntityState.Modified; db.CorpoNFE.Remove(corpoNFE); db.SaveChanges(); return(RedirectToAction("Produtos", "CabecalhoNFE", new { id = cabecalho.Id })); }
public ActionResult Create([Bind(Include = "Id,Id_NFE,NumNFE,Id_prod,Quantidade,CustoUnit,IPI,ICMS,ISS,ValorTotal")] CorpoNFE corpoNFE) { if (ModelState.IsValid) { //regras de imposto var IPI = corpoNFE.CustoUnit * (corpoNFE.IPI / 100); var ICMS = corpoNFE.CustoUnit * (corpoNFE.ICMS / 100); var ISS = corpoNFE.CustoUnit * (corpoNFE.ISS / 100); var valorTotal = (corpoNFE.Quantidade * corpoNFE.CustoUnit) + (IPI + ICMS + ISS); var valorUnitProduto = corpoNFE.CustoUnit + (IPI + ICMS + ISS); //get nota var idCabecalho = db.CabecalhoNFE.Where(x => x.NumNF == corpoNFE.NumNFE).FirstOrDefault(); //set novos campos corpoNFE.Id_NFE = idCabecalho.Id; corpoNFE.ValorTotal = valorTotal; //altera quantidade e valor do produto var produto = db.Produtos.Where(x => x.Id == corpoNFE.Id_prod).First(); if (idCabecalho.TipoNFE == "E") { produto.Quantidade = produto.Quantidade + corpoNFE.Quantidade; produto.CustoAtu = valorUnitProduto; } else if (idCabecalho.TipoNFE == "S") { produto.Quantidade = produto.Quantidade - corpoNFE.Quantidade; } db.Entry(produto).State = EntityState.Modified; db.CorpoNFE.Add(corpoNFE); db.SaveChanges(); return(RedirectToAction("Produtos", "CabecalhoNFE", new { id = corpoNFE.Id_NFE })); } return(View(corpoNFE)); }