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