/// <summary>
        /// 从给定的题目句柄创建 ProblemDetailModel 类的新实例。
        /// </summary>
        /// <param name="handle">题目句柄。</param>
        /// <exception cref="ArgumentNullException"/>
        public static ProblemDetailModel FromProblemHandle(ProblemHandle handle)
        {
            if (handle == null)
            {
                throw new ArgumentNullException(nameof(handle));
            }

            ProblemDetailModel model = new ProblemDetailModel();

            using (ProblemDataProvider data = ProblemDataProvider.Create(handle, true))
            {
                model.ProblemId         = data.ProblemId;
                model.Title             = data.Title;
                model.Description       = data.Description;
                model.InputDescription  = data.InputDescription;
                model.OutputDescription = data.OutputDescription;
                model.InputExample      = data.InputExample;
                model.OutputExample     = data.OutputExample;
                model.Hint          = data.Hint;
                model.Source        = data.Source;
                model.Author        = data.Author;
                model.UserGroupName = UsergroupConvert.ConvertToString(data.AuthorizationGroup);
            }

            return(model);
        }
 /// <summary>
 /// 创建 ContestDetailModel 类的新实例。
 /// </summary>
 public ContestDetailModel()
 {
     ContestId             = 0;
     Title                 = string.Empty;
     Creator               = string.Empty;
     UsergroupName         = UsergroupConvert.ConvertToString(UserGroup.Standard);
     CreationTime          = DateTime.Now;
     StartTimeString       = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
     EndTimeString         = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
     ParticipationModeName = ContestParticipationModeConvert.ConvertToString(ContestParticipationMode.Both);
     AuthorizationModeName = ContestAuthorizationModeConvert.ConvertToString(ContestAuthorizationMode.Protected);
     Password              = string.Empty;
 }
Beispiel #3
0
 /// <summary>
 /// 创建 AddProblemModel 类的新实例。
 /// </summary>
 public ProblemDisplayModel()
 {
     ProblemId         = string.Empty;
     Title             = string.Empty;
     Description       = string.Empty;
     InputDescription  = string.Empty;
     OutputDescription = string.Empty;
     InputExample      = string.Empty;
     OutputExample     = string.Empty;
     Hint           = string.Empty;
     Source         = string.Empty;
     Author         = string.Empty;
     TimeLimit      = 1000;
     MemoryLimit    = 64;
     IsSpecialJudge = false;
     UserGroupName  = UsergroupConvert.ConvertToString(UserGroup.Guests);
 }
        /// <summary>
        /// 从给定的比赛句柄创建 ContestDetailModel 类的新实例。
        /// </summary>
        /// <param name="handle">比赛句柄。</param>
        /// <returns>从给定的比赛句柄创建的比赛详细信息数据模型对象。</returns>
        /// <exception cref="ArgumentNullException"/>
        public static ContestDetailModel FromContestHandle(ContestHandle handle)
        {
            if (handle == null)
            {
                throw new ArgumentNullException(nameof(handle));
            }

            ContestDetailModel model = new ContestDetailModel();

            using (ContestDataProvider data = ContestDataProvider.Create(handle, true))
            {
                model.ContestId             = data.ContestId;
                model.Title                 = data.Title;
                model.Creator               = data.Creator;
                model.UsergroupName         = UsergroupConvert.ConvertToString(data.AuthorizationGroup);
                model.CreationTime          = data.CreationTime;
                model.StartTimeString       = data.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
                model.EndTimeString         = data.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
                model.AuthorizationModeName = ContestAuthorizationModeConvert.ConvertToString(data.AuthorizationMode);
                model.ParticipationModeName = ContestParticipationModeConvert.ConvertToString(data.ParticipationMode);
            }

            return(model);
        }