using Grand.Infrastructure.Models;
using Grand.Web.Models.Media;

namespace Grand.Web.Models.ShoppingCart
{
    public class MiniShoppingCartModel : BaseModel
    {
        public IList<ShoppingCartItemModel> Items { get; set; } = new List<ShoppingCartItemModel>();
        public int TotalProducts { get; set; }
        public string SubTotal { get; set; }
        public bool SubTotalIncludingTax { get; set; }
        public bool DisplayShoppingCartButton { get; set; }
        public bool DisplayCheckoutButton { get; set; }
        public bool CurrentCustomerIsGuest { get; set; }
        public bool AnonymousCheckoutAllowed { get; set; }
        public bool ShowProductImages { get; set; }


        #region Nested Classes

        public class ShoppingCartItemModel : BaseEntityModel
        {
            public string ProductId { get; set; }

            public string ProductName { get; set; }

            public string ProductSeName { get; set; }
            public string ProductUrl { get; set; }

            public int Quantity { get; set; }

            public string UnitPrice { get; set; }

            public string AttributeInfo { get; set; }

            public PictureModel Picture { get; set; } = new();
        }

        #endregion
    }
}