public async Task <Guid> CreateProviderApplicationsReportAsync(long ukprn, DateTime fromDate, DateTime toDate, VacancyUser user, string reportName)
        {
            var reportId = Guid.NewGuid();

            var owner = new ReportOwner
            {
                OwnerType = ReportOwnerType.Provider,
                Ukprn     = ukprn
            };

            await _messaging.SendCommandAsync(new CreateReportCommand(
                                                  reportId,
                                                  owner,
                                                  ReportType.ProviderApplications,
                                                  new Dictionary <string, object> {
                { ReportParameterName.Ukprn, ukprn },
                { ReportParameterName.FromDate, fromDate },
                { ReportParameterName.ToDate, toDate }
            },
                                                  user,
                                                  reportName)
                                              );

            return(reportId);
        }
 public CreateReportCommand(Guid reportId, ReportOwner owner, ReportType reportType, Dictionary <string, object> parameters, VacancyUser requestedBy, string reportName)
 {
     ReportId    = reportId;
     Owner       = owner;
     ReportType  = reportType;
     Parameters  = parameters;
     RequestedBy = requestedBy;
     ReportName  = reportName;
 }
예제 #3
0
        private TestReportOrchestrator GetOrchestrator()
        {
            var logger = new Mock <ILogger>();

            var reportOwner = new ReportOwner {
                OwnerType = ReportOwnerType.Provider,
                Ukprn     = _ukprn
            };

            var report = new Report(_reportId, reportOwner, ReportStatus.New, "report name",
                                    ReportType.ProviderApplications, null, null, DateTime.Now);

            var repo = new Mock <IProviderVacancyClient>();

            repo.Setup(r => r.GetReportAsync(_reportId)).ReturnsAsync(report);

            return(new TestReportOrchestrator(logger.Object, repo.Object));
        }