namespace OASystem.Domain.ViewModels
{
    public class ViewBase
    {
        /// <summary>
        /// 数据获取时间
        /// </summary>
        public string ReceiveDt { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

        /// <summary>
        /// 数据返回时间
        /// </summary>
        public string ReturnDt { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
    }

    public class ListViewBase<T> : ViewBase
    {
        /// <summary>
        /// 当前页码
        /// </summary>
        public int CurrPageIndex { get; set; }

        /// <summary>
        /// 每页条数
        /// </summary>
        public int CurrPageSize { get; set; }

        /// <summary>
        /// 数据总条数
        /// </summary>
        public int DataCount { get; set; }

        /// <summary>
        /// 数据列表
        /// </summary>
        public List<T> DataList { get; set; }
    }
    public class DataCount
    {
        public int Count { get; set; }
    }

    public class DataCountCost
    {
        public decimal CountCost { get; set; }
    }

    /// <summary>
    /// 页面功能权限
    /// </summary>
    public class PageFunAuthViewBase
    {
        /// <summary>
        /// 查看权限
        /// 0 否 1 是
        /// </summary>
        public int CheckAuth { get; set; } = 0;

        /// <summary>
        /// 删除权限
        /// 0 否 1 是
        /// </summary>
        public int DeleteAuth { get; set; } = 0;

        /// <summary>
        /// 编辑权限
        /// 0 否 1 是
        /// </summary>
        public int EditAuth { get; set; } = 0;

        /// <summary>
        /// 文件下载权限
        /// 0 否 1 是
        /// </summary>
        public int FilesDownloadAuth { get; set; } = 0;

        /// <summary>
        /// 文件上传权限
        /// 0 否 1 是
        /// </summary>
        public int FilesUploadAuth { get; set; } = 0;

        /// <summary>
        /// 添加权限
        /// 0 否 1 是
        /// </summary>
        public int AddAuth { get; set; } = 0;

        /// <summary>
        /// 审核权限
        /// 0 否 1 是
        /// </summary>
        public int AuditAuth { get; set; } = 0;

    }


    public class PageDataViewBase
    {
        public dynamic Data { get; set; }

        public int Total { get; set; }
    }
}