using Core.Abstractions.DomainObjects;
using Core.DomainObjects.Pages;

namespace Core.DomainObjects.Documents {

  public class Content : DomainObjectDocumentBase<Content> {

    public Guid SiteId { get; set; }

    public string SiteName { get; set; }
    public string SiteUrl { get; set; }

    public Header Header { get; set; }

    public Localization Localization { get; set; }

    public List<Route> Routes { get; set; }
    public List<Route> AdminRoutes { get; set; }
    public List<Route> ServiceRoutes { get; set; }

    public List<MenuItem> TopMenu { get; set; }
    public List<MenuItem> SideMenu { get; set; }

    public HomePage HomePage { get; set; }

    public ShopCatalogPage ShopCatalog { get; set; }
    public ShopItemPage ShopItem { get; set; }
    public ShopCartPage ShopCart { get; set; }
    public ShopCheckoutPage ShopCheckout { get; set; }


    public BlogCatalogPage BlogCatalog { get; set; }
    public BlogItemPage BlogItem { get; set; }

    public SignInPage SignIn { get; set; }
    public SignUpPage SignUp { get; set; }

    public override int GetHashCode() {
      throw new NotImplementedException();
    }
  }
}
