public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, [Inject] IPeriodEndMetricsService periodEndMetricsService) { long.TryParse(req.Query["jobId"], out var jobId); short.TryParse(req.Query["academicYear"], out var academicYear); byte.TryParse(req.Query["collectionPeriod"], out var collectionPeriod); var result = await periodEndMetricsService.BuildMetrics(jobId, academicYear, collectionPeriod, CancellationToken.None); if (result == null) { throw new ApplicationException("Error in Period End Request Reports"); } return(new OkObjectResult(result)); //200 }
public PeriodEndRequestReportsEventHandler(IPaymentLogger logger, IPeriodEndMetricsService periodEndMetricsService) { this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.periodEndMetricsService = periodEndMetricsService ?? throw new ArgumentNullException(nameof(periodEndMetricsService)); }