protected override void HandleSmsMessage(Candidate candidate, CommunicationRequest communicationRequest) { var mobileNumber = communicationRequest.GetToken(CommunicationTokens.CandidateMobileNumber); HandleExpiringDraftSmsMessages(candidate, mobileNumber, communicationRequest); HandleApplicationStatusAlertSmsMessages(candidate, mobileNumber, communicationRequest); }
private void HandleApplicationStatusAlertSmsMessages( Candidate candidate, string mobileNumber, CommunicationRequest communicationRequest) { var applicationStatusAlertsJson = communicationRequest.GetToken(CommunicationTokens.ApplicationStatusAlerts); var applicationStatusAlerts = string.IsNullOrWhiteSpace(applicationStatusAlertsJson) ? new List <ApplicationStatusAlert>() : JsonConvert.DeserializeObject <List <ApplicationStatusAlert> >(applicationStatusAlertsJson); QueueApplicationStatusAlertSmsMessages(candidate, mobileNumber, applicationStatusAlerts); }
private void HandleExpiringDraftSmsMessages( Candidate candidate, string mobileNumber, CommunicationRequest communicationRequest) { var expiringDraftsJson = communicationRequest.GetToken(CommunicationTokens.ExpiringDrafts); var expiringDrafts = string.IsNullOrWhiteSpace(expiringDraftsJson) ? new List <ExpiringApprenticeshipApplicationDraft>() : JsonConvert.DeserializeObject <List <ExpiringApprenticeshipApplicationDraft> >(expiringDraftsJson); if (expiringDrafts.Count == 1) { QueueApplicationExpiringDraftSmsMessage(candidate, mobileNumber, expiringDrafts.First()); } else if (expiringDrafts.Count > 1) { QueueApplicationExpiringDraftsSummarySmsMessage(candidate, mobileNumber, expiringDrafts); } }