using System;
using System.ComponentModel.DataAnnotations;

namespace Qusion.WebApp.Areas.Qusion.Models.Blogs
{
    /// <summary>
    /// Represent model with the data necessary for editing post.
    /// </summary>
    public class PostEidtModel
    {
        /// <summary>
        /// Gets or sets post id.
        /// </summary>
        public Guid ID { get; set; }

        /// <summary>
        /// Gets or sets post title.
        /// </summary>
        [Required(ErrorMessage = "blogs.required_title")]
        public string Title { get; set; }

        /// <summary>
        /// Gets or sets post alias.
        /// </summary>
        [Required(ErrorMessage = "blogs.required_alias")]
        public string Alias { get; set; }

        /// <summary>
        /// Gets or sets post content.
        /// </summary>
        [Required(ErrorMessage = "blogs.required_content")]
        public string Content { get; set; }

        [Required(ErrorMessage = "blogs.required_summary")]
        public string Summary { get; set; }

        /// <summary>
        /// Gets or sets post workflow status.
        /// </summary>
        public int Status { get; set; }

        /// <summary>
        ///   Gets or sets value indicates if comments are allowed for this Post.
        /// </summary>
        public bool AllowComments { get; set; }

        /// <summary>
        ///   Gets or sets value indicates if comments by anonymous are allowed for this Post.
        /// </summary>
        public bool AllowAnonymousComments { get; set; }

        /// <summary>
        /// Gets or sets blog id.
        /// </summary>
        public Guid BlogID { get; set; }

        public string[] Labels { get; set; }
    }
}