/// <summary>
        /// Gets the current shopping cart.
        /// </summary>
        /// <param name="services"></param>
        /// <returns>Returns the shopping cart.</returns>
        public static ShoppingCartBs GetCart(IServiceProvider services)
        {
            ISession     session = null;
            AppDbContext context = null;

            if (services != null)
            {
                context = (AppDbContext)services.GetService(typeof(AppDbContext));
                var httpContextAccessor = ((IHttpContextAccessor)services.GetRequiredService(typeof(IHttpContextAccessor)));
                if (httpContextAccessor != null)
                {
                    session = httpContextAccessor.HttpContext.Session;
                }
            }

            Guid cartId = session?.GetString("ShoppingCartId") != null ?
                          new Guid(session.GetString("ShoppingCartId")) : Guid.NewGuid();

            session.SetString("ShoppingCartId", cartId.ToString());

            var lstShoppingCartItemDto = new ShoppingCartItemBs(context).
                                         FindBy(c => c.ShoppingCart.Id == cartId && c.Status == true);

            return(new ShoppingCartBs(context)
            {
                ShoppingCartId = cartId,
                ShoppingCartItems = lstShoppingCartItemDto
            });
        }
 public ShoppingCartBs(AppDbContext appDbContext) : base(appDbContext)
 {
     _shoppingCartItemBs = new ShoppingCartItemBs(AppDbContext);
 }