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); }
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); }
public void UpdateFIX(QuestionSuiteVM examSuite) { throw new NotImplementedException(); }