Exemplo n.º 1
0
        private string ComposeBody()
        {
            var sb = new StringBuilder();

            sb.Append("General:\n");
            sb.AppendFormat(" - Total number of candidates registered: {0}\n", _userMetricsRepository.GetRegisteredUserCount());
            sb.AppendFormat(" - Total number of candidates registered and activated: {0}\n", _userMetricsRepository.GetRegisteredAndActivatedUserCount());

            // Apprenticeship applications.
            sb.Append("Apprenticeships:\n");
            sb.AppendFormat(" - Total number of applications: {0}\n", _apprenticeshipMetricsRepository.GetApplicationCount());
            sb.AppendFormat("   - Draft: {0}\n", _apprenticeshipMetricsRepository.GetApplicationStateCount(ApplicationStatuses.Draft));
            sb.AppendFormat("   - Submitted: {0}\n", _apprenticeshipMetricsRepository.GetApplicationStateCount(ApplicationStatuses.Submitted));
            sb.AppendFormat("   - Expired or Withdrawn: {0}\n", _apprenticeshipMetricsRepository.GetApplicationStateCount(ApplicationStatuses.ExpiredOrWithdrawn));
            sb.AppendFormat("   - Unsuccessful: {0}\n", _apprenticeshipMetricsRepository.GetApplicationStateCount(ApplicationStatuses.Unsuccessful));
            sb.AppendFormat("   - Successful: {0}\n", _apprenticeshipMetricsRepository.GetApplicationStateCount(ApplicationStatuses.Successful));

            // Apprenticeship applications per candidate.
            sb.AppendFormat(" - Total number of candidates with at least one application in any state: {0}\n",
                            _apprenticeshipMetricsRepository.GetApplicationCountPerCandidate());

            sb.AppendFormat(" - Total number of candidates with at least one application in draft: {0}\n",
                            _apprenticeshipMetricsRepository.GetApplicationStateCountPerCandidate(ApplicationStatuses.Draft));

            sb.AppendFormat(" - Total number of candidates with at least one submitted application: {0}\n",
                            _apprenticeshipMetricsRepository.GetApplicationStateCountPerCandidate(ApplicationStatuses.Submitting) +
                            _apprenticeshipMetricsRepository.GetApplicationStateCountPerCandidate(ApplicationStatuses.Submitted));

            sb.AppendFormat(" - Total number of candidates with at least one successful application: {0}\n",
                            _apprenticeshipMetricsRepository.GetApplicationStateCountPerCandidate(ApplicationStatuses.Successful));

            sb.AppendFormat(" - Total number of candidates with at least one unsuccessful application: {0}\n",
                            _apprenticeshipMetricsRepository.GetApplicationStateCountPerCandidate(ApplicationStatuses.Unsuccessful));

            // Traineeships.
            sb.Append("Traineeships:\n");
            sb.AppendFormat(" - Total number of applications submitted: {0}\n", _traineeshipMetricsRepository.GetApplicationCount());
            sb.AppendFormat(" - Total number of candidates with applications: {0}\n", _traineeshipMetricsRepository.GetApplicationsPerCandidateCount());

            // Communications.
            sb.Append("Communications:\n");
            sb.AppendFormat(" - Expiring draft applications emails sent today: {0}\n", _communicationsMetricsRepository.GetDraftApplicationEmailsSentToday());

            return(sb.ToString());
        }