// GET: VendaBovino/Delete/5
        public ActionResult Delete(long?id)
        {
            VendaBovino venda = db.VendaBovinos.Find(id);

            if (venda != null)
            {
                var listaBovinos = db.Confinamentos.Where(x => x.Vendido == true).ToList();

                //Retornando os bovinos ao confinamento
                foreach (var item in venda.Items)
                {
                    foreach (var bovino in listaBovinos)
                    {
                        if (item.BovinoId == bovino.BovinoId)
                        {
                            bovino.Vendido = false;
                        }
                        db.Entry(bovino).State = EntityState.Modified;
                    }
                }

                List <ItemsVendaBovino> listaVendaBovinos = db.ItemsVendaBovinos.Where(x => x.VendaBovinoId == id).ToList();
                db.ItemsVendaBovinos.RemoveRange(listaVendaBovinos);
                db.VendaBovinos.Remove(venda);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(new HttpNotFoundResult());
        }
        public ActionResult Create([Bind(Include = "Id,DtVenda,PrazoEntrega,ClienteId,TotalPedido")] VendaBovino vendaBovino)
        {
            items = (List <ItemsVendaBovino>)Session["Items"];

            if (ModelState.IsValid && items.Count > 0 && vendaBovino.ClienteId > 0)
            {
                List <Confinamento> confinamentos = new List <Confinamento>();
                decimal             totalPedido   = 0;

                foreach (var item in items)
                {
                    confinamentos.Add(db.Confinamentos.FirstOrDefault(x => x.BovinoId == item.BovinoId));
                    totalPedido += item.ValorUnitario;
                }

                foreach (var item in confinamentos)
                {
                    item.Vendido         = true;
                    db.Entry(item).State = EntityState.Modified;
                }

                foreach (var item in items)
                {
                    item.Bovino = null;
                }

                vendaBovino.Items       = items;
                vendaBovino.TotalPedido = totalPedido;
                db.VendaBovinos.Add(vendaBovino);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            Thread.Sleep(2000);
            List <Confinamento> listaConfinamento = db.Confinamentos.Include(a => a.Bovino).Where(b => b.Vendido == false).ToList();
            List <Bovino>       listaBovino       = new List <Bovino>();

            foreach (var item in listaConfinamento)
            {
                listaBovino.Add(item.Bovino);
            }

            if (db.Confinamentos != null && db.Confinamentos.Where(b => b.Vendido == false).Count() != 0)
            {
                ViewBag.VlrCusto = db.Confinamentos.Where(x => x.Vendido == false).FirstOrDefault().CustoTotal.ToString("C");
            }

            ViewBag.BovinoId  = new SelectList(listaBovino, "Id", "Brinco");
            ViewBag.ClienteId = new SelectList(db.Clientes, "Id", "Nome", vendaBovino.ClienteId);

            return(View(vendaBovino));
        }
        // GET: VendaBovino/Details/5
        public ActionResult Details(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            VendaBovino venda = db.VendaBovinos.Find(id);

            if (venda == null)
            {
                return(HttpNotFound());
            }
            return(View(venda));
        }