Exemplo n.º 1
0
        public async Task <Pedido> GetPedidoAsync()
        {
            var pedidoId = httpHelper.GetPedidoId();
            var pedido   =
                await dbSet
                .Include(p => p.Itens)
                .ThenInclude(i => i.Produto)
                .ThenInclude(prod => prod.Categoria)
                .Include(p => p.Cadastro)
                .Where(p => p.Id == pedidoId)
                .SingleOrDefaultAsync();

            if (pedido == null)
            {
                var clienteId = userManager.GetUserId(contextAccessor.HttpContext.User);
                pedido = new Pedido(httpHelper.GetCadastro(), clienteId);
                await dbSet.AddAsync(pedido);

                await context.SaveChangesAsync();

                httpHelper.SetPedidoId(pedido.Id);
            }

            return(pedido);
        }