public async Task SendEmailAsync([ActivityTrigger] EmailSenderRequest request) { if (request.SyncJob != null) { await _loggingRepository.LogMessageAsync(new LogMessage { Message = $"{nameof(EmailSenderFunction)} function started", RunId = request.RunId }); await _calculator.SendEmailAsync(request.SyncJob, request.RunId, SyncDisabledNoValidGroupIds, new[] { request.SyncJob.Query, _emailSenderRecipient.SupportEmailAddresses }); await _loggingRepository.LogMessageAsync(new LogMessage { Message = $"{nameof(EmailSenderFunction)} function completed", RunId = request.RunId }); } }
public async Task <bool> ValidateGroupAsync([ActivityTrigger] GroupValidatorRequest request, ILogger log) { bool isExistingGroup = false; await _log.LogMessageAsync(new LogMessage { Message = $"{nameof(GroupValidatorFunction)} function started", RunId = request.RunId }); var groupExistsResult = await _calculator.GroupExistsAsync(request.ObjectId, request.RunId); if (groupExistsResult.Outcome == OutcomeType.Successful && groupExistsResult.Result) { await _log.LogMessageAsync(new LogMessage { RunId = request.RunId, Message = $"Group with ID {request.ObjectId} exists." }); isExistingGroup = true; } else { if (groupExistsResult.Outcome == OutcomeType.Successful) { await _log.LogMessageAsync(new LogMessage { RunId = request.RunId, Message = $"Group with ID {request.ObjectId} doesn't exist. Stopping sync and marking as error." }); if (request.SyncJob != null) { await _calculator.SendEmailAsync(request.SyncJob, request.RunId, SyncDisabledNoGroupEmailBody, new[] { request.ObjectId.ToString() }); } } else if (groupExistsResult.FaultType == FaultType.ExceptionHandledByThisPolicy) { await _log.LogMessageAsync(new LogMessage { RunId = request.RunId, Message = $"Exceeded {NumberOfGraphRetries} while trying to determine if a group exists. Stopping sync and marking as error." }); } if (groupExistsResult.FinalException != null) { throw groupExistsResult.FinalException; } isExistingGroup = false; } await _log.LogMessageAsync(new LogMessage { Message = $"{nameof(GroupValidatorFunction)} function completed", RunId = request.RunId }); return(isExistingGroup); }