public ActionResult DeleteConfirmed(int id)
        {
            item_pedido item_pedido = db.item_pedido.Find(id);

            db.item_pedido.Remove(item_pedido);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "id_item_pedido,valor_unitario_item,quantidade,valor_total_item,id_produto_fk,key_item")] item_pedido item_pedido)
 {
     if (ModelState.IsValid)
     {
         db.Entry(item_pedido).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.id_produto_fk = new SelectList(db.produto, "id_produto", "descricao_produto", item_pedido.id_produto_fk);
     return(View(item_pedido));
 }
        // GET: ItensPedido/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            item_pedido item_pedido = db.item_pedido.Find(id);

            if (item_pedido == null)
            {
                return(HttpNotFound());
            }
            return(View(item_pedido));
        }
        // GET: ItensPedido/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            item_pedido item_pedido = db.item_pedido.Find(id);

            if (item_pedido == null)
            {
                return(HttpNotFound());
            }
            ViewBag.id_produto_fk = new SelectList(db.produto, "id_produto", "descricao_produto", item_pedido.id_produto_fk);
            return(View(item_pedido));
        }
        public ActionResult DeletarItem(int pedidoId, int key, int produtoId)
        {
            item_pedido item_pedido = db.item_pedido.SingleOrDefault(
                x => x.id_item_pedido == pedidoId && x.key_pedido == key);

            if (item_pedido != null)
            {
                var produdo = db.produto.SingleOrDefault(x => x.id_produto == produtoId);

                var materiaAtual = db.estoque_materiaprima.SingleOrDefault(x => x.id_matprima == produdo.id_matprima).quant_atual;
                db.estoque_materiaprima.SingleOrDefault(x => x.id_matprima == produdo.id_matprima).quant_atual = materiaAtual + (produdo.QtdeMateriaUsada * item_pedido.quantidade);


                var qtdeAtual = db.estoque_produtoacabado.SingleOrDefault(x => x.id_produto == produtoId).quant_atual;
                db.estoque_produtoacabado.SingleOrDefault(x => x.id_produto == produtoId).quant_atual = qtdeAtual + item_pedido.quantidade;

                db.item_pedido.Remove(item_pedido);
                db.SaveChanges();
            }
            return(RedirectToAction("Details", new { id = pedidoId }));
        }
        public ActionResult FinalizarPedido([Bind(Include = "pedido_cod,cliente_cod,pedido_data,pedido_valor,pedido_obs,pedido_ent,endereco_cod,pedido_fpgto,pedido_troco")] pedido pedido)
        {
            //var Pedido = new pedido();
            pedido.cliente_cod = ObterPedido().Cliente.cliente_cod;
            if (ObterPedido().Endereco == null)
            {
                pedido.endereco_cod = null;
                pedido.pedido_ent   = "0";
            }
            else
            {
                pedido.endereco_cod = ObterPedido().Endereco.endereco_cod;
                pedido.pedido_ent   = "1";
            }

            pedido.pedido_data = DateTime.Now;
            var aux = pedido.pedido_data;

            pedido.pedido_valor = (float)ObterCarrinho().ObterValorTotal();

            /*if(pedido.pedido_fpgto == "0"){
             *  if(pedido.pedido_troco != null){
             *      if(pedido.pedido_troco <= pedido.pedido_valor){
             *          //Mensagem dizendo q o troco tem q ser maior q o valor total do pedido.
             *          if(pedido.endereco_cod == null)
             *          {
             *              //ModelState.AddModelError("pedido_troco", "O valor do troco deve ser maior que o valor total do pedido: " + pedido.pedido_valor);
             *
             *
             *              ViewBag.Message = "O valor do troco deve ser maior que o valor total do pedido: " + pedido.pedido_valor;
             *              return RedirectToAction("EscolheEndereco", "Pedido", "0");
             *          }
             *          else
             *          {
             *              //ModelState.AddModelError("pedido_troco", "O valor do troco deve ser maior que o valor total do pedido: " + pedido.pedido_valor);
             *              //
             *              ViewBag.Message = "O valor do troco deve ser maior que o valor total do pedido: " + pedido.pedido_valor;
             *              return RedirectToAction("EscolheEndereco", "Pedido", pedido.endereco_cod);
             *          }
             *
             *      }
             *  }
             * }*/

            var item_pedido = new item_pedido();

            ObterCarrinho().LimparCarrinho();
            try
            {
                if (ModelState.IsValid)
                {
                    db.pedido.Add(pedido);
                    db.SaveChanges();
                    var data = db.pedido.Max(x => x.pedido_cod);
                    {
                        var itens = ObterPedido()._ItemPedido;

                        foreach (var item in itens)
                        {
                            item_pedido.pedido_cod      = data;
                            item_pedido.produto_cod     = item.Produto.produto_cod;
                            item_pedido.item_pedido_qtd = item.Quantidade;
                            item_pedido.produto_valor   = (float)item.Produto.produto_preco;
                            item_pedido.produto_nome    = item.Produto.produto_nome;
                            db.item_pedido.Add(item_pedido);
                            db.SaveChanges();
                        }
                        ObterPedido().LimparPedido();
                    }
                    //return RedirectToAction("Pedidos", "Cliente", pedido.cliente_cod);
                    return(Redirect("~/Cliente/Pedidos/" + pedido.cliente_cod));
                }
            }
            catch (DbEntityValidationException ex)
            {
                foreach (var entityValidationErrors in ex.EntityValidationErrors)
                {
                    foreach (var dbValidationError in entityValidationErrors.ValidationErrors)
                    {
                        Trace.TraceInformation(" PropertyName: {0} ErrorMessage: {1} ", dbValidationError.PropertyName, dbValidationError.ErrorMessage);
                    }
                }
            };
            //return RedirectToAction("Pedidos", "Cliente", pedido.cliente_cod,);
            return(Redirect("~/Cliente/Pedidos/" + pedido.cliente_cod));
        }