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); }
private static string GetEmailTemplate(string title, string content) { return(SharedEmailTemplate.GetEmailTemplate(title, content)); }