using System;
using System.Collections.Generic;
using GxPress.Common.Page;
using GxPress.Entity;
using GxPress.Entity.WorkFlow;
using GxPress.EnumConst;
using GxPress.Result.App.Analyze;

namespace GxPress.Result.Article
{
    /// <summary>
    /// 文章
    /// </summary>
    public class ArticleResult : FlowTodoResult
    {
        /// <summary>
        /// 文章ID
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 标题
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// 组id
        /// </summary>
        public int GroupId { get; set; }

        /// <summary>
        /// 标题图片
        /// </summary>
        public IEnumerable<string> ImageUrls { get; set; }

        /// <summary>
        /// 简介
        /// </summary>
        public string Summary { get; set; }

        /// <summary>
        /// 作者
        /// </summary>
        public string Author { get; set; }

        /// <summary>
        /// 来源
        /// </summary>
        public string Source { get; set; }

        /// <summary>
        /// Json内容
        /// </summary>
        public IEnumerable<Block> ArticleBlocks { get; set; }

        /// <summary>
        /// 审核状态
        /// </summary>
        public bool IsChecked { get; set; }

        /// <summary>
        /// 添加时间
        /// </summary>
        public DateTime AddDate { get; set; }

        /// <summary>
        /// 排序
        /// </summary>
        public int Sort { get; set; }

        /// <summary>
        /// 评论数量
        /// </summary>
        public int CommentCount { get; set; }

        /// <summary>
        /// 收藏数量
        /// </summary>
        public int CollectCount { get; set; }

        /// <summary>
        /// 转发数量
        /// </summary>
        public int RetransmissionCount { get; set; }
        /// <summary>
        /// 点赞数量
        /// </summary>
        public int PraiseCount { get; set; }
        /// <summary>
        /// 文章类型名称
        /// </summary>
        public string GroupName { get; set; }

        /// <summary>
        /// 文章点赞数据
        /// </summary>
        public PagedList<PraisePageResult> ArticlePraisePagedList { get; set; }
        /// <summary>
        /// 文章阅读量
        /// </summary>
        public int ReadCount { get; set; }
        /// <summary>
        /// 是否置顶
        /// </summary>
        public bool IsTop { get; set; }
        /// <summary>
        /// 是否收藏
        /// </summary>
        public bool IsCollect { get; set; }
        /// <summary>
        /// 是否点赞
        /// </summary>
        public bool IsPraise { get; set; }
        /// <summary>
        /// 是否转发
        /// </summary>
        public bool IsRetransmission { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreatedDate { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        /// <value></value>
        public IEnumerable<Result.App.ArticleLabel.ArticleInnerLabelResult> ArticleInnerLabelsResult { get; set; }
        /// <summary>
        /// 来源类型 0 文章 1 待办
        /// </summary>
        /// <value></value>
        public int SourceType { get; set; }
    }
    /// <summary>
    /// 待办工作事项
    /// </summary>
    public class FlowTodoResult : FlowTodo
    {
        public FlowState State { get; set; }
        /// <summary>
        /// 当前页
        /// </summary>
        public string Title { get; set; }

        public string AvatarUrl { get; set; }

        /// <summary>
        /// 每页显示多少项
        /// </summary>
        public List<string> Summaries { get; set; }
    }
}