public async Task <IEnumerable <IApprenticeship> > GetApprenticeshipCollection() { using (var client = _cosmosDbHelper.GetTcpClient()) { await _cosmosDbHelper.CreateDatabaseIfNotExistsAsync(client); await _cosmosDbHelper.CreateDocumentCollectionIfNotExistsAsync(client, _cosmosSettings.ApprenticeshipCollectionId); return(_cosmosDbHelper.GetApprenticeshipCollection(client, _cosmosSettings.ApprenticeshipCollectionId)); } }
public async Task <CourseAudit> Audit(ILogger log, Document auditee) { Throw.IfNull(auditee, nameof(auditee)); Throw.IfNull(auditee.GetPropertyValue <Guid>("id"), "Document id"); CourseAudit persisted; Guid id = auditee.GetPropertyValue <Guid>("id"); try { log.LogInformation($"Writing audit for course { id }"); using (var client = _cosmosDbHelper.GetClient()) { await _cosmosDbHelper.CreateDocumentCollectionIfNotExistsAsync(client, _settings.AuditCollectionId); Document doc = await _cosmosDbHelper.CreateDocumentAsync(client, _settings.AuditCollectionId, new CourseAudit() { id = Guid.NewGuid(), Collection = _settings.CoursesCollectionId, DocumentId = id.ToString(), UpdatedBy = auditee.GetPropertyValue <string>("UpdatedBy") ?? auditee.GetPropertyValue <string>("CreatedBy"), UpdatedDate = auditee.GetPropertyValue <DateTime?>("UpdatedDate") ?? DateTime.Now, Document = auditee }); persisted = _cosmosDbHelper.DocumentTo <CourseAudit>(doc); } return(persisted); } catch (Exception ex) { throw ex; } }
public async Task Initialise() { using (var client = _cosmosDbHelper.GetClient()) { await _cosmosDbHelper.CreateDocumentCollectionIfNotExistsAsync(client, _settings.CoursesMigrationReportCollectionId); } }
public async Task <ICourse> AddCourse(ICourse course) { Throw.IfNull(course, nameof(course)); Course persisted; using (var client = _cosmosDbHelper.GetClient()) { await _cosmosDbHelper.CreateDatabaseIfNotExistsAsync(client); await _cosmosDbHelper.CreateDocumentCollectionIfNotExistsAsync(client, _settings.CoursesCollectionId); var doc = await _cosmosDbHelper.CreateDocumentAsync(client, _settings.CoursesCollectionId, course); persisted = _cosmosDbHelper.DocumentTo <Course>(doc); } return(persisted); }
public async Task CreateApprenticeshipReport(ApprenticeshipMigrationReport report) { var client = _cosmosDbHelper.GetClient(); await _cosmosDbHelper.CreateDatabaseIfNotExistsAsync(client); await _cosmosDbHelper.CreateDocumentCollectionIfNotExistsAsync(client, _settings.ApprenticeshipReportCollectionId); var result = _cosmosDbHelper.GetDocumentsByUKPRN <ApprenticeshipMigrationReport>(client, _settings.ApprenticeshipReportCollectionId, report.ProviderUKPRN); if (result.Any()) { report.Id = result.FirstOrDefault().Id; await _cosmosDbHelper.UpdateDocumentAsync(client, _settings.ApprenticeshipReportCollectionId, report); } else { var doc = await _cosmosDbHelper.CreateDocumentAsync(client, _settings.ApprenticeshipReportCollectionId, report); } }
public async Task <IEnumerable <IStandardsAndFrameworks> > StandardsAndFrameworksSearch(string search) { Throw.IfNullOrWhiteSpace(search, nameof(search)); IEnumerable <IStandardsAndFrameworks> persisted = null; var client = _cosmosDbHelper.GetClient(); await _cosmosDbHelper.CreateDatabaseIfNotExistsAsync(client); await _cosmosDbHelper.CreateDocumentCollectionIfNotExistsAsync(client, _settings.StandardsCollectionId); await _cosmosDbHelper.CreateDocumentCollectionIfNotExistsAsync(client, _settings.FrameworksCollectionId); var standardDocs = _cosmosDbHelper.GetStandardsAndFrameworksBySearch(client, _settings.StandardsCollectionId, search); var frameworkDocs = _cosmosDbHelper.GetStandardsAndFrameworksBySearch(client, _settings.FrameworksCollectionId, search); if (frameworkDocs.Count > 0) { frameworkDocs = _cosmosDbHelper.GetProgTypesForFramework(client, _settings.ProgTypesCollectionId, frameworkDocs); } var apprenticeshipsForUKPRN = persisted = standardDocs.Concat(frameworkDocs); return(persisted); }