public async Task <JsonResult> QTCheckTestScore()
 {
     try
     {
         var qtid    = Guid.Parse(Request.Form["id"]);
         var aid     = Guid.Parse(Request.Form["aid"]);
         var answers = QuizUserAnswerService.GetByQTID(qtid);
         var ts      = 0f;
         foreach (var answer in answers)
         {
             //if multiple choice
             if (answer.OtherAnswer.Length <= 0)
             {
                 var choiceSelected = QuizQuestionAnswerService.GetByID(answer.QuizAnswerID, answer.QuizQuestionID);
                 answer.PointsEarned = choiceSelected.Points;
             }
             //if essay retain the assigned score
             QuizUserAnswerService.Update(answer.ID, answer.QuizTakersID, answer.QuizQuestionID, answer.QuizAnswerID, answer.OtherAnswer, answer.PointsEarned);
             ts += answer.PointsEarned;
         }
         //update total score
         var qtModel = QuizTakerService.GetByID(qtid);
         QuizTakerService.Update(qtid, qtModel.QuizInfoID, qtModel.UserID, ts, qtModel.DateTimeStorageID);
         return(Success(true));
     }
     catch { return(Failed(MessageUtilityService.ServerError())); }
 }
 public async Task <JsonResult> QTGetByQuiz(string id, string aid)
 {
     try {
         var data = QuizTakerService.GetByQIID(Guid.Parse(id));
         var vms  = QuizTakerService.SetSubDatas(data, Guid.Parse(aid));
         return(Success(vms));
     } catch { return(Failed(MessageUtilityService.ServerError())); }
 }
 public async Task <JsonResult> QTGetQAU()
 {
     try {
         var qiid = Guid.Parse(Request.Form["qiid"]);
         var aid  = Guid.Parse(Request.Form["aid"]);
         var data = QuizTakerService.GetByQIID(qiid);
         var vms  = QuizTakerService.SetSubDatas(data, aid);
         vms = QuizTakerService.SetUser(vms);
         return(Success(vms));
     } catch { return(Failed(MessageUtilityService.ServerError())); }
 }
 public async Task <JsonResult> QTGetUQA()
 {
     try {
         var uid  = Guid.Parse(Request.Form["id"]);
         var qiid = Guid.Parse(Request.Form["qiid"]);
         var aid  = Guid.Parse(Request.Form["aid"]);
         var data = QuizTakerService.GetByUQA(uid, qiid, aid);
         var vm   = QuizTakerService.SetSubData(data, aid);
         return(Success(vm));
     } catch { return(Failed(MessageUtilityService.ServerError())); }
 }
 public async Task <JsonResult> QTGet()
 {
     try {
         var oid  = Guid.Parse(Request.Form["id"]);
         var aid  = Guid.Parse(Request.Form["aid"]);
         var data = QuizTakerService.GetByUserID(oid, aid);
         var vms  = QuizTakerService.SetSubDatas(data, aid);
         vms = QuizTakerService.SortByDate(vms, false);
         return(Success(vms));
     } catch { return(Failed(MessageUtilityService.ServerError())); }
 }
 public async Task <JsonResult> QTRemove()
 {
     try {
         var id   = Guid.Parse(Request.Form["id"]);
         var qiid = Guid.Parse(Request.Form["qiid"]);
         var aid  = Guid.Parse(Request.Form["aid"]);
         if (QuizTakerService.Remove(id, qiid, aid))
         {
             return(Success(id.ToString()));
         }
         return(Failed(MessageUtilityService.FailedRemove("Takers")));
     } catch { return(Failed(MessageUtilityService.ServerError())); }
 }
 public async Task <JsonResult> QTUpdate()
 {
     try {
         var id   = Guid.Parse(Request.Form["id"]);
         var qiid = Guid.Parse(Request.Form["qiid"]);
         var uid  = Guid.Parse(Request.Form["uid"]);
         var tp   = int.Parse(Request.Form["tp"]);
         var dtid = Guid.Parse(Request.Form["dtid"]);
         if (QuizTakerService.Update(id, qiid, uid, tp, dtid))
         {
             return(Success(id.ToString()));
         }
         return(Failed(MessageUtilityService.FailedUpdate("Takers")));
     } catch { return(Failed(MessageUtilityService.ServerError())); }
 }
 public async Task <JsonResult> QIGetByTakers()
 {
     try {
         var uid    = Guid.Parse(Request.Form["id"]);
         var aid    = Guid.Parse(Request.Form["aid"]);
         var data   = QuizTakerService.GetByUserID(uid, aid);
         var vms    = QuizTakerService.SetSubDatas(data, aid);
         var vmList = new List <QuizInfoVM>();
         foreach (var vm in vms)
         {
             vmList.Add(vm.QuizInfo);
         }
         return(Success(vmList));
     } catch { return(Failed(MessageUtilityService.ServerError())); }
 }
 public async Task <JsonResult> QTInsert()
 {
     try {
         var id   = Guid.Parse(Request.Form["id"]);
         var qiid = Guid.Parse(Request.Form["qiid"]);
         var uid  = Guid.Parse(Request.Form["uid"]);
         var tp   = float.Parse(Request.Form["tp"]);
         var dtid = Guid.Parse(Request.Form["dtid"]);
         var aid  = Guid.Parse(Request.Form["aid"]);
         //check if user already in quizTaker then inform them
         if (QuizTakerService.GetByUQA(uid, qiid, aid) != null)
         {
             return(Failed(MessageUtilityService.AlreadyInRecord("owner of this quiz")));
         }
         if (QuizTakerService.Insert(id, qiid, uid, tp, dtid, aid))
         {
             return(Success(id.ToString()));
         }
         return(Failed(MessageUtilityService.FailedInsert("Takers")));
     } catch { return(Failed(MessageUtilityService.ServerError())); }
 }