Ejemplo n.º 1
0
        public async Task <Order> GetOrderAsync()
        {
            var orderId = httpHelper.GetOrderId();
            var order   = await dbSet
                          .Include(p => p.Itens)
                          .ThenInclude(i => i.Product)
                          .Include(c => c.Register)
                          .Where(o => o.Id == orderId)
                          .SingleOrDefaultAsync();

            if (order == null)
            {
                var claimsPrincipal = httpContextAccessor.HttpContext.User;
                // var clientId = userManager.GetUserId(claimsPrincipal);

                var clientId = claimsPrincipal.FindFirst("sub")?.Value;
                order = new Order(clientId);
                await dbSet.AddAsync(order);

                await context.SaveChangesAsync();

                httpHelper.SetOrderId(order.Id);
            }

            return(order);
        }