public async Task <ActionResult> Edit([Bind(Include = "ID,Question,QuestionWeight,CreatedDate,isDeleted,TimeStamp,OrganizationID,UserId")] SelectionQuestion selectionQuestion) { if (ModelState.IsValid) { using (var client = new HttpClient()) { client.BaseAddress = new Uri(baseurl); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); HttpResponseMessage Res = await client.PutAsJsonAsync($"api/SelectionQuestions/{selectionQuestion.ID}", selectionQuestion); if (Res.IsSuccessStatusCode) { this.AddNotification("SelectionQuestions information modified successfully", NotificationType.SUCCESS); return(RedirectToAction("Index")); } else { this.AddNotification("SelectionQuestions information cannot be modified at this time. Please contact Administrator", NotificationType.ERROR); return(View()); } } } ViewBag.OrganizationID = await OrganizationSelectListByModel(token, selectionQuestion.OrganizationID); return(View(selectionQuestion)); }
public async Task <ActionResult> Details(int?id) { #region USERVALIDATION token = (string)(Session["accessToken"]); string userID = (string)(Session["UserID"]); #endregion if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } List <SelectionQuestion> selectionQuestion = new List <SelectionQuestion>(); using (var client = new HttpClient()) { client.BaseAddress = new Uri(baseurl); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); HttpResponseMessage Res = await client.GetAsync($"api/SelectionQuestions/{id}"); if (Res.IsSuccessStatusCode) { var SelectionQuestionResponse = Res.Content.ReadAsStringAsync().Result; SelectionQuestion mySelectionQuestion = JsonConvert.DeserializeObject <SelectionQuestion>(SelectionQuestionResponse); return(View(mySelectionQuestion)); } else { this.AddNotification("Unable to display SelectionQuestions information,please contact Administrator" + Res, NotificationType.ERROR); return(View()); } } }
/// <summary> /// Evaluates a question with a valid random value for each variable. /// </summary> /// <param name="question">Question to be evaluated.</param> /// <returns>The evaluated question.</returns> public Question Evaluate(Question question) { var selectionQuestion = question as SelectionQuestion; if (selectionQuestion != null) { SelectionQuestion aux = new SelectionQuestion { Description = selectionQuestion.Description, ExamId = selectionQuestion.ExamId, Options = selectionQuestion.Options, Answers = selectionQuestion.Answers, Exam = selectionQuestion.Exam, Id = selectionQuestion.Id, Variables = selectionQuestion.Variables }; // Evaluate each variable foreach (var variable in aux.Variables) { var value = variable.RandomValue(); aux.Description = aux.Description.Replace("%" + variable.Symbol, value.ToString()); foreach (var option in aux.Options) { option.Description = option.Description.Replace("%" + variable.Symbol, value.ToString()); } } aux.Description = EvaluatePart(aux.Description); foreach (var option in aux.Options) { option.Description = EvaluatePart(option.Description); } return(aux); } return(null); }
public async Task <ActionResult> Create([Bind(Include = "ID,Question,QuestionWeight,CreatedDate,isDeleted,TimeStamp,OrganizationID,UserId")] SelectionQuestion selectionQuestion) { #region USERVALIDATION token = (string)(Session["accessToken"]); string userID = (string)(Session["UserID"]); #endregion if (ModelState.IsValid) { selectionQuestion.CreatedDate = DateTime.Now; selectionQuestion.isDeleted = false; selectionQuestion.TimeStamp = DateTime.Now; using (var client = new HttpClient()) { client.BaseAddress = new Uri(baseurl); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token); HttpResponseMessage Res = await client.PostAsJsonAsync("api/SelectionQuestions", selectionQuestion); if (Res.IsSuccessStatusCode) { this.AddNotification("SelectionQuestion created successfully", NotificationType.SUCCESS); return(RedirectToAction("Index")); } else { this.AddNotification("SelectionQuestion cannot be created at this time. Please contact Administrator" + Res, NotificationType.ERROR); return(View()); } } } ViewBag.OrganizationID = await OrganizationSelectListByModel(token, selectionQuestion.OrganizationID); return(View(selectionQuestion)); }