Ejemplo n.º 1
0
        // 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 }));
        }
Ejemplo n.º 2
0
        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));
        }