コード例 #1
0
        public void AdicionarBebida(int quantidade, Produto bebida)
        {
            ItemPedido itemPedido = new ItemPedido(bebida, quantidade);

            itemPedido.Pedido = this;
            itemPedido.Validar();
            ItensPedidos.Add(itemPedido);
        }
コード例 #2
0
        public void AdicionarCalzone(int quantidade, Produto calzone)
        {
            ItemPedido itemPedido = new ItemPedido(calzone, quantidade);

            itemPedido.Pedido = this;
            itemPedido.Validar();
            ItensPedidos.Add(itemPedido);
        }
コード例 #3
0
        public ActionResult DeleteConfirmed(int id)
        {
            ItensPedidos itensPedidos = db.ItensPedidos.Find(id);

            db.ItensPedidos.Remove(itensPedidos);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #4
0
        public void AdicionarPizza(int quantidade, Produto pizza1, Produto pizza2 = null, Produto adicional = null)
        {
            ItemPedido itemPedido = new ItemPedido(pizza1, pizza2, adicional, quantidade);

            itemPedido.Pedido = this;
            itemPedido.Validar();
            ItensPedidos.Add(itemPedido);
        }
コード例 #5
0
 private ItensPedidos AptoParaAtualizarItens(ItensPedidos item)
 {
     if (!item.EstaConsistente())
     {
         return(item);
     }
     item = VerificarSeProdutoJaExisteNoPedidoAlteracao(item);
     return(item);
 }
コード例 #6
0
 private ItensPedidos AptoParaAdicionarItens(ItensPedidos item)
 {
     if (!item.EstaConsistente())
     {
         return(item);
     }
     item = VerificarSeProdutoJaExisteNoPedidoInclusao(item);
     return(item);
 }
コード例 #7
0
        private ItensPedidos VerificarSeProdutoJaExisteNoPedidoAlteracao(ItensPedidos item)
        {
            var itens = ObterItensPedidoProdutoEspecifico(item.IdProduto).FirstOrDefault(x => x.IdPedido == item.IdPedido && x.Id != item.Id);

            if (itens != null)
            {
                item.ListaErros.Add("Este produto já existe neste pedido!");
            }
            return(item);
        }
コード例 #8
0
 public ItensPedidos AtulizarItensPedidos(ItensPedidos item)
 {
     item = AptoParaAtualizarItens(item);
     if (item.ListaErros.Any())
     {
         return(item);
     }
     repopedidos.AtulizarItensPedidos(item);
     return(item);
 }
コード例 #9
0
 public ItensPedidos AdicionarItensPedidos(ItensPedidos item)
 {
     item = AptoParaAdicionarItens(item);
     if (item.ListaErros.Any())
     {
         return(item);
     }
     repopedidos.AdicionarItensPedidos(item);
     return(item);
 }
コード例 #10
0
        public override void Validate()
        {
            if (ItensPedidos.Any())
            {
                this.AdicionarCritica("warning: produto sem item");
            }

            if (string.IsNullOrEmpty(Cep))
            {
                this.AdicionarCritica("campo não pode estar vazio");
            }
        }
コード例 #11
0
 public override void Validate()
 {
     LimparMensagensValidacao();
     if (!ItensPedidos.Any())
     {
         AdicionarCritica("Item de pedido não pode ser vazio");
     }
     if (string.IsNullOrEmpty(CEP))
     {
         AdicionarCritica("CEP não pode ser nulo ou em branco");
     }
 }
コード例 #12
0
 public ActionResult Edit([Bind(Include = "Id,Quantidade,ValorTotal,PedidosId,ProdutosId")] ItensPedidos itensPedidos)
 {
     if (ModelState.IsValid)
     {
         db.Entry(itensPedidos).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.PedidosId  = new SelectList(db.Pedidos, "Id", "Id", itensPedidos.PedidosId);
     ViewBag.ProdutosId = new SelectList(db.Produtos, "Id", "Descricao", itensPedidos.ProdutosId);
     return(View(itensPedidos));
 }
コード例 #13
0
        // GET: ItensPedidos/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ItensPedidos itensPedidos = db.ItensPedidos.Find(id);

            if (itensPedidos == null)
            {
                return(HttpNotFound());
            }
            return(View(itensPedidos));
        }
コード例 #14
0
        public override void Validate()
        {
            LimparMensagensDeValidacao();

            if (IdCliente == null)
            {
                AdicionarMensagemDeValidacao("O Cliente deve ser informado.");
            }

            if (ItensPedidos == null || !ItensPedidos.Any())
            {
                AdicionarMensagemDeValidacao("Pedido não pode ficar sem itens.");
            }
        }
コード例 #15
0
        // GET: ItensPedidos/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ItensPedidos itensPedidos = db.ItensPedidos.Find(id);

            if (itensPedidos == null)
            {
                return(HttpNotFound());
            }
            ViewBag.PedidosId  = new SelectList(db.Pedidos, "Id", "Id", itensPedidos.PedidosId);
            ViewBag.ProdutosId = new SelectList(db.Produtos, "Id", "Descricao", itensPedidos.ProdutosId);
            return(View(itensPedidos));
        }
コード例 #16
0
        public override void Validate()
        {
            LimparMensagensValidacao();

            if (!ItensPedidos.Any())
            {
                MyString mensagemErro = new MyString("PEDIDO NÃO PODE FICAR SEM ITENS!");
                AdicionarMensagem(mensagemErro);

                if (string.IsNullOrEmpty(CEP))
                {
                    MyString msgErro = new MyString("PEDIDO NÃO PODE FICAR SEM ITENS!");
                    AdicionarMensagem(msgErro);
                }
            }
        }
コード例 #17
0
        public async Task <IActionResult> Post(ItensPedidos model)
        {
            try
            {
                _repo.Add(model);

                if (await _repo.SaveChangesAsync())
                {
                    return(Created($"/api/ItensPedidos/{model.Id}", model));
                }
            }
            catch (System.Exception)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, "Banco Dados Falhou"));
            }
            return(BadRequest());
        }
コード例 #18
0
        public ActionResult Create([Bind(Include = "Id,Quantidade,ValorTotal,PedidosId,ProdutosId")] ItensPedidos itensPedidos)
        {
            int PedidoId = (Int32)Session["PedidoId"];

            if (ModelState.IsValid)
            {
                Produtos prod = db.Produtos.Find(itensPedidos.ProdutosId);


                itensPedidos.PedidosId = (Int32)Session["PedidoId"];


                itensPedidos.ValorUnit  = prod.Valor;
                itensPedidos.ValorTotal = (itensPedidos.Quantidade * prod.Valor);
                db.ItensPedidos.Add(itensPedidos);
                db.SaveChanges();
            }

            return(RedirectToAction("Index", "ItensPedidos"));
        }
コード例 #19
0
        public async Task <IActionResult> Put(int Id, ItensPedidos model)
        {
            try
            {
                var itens = await _repo.GetItensPedidosAsyncById(Id);

                if (itens == null)
                {
                    return(NotFound());
                }

                _repo.Update(model);
                if (await _repo.SaveChangesAsync())
                {
                    return(Created($"/api/ItensPedidos/{model.Id}", model));
                }
            }
            catch (System.Exception)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, "Banco Dados Falhou"));
            }
            return(BadRequest());
        }
コード例 #20
0
        public ItensPedidos RemoverItensPedidos(ItensPedidos item)
        {
            var pedido = new Pedidos();

            pedido = pedido.VerificarSePedidoJaFoiEntregue(item.Pedido);
            if (!pedido.ListaErros.Any())
            {
                var itens = ObterItensPedido(item.IdPedido).ToList();
                if (itens.Count() > 1)
                {
                    repopedidos.RemoverItensPedidos(item);
                }
                else
                {
                    pedido = repopedidos.ObterPorId(item.IdPedido);
                    repopedidos.Remover(pedido);
                }
            }
            else
            {
                item.ListaErros.Add(pedido.ListaErros[0]);
            }
            return(item);
        }
コード例 #21
0
        public decimal ValorTotal()
        {
            var valorTotal = ItensPedidos.Sum(i => i.Produto.ValorVenda * i.Quantidade);

            return(valorTotal);
        }
コード例 #22
0
 public ItensPedidos RemoverItensPedidos(ItensPedidos item)
 {
     repopedidos.RemoverItensPedidos(item);
     return(item);
 }
コード例 #23
0
 public ItensPedidos AtulizarItensPedidos(ItensPedidos item)
 {
     repopedidos.AtulizarItensPedidos(item);
     return(item);
 }
コード例 #24
0
 public ItensPedidos AdicionarItensPedidos(ItensPedidos item)
 {
     repopedidos.AdicionarItensPedidos(item);
     return(item);
 }
コード例 #25
0
 public void RemoverItensPedidos(ItensPedidos item)
 {
     Db.ItensPedidos.Remove(item);
 }
コード例 #26
0
 public void AtulizarItensPedidos(ItensPedidos item)
 {
     Db.ItensPedidos.Update(item);
 }
コード例 #27
0
 public void AdicionarItensPedidos(ItensPedidos item)
 {
     Db.ItensPedidos.Add(item);
 }