using System; using System.Collections.Generic; using JetBrains.Annotations; using Volo.Abp; using Volo.Abp.Data; using Volo.Abp.Domain.Entities; namespace Volo.Docs.Projects { public class Project : AggregateRoot { /// /// Name of the project for display purposes. /// public virtual string Name { get; protected set; } /// /// A short name of the project to be seen in URLs. /// public virtual string ShortName { get; protected set; } /// /// The format of the document (e.g. "md" for Markdown, "html" for HTML). /// public virtual string Format { get; protected set; } /// /// The document for the initial page. /// public virtual string DefaultDocumentName { get; protected set; } /// /// The document to be used for the navigation menu (index). /// public virtual string NavigationDocumentName { get; protected set; } public virtual string MinimumVersion { get; set; } /// /// The source of the documents (e.g. Github). /// public virtual string DocumentStoreType { get; protected set; } public virtual string MainWebsiteUrl { get; set; } public virtual string LatestVersionBranchName { get; set; } protected Project() { ExtraProperties = new Dictionary(); } public Project( Guid id, [NotNull] string name, [NotNull] string shortName, [NotNull] string defaultDocumentName, [NotNull] string navigationDocumentName) { Id = id; Name = Check.NotNullOrWhiteSpace(name, nameof(name)); ShortName = Check.NotNullOrWhiteSpace(shortName, nameof(shortName)); DefaultDocumentName = Check.NotNullOrWhiteSpace(defaultDocumentName, nameof(defaultDocumentName)); NavigationDocumentName = Check.NotNullOrWhiteSpace(navigationDocumentName, nameof(navigationDocumentName)); ExtraProperties = new Dictionary(); } } }