public async Task <IHttpActionResult> Create(TestModel test) { if (test == null) { return(BadRequest("Test must not be null.")); } try { TestDTO testDTO = _mapper.Map <TestModel, TestDTO>(test); TestDTO createdTest = await _testService.Create(testDTO); TestModel returnedTest = _mapper.Map <TestDTO, TestModel>(createdTest); string createdAtUrl = "http://www.google.com"; return(Created(createdAtUrl, returnedTest)); } catch (EntityNotFoundException) { return(NotFound()); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public ActionResult Add() { List <TestQuestion> questions = new List <TestQuestion>() { new TestQuestion() { Text = "Who are u?", AnswerOptions = new string[] { "qew", "zxc", "kgb" }, CorrectAnswer = "kgb" }, new TestQuestion() { Text = "How old are u?", AnswerOptions = new string[] { "15", "21", "19" }, CorrectAnswer = "19" }, new TestQuestion() { Text = "What is ur gender?", AnswerOptions = new string[] { "male", "female" }, CorrectAnswer = "male" } }; Test test = new Test() { Title = "Select a correct answer", Questions = questions }; testService.Create(test); return(View()); }
public ActionResult CreateTest(CreateTestViewModel model) { if (testService.GetOneByPredicate(u => u.Title.ToLower() == model.Title.ToLower()) != null) { ModelState.AddModelError(String.Empty, "Test with this title already registered."); return(View(model)); } if (ModelState.IsValid) { int userId = userService.GetOneByPredicate(u => u.UserName == User.Identity.Name).Id; model.Questions = new List <QuestionViewModel>(); var test = model.ToBllTest(); test.DateCreation = DateTime.Now; test.UserId = userId; test.TestResults = new List <BllTestResult>(); testService.Create(test); if (Request.IsAjaxRequest()) { int testId = testService.GetOneByPredicate(t => t.Title == model.Title).Id; return(RedirectToAction("TestDetails", "Test", new { testId = testId })); } return(Redirect(Url.Action("ShowLastTests", "Test"))); } return(PartialView("_CreateTest")); }
public ActionResult Create(IFormCollection collection) { try { // TODO: Add insert logic here Test test = new Test { Number = Convert.ToInt32(collection["Number"]), Hidden = Convert.ToBoolean(collection["Hidden"]), Input = collection["Input"], Output = collection["Output"], ProblemId = Convert.ToInt16(collection["ProblemId"]) //Problem = _problem }; _testService.Create(test); tests.Add(test); return(View()); //RedirectToAction(nameof(Index)); } catch { return(View()); } }
public ActionResult Create([Bind(Include = "ID,Title,Description,SectionID")] Test test) { if (ModelState.IsValid) { testService.Create(test); return(RedirectToAction("Index")); } ViewBag.SectionID = new SelectList(sectionService.GetAll(), "ID", "Description", test.SectionID); return(View(test)); }
public ActionResult Create(TestModel test) { List <Question> questions = new List <Question>(); foreach (var question in test.Questions) { Type type; if (question.Type.Equals("enter")) { type = typeService.GetAll().Where(x => x.Status.Equals("Ввод ответа")).FirstOrDefault(); } else { type = typeService.GetAll().Where(x => x.Status.Equals("Выбор ответа")).FirstOrDefault(); } List <Answer> answers = new List <Answer>(); foreach (var answer in question.Answers) { answers.Add(new Answer { Desctiption = answer.Answer, Correct = answer.IsCorrect }); } questions.Add(new Question { Description = question.Description, TypeID = type.ID, Answers = answers }); } testService.Create(new Test { Description = test.Description, Questions = questions, SectionID = int.Parse(test.Section), Title = test.Title }); ViewBag.SectionID = new SelectList(sectionService.GetAll(), "ID", "Description"); return(View()); }
public ActionResult Create(Test test, string courseId) { try { _testService.Create(test, courseId); return(RedirectToAction("Index", new { courseId = courseId })); } catch { return(View(test)); } }
public ActionResult Create(Test test) { try { testService.Create(test); return(RedirectToAction(nameof(Index))); } catch (ValidationException ex) { ModelState.AddModelError("", ex.Message); return(View(test)); } }
public IActionResult Post([FromBody] TestVM model) { TestVM test = _testService.GetAll().Where(x => x.Name == model.Name && x.ThemeId == model.ThemeId).FirstOrDefault(); if (test != null) { ModelState.AddModelError(string.Empty, "This test has this theme already"); return(BadRequest(ModelState)); } _testService.Create(model); return(Ok(model)); }
public IActionResult Index() { // 資料清單 var data = _testService.GetData(); // 單筆資料 var item = _testService.GetTestVM(); var editViewModel = new Service.Models.TestEditViewModel() { Name = "TEST" }; // 新增 editViewModel.Id = _testService.Create(editViewModel); // 更新 editViewModel.Name = "TEST2"; _testService.Update(editViewModel); // 刪除 _testService.Delete(editViewModel.Id.Value); return(View()); }
public async Task <ActionResult> _Create(TestEditModel model) { if (ModelState.IsValid) { TestDTO testDto = _mapper.Map <TestDTO>(model); testDto.AuthorId = UserId; testDto.DateTime = DateTime.UtcNow; OperationDetails result = await _testService.Create(testDto); if (result.Succeeded) { TempData["PartialMessageSuccess"] = result.Message; return(RedirectToAction("_ExtendedAdminTestSearch", "Panel")); } else { ModelState.AddModelError(result.Property, result.Message); } } return(PartialView(model)); }
public ActionResult Create(Test test) { try { if (ModelState.IsValid) { if (TestService.FindBy(p => p.TestName.Trim() == test.TestName.Trim()).Count() > 0) { ViewBag.NumberOfParametersRequired = Convert.ToInt32(ConfigurationManager.AppSettings["DefaultSelectedNoOfTestParameter"]); fillDropdown(); ModelState.AddModelError("", "Test alreary exists with same name"); return(View()); } TestService.Create(test); } } catch { } ViewBag.NumberOfParametersRequired = Convert.ToInt32(ConfigurationManager.AppSettings["DefaultSelectedNoOfTestParameter"]); fillDropdown(); return(View()); }
public async Task <int> Post([FromBody] TestCreateUpdateDTO dto) { return(await _testService.Create(dto)); }
public IActionResult Create(CreateTestInput input) { var dto = _testService.Create(input); return(Ok(dto)); }
public IHttpActionResult Submit([FromBody] ResultDataVM data) { try { var contents = JsonConvert.DeserializeObject <ResultVM>(data.Json.Decrypt()); BaseTest baseTest = _baseTestService.Find(_ => _.Id == contents.ExamId); List <TestContent> testContents = new List <TestContent>(); string studentCode = contents.StudentId; if (baseTest != null) { if (_testService.Find(_ => _.BaseTestId == baseTest.Id && _.StudentCode == studentCode) == null) { float totalMarkOfTest = 0; float finalMarkOfTest = 0; foreach (var ele in contents.ExamAs) { ele.Answers = ele.Answers ?? new List <int>(); Question quest = _questionService.Find(_ => _.Code == ele.QuestionCode, _ => _.Options); List <Option> rightAnswer = quest.Options.Where(_ => _.IsCorrect).ToList(); List <Option> finalRightAnswers = quest.Options.Where(_ => _.IsCorrect).ToList(); List <Option> studentAnswers = _optionService.Search(_ => ele.Answers.Contains(_.Id)).ToList(); totalMarkOfTest += quest.Mark; float markOfQuestion, markRightAnswers = 0, markWrongAnswers = 0; rightAnswer.ForEach(_ => { if (ele.Answers.Contains(_.Id)) //mỗi lần nó trả lời đúng 1 câu { finalRightAnswers.Remove(_); //trừ đi những câu nó đã đánh đúng => còn lại những câu đúng mà nó k đánh var temp = studentAnswers.Find(x => x.Id == _.Id); studentAnswers.Remove(temp); //những câu nó sai } }); finalRightAnswers.ForEach(_ => { markRightAnswers += Math.Abs((_.Percent * quest.Mark) / 100); }); studentAnswers.ForEach(_ => { markWrongAnswers += Math.Abs((_.Percent * quest.Mark) / 100);//điểm của những câu trả lời sai }); markOfQuestion = (float)Math.Round(quest.Mark - markWrongAnswers - markRightAnswers, 2); finalMarkOfTest += markOfQuestion < 0 ? 0 : markOfQuestion; testContents.Add(new TestContent { Answers = JsonConvert.SerializeObject(ele.Answers ?? new List <int>()), Mark = markOfQuestion < 0 ? 0 : markOfQuestion, QuestionCode = ele.QuestionCode }); } var auth = _authenticationService.Find(_ => _.WebId == studentCode && _.Username == User.Identity.Name); if (auth != null) { _authenticationService.Delete(auth); } var test = new Test { BaseTestId = contents.ExamId, IsFinished = true, StartTime = baseTest.StartTime, EndTime = DateTimeOffset.Now, Duration = DateTimeOffset.Now - baseTest.StartTime, Mark = finalMarkOfTest, TotalMark = totalMarkOfTest, StudentCode = studentCode, TestContents = testContents }; bool result = _testService.Create(test); } } } catch (Exception ex) { _loggingService.Write(ex); return(InternalServerError(ex)); } return(Ok()); }