FruitBank/Presentation/Nop.Web/Models/Catalog/TopMenuModel.cs

56 lines
1.9 KiB
C#

using Nop.Web.Framework.Models;
namespace Nop.Web.Models.Catalog;
public partial record TopMenuModel : BaseNopModel
{
public TopMenuModel()
{
Categories = new List<CategorySimpleModel>();
Topics = new List<TopicModel>();
}
public IList<CategorySimpleModel> Categories { get; set; }
public IList<TopicModel> Topics { get; set; }
public bool BlogEnabled { get; set; }
public bool NewProductsEnabled { get; set; }
public bool ForumEnabled { get; set; }
public bool DisplayHomepageMenuItem { get; set; }
public bool DisplayNewProductsMenuItem { get; set; }
public bool DisplayProductSearchMenuItem { get; set; }
public bool DisplayCustomerInfoMenuItem { get; set; }
public bool DisplayBlogMenuItem { get; set; }
public bool DisplayForumsMenuItem { get; set; }
public bool DisplayContactUsMenuItem { get; set; }
public bool UseAjaxMenu { get; set; }
public bool HasOnlyCategories => Categories.Any()
&& !Topics.Any()
&& !DisplayHomepageMenuItem
&& !(DisplayNewProductsMenuItem && NewProductsEnabled)
&& !DisplayProductSearchMenuItem
&& !DisplayCustomerInfoMenuItem
&& !(DisplayBlogMenuItem && BlogEnabled)
&& !(DisplayForumsMenuItem && ForumEnabled)
&& !DisplayContactUsMenuItem;
#region Nested classes
public partial record TopicModel : BaseNopEntityModel
{
public string Name { get; set; }
public string SeName { get; set; }
}
public partial record CategoryLineModel : BaseNopModel
{
public int Level { get; set; }
public bool ResponsiveMobileMenu { get; set; }
public CategorySimpleModel Category { get; set; }
}
#endregion
}