예제 #1
0
        public async Task Send([QueueTrigger(Queues.ApprovalEmailQueue, Connection = "AzureWebJobsStorage")] PendingSubmissionDto pending, FunctionContext context)
        {
            var logger = context.GetLogger("approval-email");

            await moderationService.SendApprovalEmail(pending);

            logger.LogInformation($"la-hm-approvals message proccessed:\nEmail sent.");
        }
 public ApprovalRequestDto(PendingSubmissionDto submission)
 {
     Id              = submission.Id;
     Name            = submission.Name;
     Description     = submission.Description;
     Latitude        = submission.Latitude;
     Longitude       = submission.Longitude;
     ImageFileName   = submission.ImageFileName;
     Type            = submission.Type;
     DeepLinkBaseUrl = submission.DeepLinkBaseUrl;
 }
        public async Task SendApprovalEmail(PendingSubmissionDto pending)
        {
            using var connection = GetConnection();
            connection.Open();
            using var transaction = connection.BeginTransaction();
            var otp = await authService.GetOtpForMarker(pending.Id, transaction);

            var tos        = Environment.GetEnvironmentVariable("ToEmails").Split(",");
            var templateId = Environment.GetEnvironmentVariable("Template");
            await emailService.SendTemplatedEmail(tos, templateId, new ApprovalRequestDto(pending)
            {
                Otp = otp
            });

            transaction.Commit();
        }