Beispiel #1
0
        public async Task SendAppointmentReminderAsync(InterviewAppointment appointment, int time)
        {
            CloudStorageAccount appointmentReminderStorageAccount = CloudStorageAccount.Parse(_configuration["GenerateAppointmentReminderQueueConnectionString"]);
            CloudQueueClient    appointmentReminderQueueClient    = appointmentReminderStorageAccount.CreateCloudQueueClient();
            CloudQueue          appointmentReminderQueue          = appointmentReminderQueueClient.GetQueueReference("generateappointmentreminderqueue");
            await appointmentReminderQueue.CreateIfNotExistsAsync();

            var appointmentReminderMessage = new AppointmentReminderMessage()
            {
                Email = appointment.Interview.Application.User.Email,
                InterviewAppointmentId = appointment.Id,
                JobPositionName        = appointment.Interview.Application.JobPosition.Name,
                NotificationTime       = appointment.StartTime.Subtract(TimeSpan.FromHours(time)),
                StartTime = appointment.StartTime,
                Duration  = appointment.Duration,
                EndTime   = appointment.EndTime,
            };

            appointmentReminderMessage.Subject = _stringLocalizer["{0} - Interview appointment reminder", appointmentReminderMessage.JobPositionName];
            appointmentReminderMessage.Content = SharedEmailTemplate.GetEmailTemplate(_stringLocalizer["Interview appointment reminder <br/>{0}", appointmentReminderMessage.JobPositionName], _stringLocalizer["Interview appointment reminder: StartTime: {0}", appointmentReminderMessage.StartTime]);

            CloudQueueMessage queueMessage = new CloudQueueMessage(JsonConvert.SerializeObject(appointmentReminderMessage));
            await appointmentReminderQueue.AddMessageAsync(queueMessage);
        }
Beispiel #2
0
 private static string GetEmailTemplate(string title, string content)
 {
     return(SharedEmailTemplate.GetEmailTemplate(title, content));
 }