public async Task <IApprenticeship> AddApprenticeship(IApprenticeship apprenticeship) { Throw.IfNull(apprenticeship, nameof(apprenticeship)); Apprenticeship persisted; var client = _cosmosDbHelper.GetClient(); await _cosmosDbHelper.CreateDatabaseIfNotExistsAsync(client); var doc = await _cosmosDbHelper.CreateDocumentAsync(client, _settings.ApprenticeshipCollectionId, apprenticeship); persisted = _cosmosDbHelper.DocumentTo <Apprenticeship>(doc); return(persisted); }
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 <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); }