using System;
using System.Collections.Generic;
using Qusion.Cms.Core.Domain;
using Qusion.WebApp.Areas.Qusion.Models.Classifications;

namespace Qusion.WebApp.Areas.Qusion.Models.Blogs
{
    /// <summary>
    /// Represent basic blog entry data for display in the list.
    /// </summary>
    public class BlogListModel
    {
        private IList<ClassificationListModel> _classifications = new List<ClassificationListModel>(); 

        /// <summary>
        /// Gets or sets blog unique identifier.
        /// </summary>
        public Guid ID { get; set; }

        /// <summary>
        /// Get or sets blog title.
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// Get or sets blog alias.
        /// </summary>
        public string Alias { get; set; }

        /// <summary>
        /// Get or sets blog owner.
        /// </summary>
        public DateTime? PublishedOn { get; set; }

        public DateTime? ExpiresOn { get; set; }

        /// <summary>
        /// Gets or sets blog summary.
        /// </summary>
        public string Summary { get; set; }

        /// <summary>
        /// Gets or sets number of posts.
        /// </summary>
        public int PostsCount {
            get; set; }


        public WorkflowStatus  Status { get; set; }

        public IList<ClassificationListModel> Classifications
        {
            get { return _classifications; }
            set { _classifications = value; }
        }
    }
}