Esempio n. 1
0
        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");
        }
Esempio n. 2
0
        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);
 }