// GET: Tests/Edit/5 public ActionResult Edit(string id) { TestDetailsViewModel model = new TestDetailsViewModel(); TestDto response = webClient.ExecuteGet<TestDto>(new Models.ApiRequest() { EndPoint = string.Format("tests/{0}", id) }); model.AuthToken = response.AuthToken; model.Code = response.Code; model.Name = response.Name; model.Desctiption = response.Description; model.SelectedQuestions = response.Questions.Select(q => new SelectListItem() { Selected = false, Text = q.Text, Value = q.Id.ToString() }).ToList(); model.AvailableQuiestions = webClient.ExecuteGet<IEnumerable<QuestionDto>>(new Models.ApiRequest() { EndPoint = string.Format("questions?skip=0&take={0}", int.MaxValue - 1) }) .Select(q => new SelectListItem() { Selected = false, Text = q.Text, Value = q.Id.ToString() }).ToList(); return View(model); }
public ActionResult Create(TestDetailsViewModel model) { TestDto exisctingTest = webClient.ExecuteGet<TestDto>(new Models.ApiRequest() { EndPoint = string.Format("tests/{0}", model.Code) }); if(exisctingTest != null) { ModelState.AddModelError("Code", "Code already exists"); } if (ModelState.IsValid) { try { var response = webClient.ExecutePost<object>(new Models.ApiRequest() { EndPoint = "tests", Request = new TestDto() { AuthToken = model.AuthToken ?? "MyToken", Code = model.Code, Description = model.Desctiption, Name = model.Name, Questions = new List<QuestionDto>() } }); return RedirectToAction("Edit", new { id = model.Code }); } catch (Exception e) { ModelState.AddModelError("generalError", e.Message); return View(model); } } return View(model); }
// GET: Tests/Create public ActionResult Create() { TestDetailsViewModel model = new TestDetailsViewModel(); return View(model); }
public ActionResult Edit(string id, TestDetailsViewModel model) { if (ModelState.IsValid) { try { var response = webClient.ExecutePut<object>(new Models.ApiRequest() { EndPoint = string.Format("tests/{0}", model.Code), Request = new TestDto() { AuthToken = model.AuthToken ?? "MyToken", Code = model.Code, Description = model.Desctiption, Name = model.Name, Questions = model.QuestionIds.Select(q => new QuestionDto() { Id = q }).ToList() } }); return RedirectToAction("Index"); } catch (Exception e) { ModelState.AddModelError("generalError", e.Message); return View(model); } } return View(model); }