private void updateAnswerDashBoard(SurveyStudentResponseBto oneResponse) { _studentResponses.Add(oneResponse); int totalResponses = _studentResponses.Count; int answerOneCount = _studentResponses.Count(x => x.Answer == textEditAnswer1.Text.Trim()); int answerTwoCount = _studentResponses.Count(x => x.Answer == textEditAnswer2.Text.Trim()); double answerOnePercentage = CalculatePercentage(answerOneCount, totalResponses); double answerTwoPercentage = CalculatePercentage(answerTwoCount, totalResponses); responseText1.Text = "Response count : " + answerOneCount.ToString() + " out of " + totalResponses.ToString() + ". ( Percentage :" + Math.Round(answerOnePercentage, 2).ToString() + "% )"; responseText2.Text = "Response count : " + answerTwoCount.ToString() + " out of " + totalResponses.ToString() + ". ( Percentage :" + Math.Round(answerTwoPercentage, 2).ToString() + "% )"; }
/// <summary> /// Handle this event, everytime a student response to the survey /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SurveyRequest_ResponseReceived(object sender, SurveyResponseBto e) { SurveyStudentResponseBto oneResponse = new SurveyStudentResponseBto() { Answer = e.Answer.Trim() }; if (InvokeRequired) { Invoke(_delUpdateUI, oneResponse); } else { updateAnswerDashBoard(oneResponse); } }