コード例 #1
0
        public ISourceQuestion GetNextQuestion()
        {
            if (!QuestionResponses.Any())
            {
                return(_sourceQuestions.FirstOrDefault());
            }

            return(_sourceQuestions.FirstOrDefault(x => x.QuestionId == GetPreviousOrCurrentQuestion().SelectedChoices.First().NextQuestion));
        }
コード例 #2
0
ファイル: jsQuestions.cs プロジェクト: 24/source_04
        //private static QuestionResponseHtml _LoadQuestion(string directory, string file)
        //{
        //    file = GetLastFileNumber(zPath.Combine(directory, "data", file));
        //    Trace.WriteLine($"LoadQuestion() : file \"{file}\"");
        //    return zMongo.ReadFileAs<QuestionResponseHtml>(file);
        //}

        public async Task <object> SaveQuestion(dynamic param)
        {
            // SaveQuestion : string param.Directory, string param.File, string param.QuestionHtml
            //_SaveQuestion((string)param.Directory, (string)param.File, (string)param.QuestionHtml);
            Try(
                () =>
            {
                QuestionResponses.SaveQuestion((string)param.Directory, (string)param.File, (string)param.QuestionHtml, trace: true);
            });
            return(null);
        }
コード例 #3
0
        public void CreateResponse(Response r, int qId)
        {
            _ctx.Responses.Add(r);
            QuestionResponses xRef = new QuestionResponses
            {
                ResponseId = r.Id,
                QuestionId = qId
            };

            _ctx.QuestionResponses.Add(xRef);
            _ctx.SaveChanges();
        }
コード例 #4
0
ファイル: jsQuestions.cs プロジェクト: 24/source_04
        public async Task <object> GetQuestionFiles(object directory)
        {
            IEnumerable <string> questions = null;

            Try(
                () =>
            {
                Trace.WriteLine($"GetQuestionFiles() : directory \"{directory}\"");
                // zPath.Combine((string)directory, "data")
                questions = QuestionResponses.GetQuestionFiles((string)directory);
            });
            return(questions);
        }
コード例 #5
0
ファイル: jsQuestions.cs プロジェクト: 24/source_04
        //private static IEnumerable<string> _LoadQuestions(string directory)
        //{
        //    Trace.WriteLine($"LoadQuestions() : directory \"{directory}\"");
        //    directory = zPath.Combine(directory, "data");
        //    SortedDictionary<string, string> files = new SortedDictionary<string, string>();
        //    // question-01-2015-016.json
        //    foreach (string file in zDirectory.EnumerateFiles(directory, "question-*.json"))
        //    {
        //        FileNumber fileNumber = FileNumber.GetFileNumber(file);
        //        if (!files.ContainsKey(fileNumber.BaseFilename))
        //            files.Add(fileNumber.BaseFilename, null);
        //    }
        //    return files.Keys;
        //}

        public async Task <object> LoadQuestion(dynamic param)
        {
            // LoadQuestion : string param.Directory, string param.File
            //return _LoadQuestion((string)param.Directory, (string)param.File);
            QuestionResponseHtml question = null;

            Try(
                () =>
            {
                question = QuestionResponses.LoadQuestion((string)param.Directory, (string)param.File, trace: true);
            });
            return(question);
        }
コード例 #6
0
        public IActionResult OnPost()
        {
            int category = 3;
            IEnumerable <Questions> questions = _unitOfWork.Questions.GetAll(c => c.QuestionCategoryId == category);

            string userId = Request.Form["userId"].ToString();

            BusinessObj      = new Business();
            BusinessObj.Name = Request.Form["10"];

            _unitOfWork.Business.Add(BusinessObj);
            _unitOfWork.Save();

            ApplicantObj = new Models.Applicant();
            ApplicantObj.ApplicationUserId = userId;
            ApplicantObj.BusinessId        = BusinessObj.Id;

            _unitOfWork.Applicant.Add(ApplicantObj);
            _unitOfWork.Save();


            ApplicationObj = new Application();
            ApplicationObj.ApplicationDate = DateTime.Now;

            ApplicationObj.ApplicantId = ApplicantObj.ApplicantId;
            ApplicationObj.StatusId    = 3;

            _unitOfWork.Application.Add(ApplicationObj);
            _unitOfWork.Save();


            foreach (var applicationQuestion in questions)
            {
                if (applicationQuestion.QuestionId != 10)
                {
                    responseObj               = new QuestionResponses();
                    responseObj.QuestionsId   = applicationQuestion.QuestionId;
                    responseObj.Response      = Request.Form[applicationQuestion.QuestionId.ToString()].ToString();
                    responseObj.ResponseDate  = DateTime.Today;
                    responseObj.ApplicationId = ApplicationObj.Id;
                    _unitOfWork.Responses.Add(responseObj);
                }
            }

            _unitOfWork.Save();
            return(RedirectToPage("./Completion"));
        }
コード例 #7
0
        private void RemoveChildren(IQuestion question)
        {
            foreach (var questionSelectedChoice in question.SelectedChoices)
            {
                if (questionSelectedChoice.NextQuestion.HasValue)
                {
                    var targetQuestion = QuestionResponses.FirstOrDefault(x => x.QuestionId == questionSelectedChoice.NextQuestion);

                    if (targetQuestion != null)
                    {
                        RemoveChildren(targetQuestion);

                        if (_currentQuestion == targetQuestion)
                        {
                            _currentQuestion = null;
                        }

                        QuestionsAsList.Remove(targetQuestion);
                    }
                }
            }
        }