private async Task RunUrlTestAsync(UrlTest test, ReverseTestOptions?options = null)
 {
     await RunTestAsync(
         test.Remote,
         test.Settings,
         test.Result,
         options
         );
 }
示例#2
0
        public IActionResult AddUrlTest(int id)
        {
            var urlTest = new UrlTest()
            {
                TestId = id
            };

            return(View(urlTest));
        }
示例#3
0
        public IActionResult AddUrlTest(UrlTest urlTest)
        {
            if (ModelState.IsValid)
            {
                if (string.IsNullOrEmpty(urlTest.Url))
                {
                    urlTest.Url = Guid.NewGuid().ToString();
                }

                context.UrlTests.Add(urlTest);
                context.SaveChanges();
                return(RedirectToAction("AddUrlTestUrl", urlTest));
            }

            return(View(urlTest));
        }
示例#4
0
        private QuestionPageViewModel CreateQuestionPage(UrlTest urlTest)
        {
            var questionPage = new QuestionPageViewModel();
            var test         = context.Tests.AsNoTracking().First(a => a.Id == urlTest.TestId & !a.IsDel);

            questionPage.TestName    = test.Name;
            questionPage.UrlTestName = urlTest.Name;
            var questions = context.Questions.AsNoTracking().Where(a => a.TestId == test.Id & !a.IsDel).OrderBy(a => a.Id)
                            .ToList();

            if (questions.Count != 0)
            {
                questionPage.QuestionId = questions[0].Id;
            }
            return(questionPage);
        }
示例#5
0
 public IActionResult AddUrlTestUrl(UrlTest urlTest)
 {
     return(View(urlTest));
 }
示例#6
0
        private List <Question> NewQuestion(int id, QuestionPageViewModel userQuestionPage, Test test, UrlTest urlTest,
                                            UrlTestAttend urlAttendBase, List <Result> resultsBase)
        {
            userQuestionPage.TestName        = test.Name;
            userQuestionPage.UrlTestName     = urlTest.Name;
            userQuestionPage.UrlTestAttendId = urlAttendBase.Id;
            var questions = context.Questions.AsNoTracking().Where(a => a.TestId == test.Id & !a.IsDel)
                            .OrderBy(a => a.Id)
                            .ToList();


            userQuestionPage.Answers = context.Answers.AsNoTracking().Where(a => a.QuestionId == id & !a.IsDel).ToList();
            var answersPage = new List <Answer>();

            foreach (var result in resultsBase)
            {
                var answer = context.Answers.FirstOrDefault(a => a.Id == result.AnswerId & a.QuestionId == id);
                if (answer != null)
                {
                    answersPage.Add(answer);
                }
            }

            if (answersPage.Count != 0)
            {
                foreach (var answer in answersPage)
                {
                    userQuestionPage.Answers.Find(a => a.Id == answer.Id).Selected = true;
                }
            }

            return(questions);
        }