예제 #1
0
 protected void PastButtonClick(object sender, EventArgs args)
 {
     if (!isAnswered [currentTaskToShow])
     {
         TaskDBData taskDBData = subjectRetriever.GetTaskDBData(tasks [currentTaskToShow], theme);
         taskDBData.OverallAttempts++;
         if (tasks [currentTaskToShow] is ATask)
         {
             var  task      = tasks [currentTaskToShow] as ATask;
             int  i         = 0;
             int  right     = 0;
             bool isChecked = false;
             foreach (var isCheckedAns in task.CheckedAnswers)
             {
                 if (isCheckedAns)
                 {
                     isChecked = true;
                     if (task.Variants [i].IsRight)
                     {
                         right++;
                     }
                 }
                 i++;
             }
             if (right == task.RightVariants.Count())
             {
                 taskDBData.RightAttempts++;
             }
             if (isChecked)
             {
                 SetIsAnswered(sender);
             }
         }
         else
         {
             var    task           = tasks [currentTaskToShow] as BTask;
             var    answerEditText = FindViewById <EditText> (Resource.Id.AnswerTextBox);
             string answer         = answerEditText.Text;
             string rightAnswer    = task.Variant;
             if (!String.IsNullOrEmpty(rightAnswer))
             {
                 if (answer == rightAnswer)
                 {
                     taskDBData.RightAttempts++;
                 }
                 SetIsAnswered(sender);
             }
         }
         subjectRetriever.UpdateTaskDBData(taskDBData);
         ShowTask();
     }
     else
     {
         if (!isShowAnswer [currentTaskToShow])
         {
             isShowAnswer [currentTaskToShow] = true;
             GoToURL("http://goo.gl/MHtO2W");
         }
     }
 }
        private int GetTaskStatistic(SubjectRetriever retriever, SubjectTheme theme, Task task)
        {
            var taskData = retriever.GetTaskDBData(task, theme);
            int answered = taskData.RightAttempts;
            int overall  = taskData.OverallAttempts;

            if (overall == 0)
            {
                return(0);
            }
            return((int)(((float)answered) / overall * 100));
        }