コード例 #1
0
        // GET: EncomendaProduto
        public ActionResult Create(int?id)
        {
            EncomendaProdutoView EncomendaProdutoView = new EncomendaProdutoView()
            {
                encomenda           = getStandBy(),
                encomendaHasProduto = new Encomenda_has_Produto(),
                produto             = db.Produtoes.Find(id)
            };

            return(View(EncomendaProdutoView));
        }
コード例 #2
0
        public ActionResult Create([Bind(Include = "encomenda,encomendaHasProduto,produto")] EncomendaProdutoView encomendaProduto, int?id)
        {
            if (encomendaProduto != null)
            {
                encomendaProduto.encomenda = getStandBy();
                encomendaProduto.produto   = db.Produtoes.Find(id);
                var EncomendaId          = encomendaProduto.encomenda.id;
                var ProdCodBarras        = encomendaProduto.produto.codBarras;
                var encomendasHasProduto = db.Encomenda_has_Produto.Where(x =>
                                                                          x.Encomenda.Equals(EncomendaId) && x.Produto.Equals(ProdCodBarras));
                if (!encomendasHasProduto.Any())
                {
                    encomendaProduto.encomendaHasProduto.Encomenda = encomendaProduto.encomenda.id;
                    encomendaProduto.encomendaHasProduto.Produto   = encomendaProduto.produto.codBarras;
                    encomendaProduto.encomendaHasProduto.custo     =
                        encomendaProduto.produto.preco * encomendaProduto.encomendaHasProduto.quantidade;
                    //encomendaProduto.encomenda.Encomenda_has_Produto.Add(encomendaProduto.encomendaHasProduto);
                    //encomendaProduto.produto.Encomenda_has_Produto.Add(encomendaProduto.encomendaHasProduto);


                    if (ModelState.IsValid)
                    {
                        db.Encomenda_has_Produto.Add(encomendaProduto.encomendaHasProduto);
                        db.SaveChanges();
                        return(RedirectToAction("Index", "Produtoes"));
                    }
                }
                else
                {
                    encomendasHasProduto.First().quantidade += encomendaProduto.encomendaHasProduto.quantidade;
                    encomendasHasProduto.First().custo      += encomendaProduto.encomendaHasProduto.custo;

                    if (ModelState.IsValid)
                    {
                        db.Encomenda_has_Produto.AddOrUpdate(encomendasHasProduto.First());
                        db.SaveChanges();
                        return(RedirectToAction("Index", "Produtoes"));
                    }
                }
            }

            return(View(encomendaProduto));
        }