public async Task SendEmployerReferralEmailsAsync([QueueTrigger(QueueName.EmployerReferralEmailQueue, Connection = "BlobStorageConnectionString")] SendEmployerReferralEmail employerReferralEmailData, ExecutionContext context, ILogger logger) { var stopwatch = Stopwatch.StartNew(); var opportunityId = employerReferralEmailData.OpportunityId; var backgroundProcessHistoryId = employerReferralEmailData.BackgroundProcessHistoryId; var itemIds = employerReferralEmailData.ItemIds; try { await _referralEmailService.SendEmployerReferralEmailAsync(opportunityId, itemIds, backgroundProcessHistoryId, "System"); } catch (Exception e) { var errorMessage = $"Error sending employer referral email for opportunity id, {opportunityId}. Internal Error Message {e}"; logger.LogError(errorMessage); await _functionLogRepository.CreateAsync(new FunctionLog { ErrorMessage = errorMessage, FunctionName = context.FunctionName, RowNumber = -1 }); } stopwatch.Stop(); logger.LogInformation($"Function {context.FunctionName} sent emails\n" + $"\tTime taken: {stopwatch.ElapsedMilliseconds: #,###}ms"); }
public When_SendEmployerReferralEmails_Function_Queue_Trigger_Fires() { _referralEmailService = Substitute.For <IReferralEmailService>(); _functionLogRepository = Substitute.For <IRepository <FunctionLog> >(); var data = new SendEmployerReferralEmail { OpportunityId = 1, ItemIds = new List <int> { 101 }, BackgroundProcessHistoryId = 10 }; var providerQuarterlyUpdateEmailFunctions = new Functions.ReferralEmails(_referralEmailService, _functionLogRepository); providerQuarterlyUpdateEmailFunctions.SendEmployerReferralEmailsAsync( data, new ExecutionContext(), new NullLogger <Functions.ReferralEmails>() ).GetAwaiter().GetResult(); }
public async Task PushEmployerReferralEmailMessageAsync(SendEmployerReferralEmail employerReferralEmail) { await PushMessageAsync( JsonConvert.SerializeObject(employerReferralEmail), QueueName.EmployerReferralEmailQueue); }