public string GetConsiderationStatus(QuestionSuiteVM es)
        {
            var _questionCount  = es.Questions?.Count() ?? 0;
            var _considerations = this.ListConsiderationByExamSuiteId(es._id);

            var _lastConsiderationForQuestions = _considerations
                                                 ?.GroupBy(con => con.QuestionNumber)
                                                 ?.Select(conG => conG?.OrderByDescending(con => con.CreateDateTime).FirstOrDefault())?.ToList();
            var _acceptCount = _lastConsiderationForQuestions?.Count(con => con.IsAccept) ?? 0;
            var _rejectCount = _lastConsiderationForQuestions?.Count(con => !con.IsAccept) ?? 0;

            var _ConsiderationStatus = string.Empty;

            if (_rejectCount > 0)
            {
                _ConsiderationStatus = "Rejected";
            }
            else if (_questionCount == _acceptCount)
            {
                _ConsiderationStatus = "Accepted";
            }
            else
            {
                _ConsiderationStatus = "Wait";
            }

            return(_ConsiderationStatus);
        }
Exemple #2
0
        public void UpdateFIX(QuestionSuiteVM examSuite)
        {
            var update = Builders <QuestionSuiteVM> .Update
                         .Set(it => it.SubjectId, examSuite.SubjectId);

            helper.GetCollection <QuestionSuiteVM>(InactiveSubject_ExamSuite)
            .UpdateOneAsync(it => it._id == examSuite._id, update);
        }
        private IEnumerable <Activated.Question> ConvertToActivedQuestion(QuestionSuiteVM inActiveSuite, DateTime now)
        {
            if (inActiveSuite == null)
            {
                return(null);
            }

            List <Activated.Question> newQuestion = new List <Activated.Question>();

            var _question = inActiveSuite.Questions?.Select(x => new Activated.Question
            {
                _id            = repoForApprove.GetNewQId("").ToString(),
                GroupId        = x.GroupId,
                QuestionNumber = x.No,
                Detail         = x.Content,
                //IsAllowRandomChoice = !x.NoShuffleChoice,
                IsAllowRandomChoice = x.NoShuffleChoice,
                Choices             = x.Choices?.Select(y => new Activated.Choice
                {
                    _id       = y.Code,
                    Detail    = y.Content,
                    IsCorrect = y.IsCorrectAnswer,
                })?.ToList() ?? new List <Activated.Choice>(),
                CreateDateTime = now,
                Assets         = x.Assets?.Select(ass => new Activated.Asset()
                {
                    id        = Guid.NewGuid().ToString(),
                    Resource  = ass.Resource,
                    ApplyTo   = ass.ApplyTo,
                    Positions = ass.Positions,
                }) ?? new List <Activated.Asset>(),
            }).ToList();

            newQuestion.AddRange(_question);

            return(newQuestion);
        }
Exemple #4
0
 public void UpdateFIX(QuestionSuiteVM examSuite)
 {
     throw new NotImplementedException();
 }