// GET: TextAnswerValidationTasks/Task/5 public ActionResult Task(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TextAnswerValidationTask textAnswerValidationTask = db.TextAnswerValidationTasks.Find(id); if (textAnswerValidationTask == null) { return(HttpNotFound()); } if (User.Identity.GetUserId() != textAnswerValidationTask.ApplicationUserId) //check if right user is requesting to answer { return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized)); } ResponseTipTask responseTipTask = db.ResponseTipTasks.Find(textAnswerValidationTask.ResponseTipTaskID); if (responseTipTask == null) { return(HttpNotFound()); } TextAnswerValidationPresented newTask = new TextAnswerValidationPresented(id, responseTipTask.question, responseTipTask.answer, (decimal)0.02); return(View(newTask)); }
public ActionResult Task([Bind(Include = "textAnswerValidationTaskId,arbiterAnswer")] TextAnswerValidationPresented textAnswerValidationPresented) { if (textAnswerValidationPresented == null) { return(HttpNotFound()); } TextAnswerValidationTask textAnswerValidationTaskFromDb = db.TextAnswerValidationTasks.Find(textAnswerValidationPresented.textAnswerValidationTaskId); if (textAnswerValidationTaskFromDb == null) { return(HttpNotFound()); } switch (textAnswerValidationTaskFromDb.taskStatus) //if the task was already answered then go back to index { case ArbiterTaskStatusesEnum.textAnswerValidation_finishedAsExpired: case ArbiterTaskStatusesEnum.textAnswerValidation_finishedAsSkipped: case ArbiterTaskStatusesEnum.textAnswerValidation_finishedInAgreement: case ArbiterTaskStatusesEnum.textAnswerValidation_finishedInDisagreement: return(RedirectToAction("Index")); default: break; } textAnswerValidationTaskFromDb.taskStatus = ArbiterTown.Models.ArbiterTaskStatusesEnum.textAnswerValidation_answered; textAnswerValidationTaskFromDb.arbiterAnswer = textAnswerValidationPresented.arbiterAnswer; ModelState.Clear(); TryValidateModel(textAnswerValidationTaskFromDb); if (ModelState.IsValid) { db.Entry(textAnswerValidationTaskFromDb).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(textAnswerValidationPresented)); }