using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;

namespace IRaCIS.Core.Domain.Share;

public static class StaticData
{

    public static Dictionary<string, string> En_US_Dic = new Dictionary<string, string>();

    public static Dictionary<string, string> Zh_CN_Dic = new Dictionary<string, string>();


    public static readonly string En_US_Json = "en-US.json";
    public static readonly string Zh_CN_Json = "zh-CN.json";


    /// <summary>
    /// 获取国际化
    /// </summary>
    /// <param name="data"></param>
    /// <returns></returns>
    public static string International(string key, params object?[] args)
    {
        try
        {
			return string.Format(GetLanguageDictionary(key), args);
		}
        catch (Exception)
        {

            return string.Empty;
        }
	}


    public static string GetLanguageDictionary(string key)
    {
        try
        {
			var type = Thread.CurrentThread.CurrentUICulture.Name;
            if (type == "zh-CN")
            {
                return Zh_CN_Dic[key];

            }
            else
            {
                return En_US_Dic[key];

			}
		}
        catch (Exception)
        {

            return string.Empty;
        }

	}


	#region 字典表项固定值
	public static readonly string Title = "Title";
    public static readonly string ReadingType = "ReadingType";
    public static readonly string Subspeciality = "Subspeciality";

    public static readonly string Modality = "Modality";
    public static readonly string Criterion = "Criterion";
    public static readonly string ReviewType = "ReviewType";
    public static readonly string ReadingStandard = "ReadingStandard";
    #endregion


    public static class Folder
    {

        public static readonly string Resources = "Resources";
        public static readonly string IRaCISDataFolder = "IRaCISData";
        public static readonly string OtherDataFolder = "OtherData";
        public static readonly string TrialDataFolder = "TrialData";

        public static readonly string SystemDataFolder = "SystemData";


        public static readonly string SignDocumentFolder = "SignDocument";

        public static readonly string DataTemplate = "DataTemplate";
        public static readonly string EmailTemplate = "EmailTemplate";

        public static readonly string CommonFile = "CommonFile";

        public static readonly string TempFile = "TempFile";

        public static readonly string NoticeAttachment = "NoticeAttachment";

        public static readonly string DicomFolder = "Dicom";
        public static readonly string NoneDicomFolder = "NoneDicom";
        public static readonly string TreatmenthistoryFolder = "Treatmenthistory";

        public static readonly string Reading = "Reading";

        public static readonly string MedicalReview = "MedicalReview";

        public static readonly string JudgeTask = "JudgeTask";

        public static readonly string ReadingAnswer = "ReadingAnswer";


        public static readonly string UploadEDCData = "UploadEDCData";
        public static readonly string UploadFileFolder = "UploadFile";
    }



    public static class TrialOpt
    {
        //默认
         public static readonly string AfterStopCannNotOpt = "AfterStopCannNotOpt";

        //ongoing 前能操作   但是Stop后 也不能操作
        public static readonly string BeforeOngoingCantOpt = "BeforeOngoingCantOpt";

        public static readonly string AddOrUpdateTrial = "AddOrUpdateTrial";

        public static readonly string SignSystemDocNoTrialId = "SignSystemDocNoTrialId";
        
    }
   


    public static class CacheKey
    {
        public static string StudyMaxCode = "StudyMaxCode";

        public static string TaskMaxCode = "TaskMaxCode";

        public const string UserTypeId = "UserTypeId";

    }


    public static class EmailSend
    {
        public static string EmailNamePlaceholder = "EmailNamePlaceholder";
    }


    /// <summary>
    /// 医生学位等级
    /// </summary>
    public static class ReviewerDegree
    {
        public const string Bachelor = "Bachelor";
        public const string Master = "Master";
        public const string Doctorate = "Doctorate";
    }



    /// <summary>
    /// 项目状态
    /// </summary>
    public static class TrialState
    {
        public const string TrialInitializing = "Initializing";

        public const string TrialOngoing = "Ongoing";

        public const string TrialCompleted = "Completed";

        public const string TrialStopped = "Stopped";
    }




    public static class InternationalData
    {
        public const string Front = "Front";
    }

    /// <summary>
    /// 匿名化配置 key
    /// </summary>
    public static class Anonymize
    {
        public const string Anonymize_FixedField = "Anonymize_FixedField";

        public const string Anonymize_IRCInfoField = "Anonymize_IRCInfoField";

        public const string Anonymize_AddFixedFiled = "Anonymize_AddFixedFiled";

        public const string Anonymize_AddIRCInfoFiled = "Anonymize_AddIRCInfoFiled";
    }






    /// <summary>
    /// 导出模板code
    /// </summary>
    public static class Export
    {
        public const string TrialSiteUserList_Export = "TrialSiteUserList_Export";

        public const string TrialSiteUserSummary_Export = "TrialSiteUserSummary_Export";

        public const string TrialUserList_Export = "TrialUserList_Export";

        public const string TrialCRCUploadImageList_Export = "TrialCRCUploadImageList_Export";

        public const string TrialQCImageChanllengeList_Export = "TrialQCImageChanllengeList_Export";

        public const string TrialSubjectList_Export = "TrialSubjectList_Export";

        public const string TrialSubjectProgressList_Export = "TrialSubjectProgressList_Export";

        public const string TrialSubjectReadingPeriodList_Export = "TrialSubjectReadingPeriodList_Export";

        public const string TrialStudyList_Export = "TrialStudyList_Export";

        public const string TrialStudyUploadMonitor_Export = "TrialStudyUploadMonitor_Export";

        public const string TrialSubjectVisitCheckList_Export = "TrialSubjectVisitCheckList_Export";

        public const string TrialReadingTaskList_Export = "TrialReadingTaskList_Export";

        public const string TrialReReadingTaskList_Export = "TrialReReadingTaskList_Export";

        public const string TrialMedicalReviewList_Export = "TrialMedicalReviewList_Export";


        //public const string TrialRECIST1Point1SelfAnalysisList_Export = "TrialRECIST1Point1SelfAnalysisList_Export";

        //public const string TrialRECIST1Point1GroupAnalysisList_Export = "TrialRECIST1Point1GroupAnalysisList_Export";


        public const string TrialSelfAnalysisList_Export = "TrialSelfAnalysisList_Export";

        public const string TrialGroupAnalysisList_Export = "TrialGroupAnalysisList_Export";


        public const string OverallTumorEvaluation_Export = "OverallTumorEvaluation_Export";


        public const string RECIST1Point1EvaluationOfTumorEfficacy_Export = "RECIST1Point1EvaluationOfTumorEfficacy_Export";

        public const string RECIST1Point1DetailedOfEvaluatedLesion_Export = "RECIST1Point1DetailedOfEvaluatedLesion_Export";

        public const string PCWG3Point1DetailedOfEvaluatedLesion_Export = "PCWG3Point1DetailedOfEvaluatedLesion_Export";




    }




}