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); }