Example #1
0
        //GET
        public ActionResult DeleteBaixaProd(long?id, long bovinoId)
        {
            BaixaProduto baixa        = db.BaixaProdutos.Find(id);
            Confinamento confinamento = db.Confinamentos.FirstOrDefault(x => x.BovinoId == bovinoId);

            if (baixa != null)
            {
                var listaProd = db.Produtos.ToList();

                //Retornando os produtos ao estoque
                foreach (var item in baixa.Items)
                {
                    foreach (var prod in listaProd)
                    {
                        if (item.ProdutoId == prod.Id)
                        {
                            prod.Qtd += item.Qtd;
                        }
                        db.Entry(prod).State = EntityState.Modified;
                    }
                }

                confinamento.CustoTotal     -= baixa.ValorTotal;
                db.Entry(confinamento).State = EntityState.Modified;
                List <ItemsBaixaProduto> listaProdutos = db.ItemsBaixaProdutos.Where(x => x.BaixaProdutoId == id).ToList();
                db.ItemsBaixaProdutos.RemoveRange(listaProdutos);
                db.BaixaProdutos.Remove(baixa);
                db.SaveChanges();
                return(RedirectToAction("ListaProd", new { bovinoId = bovinoId }));
            }

            return(new HttpNotFoundResult());
        }
Example #2
0
        // GET: VendaProduto/Details/5
        public ActionResult DetalhesBaixaProd(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            BaixaProduto baixa = db.BaixaProdutos.Find(id);

            if (baixa == null)
            {
                return(HttpNotFound());
            }
            return(View(baixa));
        }
Example #3
0
        public ActionResult AddProd([Bind(Include = "Id,DtUtilizacao,BovinoId")] BaixaProduto baixaProduto)
        {
            items = (List <ItemsBaixaProduto>)Session["Items"];

            if (ModelState.IsValid && items.Count > 0 && baixaProduto.BovinoId > 0)
            {
                bool    retorno   = true;
                var     listaProd = db.Produtos.ToList();
                decimal vlrTotal  = 0;

                foreach (var item in items)
                {
                    foreach (var prod in listaProd)
                    {
                        if (item.ProdutoId == prod.Id)
                        {
                            if (item.Qtd > prod.Qtd)
                            {
                                retorno = false;
                            }
                            prod.Qtd -= item.Qtd;
                        }
                    }

                    vlrTotal += item.ValorTotal;
                }

                if (retorno)
                {
                    foreach (var item in items)
                    {
                        item.Produto = null;
                    }

                    baixaProduto.Items      = items;
                    baixaProduto.ValorTotal = vlrTotal;

                    Confinamento confinamento = db.Confinamentos.FirstOrDefault(i => i.BovinoId == baixaProduto.BovinoId);

                    if (confinamento != null)
                    {
                        confinamento.CustoTotal     += vlrTotal;
                        db.Entry(confinamento).State = EntityState.Modified;
                    }

                    //Persistindo os items e dando baixa no estoque de produtos
                    foreach (var item in listaProd)
                    {
                        db.Entry(item).State = EntityState.Modified;
                    }
                    db.BaixaProdutos.Add(baixaProduto);
                    db.SaveChanges();
                    return(RedirectToAction("ListaProd", new { bovinoId = baixaProduto.BovinoId }));
                }
            }

            Thread.Sleep(2000);
            ViewBag.ProdutoId = new SelectList(db.Produtos, "Id", "NomeProduto");
            ViewBag.ClienteId = new SelectList(db.Clientes, "Id", "Nome", baixaProduto.BovinoId);

            if (db.Produtos != null && db.Produtos.Count() != 0)
            {
                ViewBag.ProdutoQtd = db.Produtos.FirstOrDefault().Qtd;
                ViewBag.VlrCusto   = db.Produtos.FirstOrDefault().Valor.ToString("C");
            }

            return(View(baixaProduto));
        }