using System;
using IRaCIS.Application.Contracts;
using IRaCIS.Core.Domain.Share;

namespace IRaCIS.Core.Application.Contracts
{

    public class PersonalStataDTO
    {
        // 项目数量(排除 废除的)
        public int? TrialCount { get; set; }

        //废除的
        public int? DeletedCount { get; set; }

        //项目数量  （包括废除的）
        public int? TotalTrialCount => TrialCount + DeletedCount;


        //总共需要签署项目文档的数量 （排除掉废除的 +  废除的但是签署了）
        public int? TotalNeedSignTrialDocCount { get; set; }


        //已签署的项目文档总数
        public int? HaveSignedTrialDocCount { get; set; }

        //现在需要签署的项目文档总数
        public int? WaitSignTrialDocCount => TotalNeedSignTrialDocCount - HaveSignedTrialDocCount;




        public int? TotalNeedSignSystemDocCount { get; set; }

        public int? HaveSignedSystemDocCount { get; set; }

        public int? WaitSignSystemDocCount => TotalNeedSignSystemDocCount - HaveSignedSystemDocCount;



        //现在需要签署的总数（项目待签署 +系统待签署）
        public int? TotalNeedSignDocCount => TotalNeedSignTrialDocCount + TotalNeedSignSystemDocCount;


       public    int? TotalApprovalRequiredCount { get; set; }


        public int? TotalSystemNoticeCount { get; set; }

        public int? NeedReadSystemNoticeCount { get; set; }

    }

    public class TrialSiteSurveyStatQuery : PageInput
    {

    }

    public class TrialSiteSurveyStat:TrialSelectDTO
    {
        public  int? ApprovalRequiredCount { get; set; }



        public int? ApprovalRequiredSiteCount { get; set; }
    }


    public class DocSignStat : TrialSelectDTO
    {

        public bool IsSystemDoc { get; set; } = false;

        public int? WaitSignCount { get; set; }
    }


}