// 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));
        }