Beispiel #1
0
        public async Task OnPostAsync()
        {
            var lan = await _lancheService.Obter(Lanche.Id);

            var ings = await _lancheService.ListarIngredientes();

            lan.Ingredientes.Clear();
            foreach (var ing in ings)
            {
                var ingrediente = Lanche.Ingredientes.Where(w => w.Id == ing.Id && w.Quantidade > 0).FirstOrDefault();

                if (ingrediente != null)
                {
                    ing.Quantidade = ingrediente.Quantidade;
                    lan.Ingredientes.Add(ing);
                }
            }

            var desconto = await _promocaoService.CalculaDesconto(lan);

            var pedido = new Pedido();

            var item = new Item()
            {
                Descricao  = lan.Nome,
                Quantidade = 1,
                Valor      = lan.Total
            };

            pedido.Itens.Add(item);

            if (desconto != null)
            {
                pedido.Descontos.Add(desconto);
            }


            await _pedidoService.Criar(pedido);

            Pedido = pedido;
        }
Beispiel #2
0
        //  public async Task<IActionResult> OnPostAsync() //(2)
        // {
        //     if(!ModelState.IsValid)
        //     {
        //         return Page();
        //     }

        //     //Some logic here…

        //     return RedirectToPage();
        // }
        public async Task OnPostAsync()
        {
            Lanche = await _lancheService.Obter(compra);

            Ingredientes = await _lancheService.ListarIngredientes();

            var defaultIngrediente = new Ingrediente {
                Quantidade = 0
            };

            Ingredientes = Ingredientes.GroupJoin(Lanche.Ingredientes,
                                                  i => i.Nome,
                                                  o => o.Nome,
                                                  (i, o) => new { i = i, o = o.DefaultIfEmpty(defaultIngrediente) })
                           .Select(s => new  Ingrediente {
                Id         = s.i.Id,
                Nome       = s.i.Nome,
                Valor      = s.i.Valor,
                Quantidade = s.o.Select(m => m.Quantidade).FirstOrDefault()
            })
                           .ToList();
        }