private static object[] GetWebBasedSample(string legalRessource) { var qs = new RdfBasedLegalDocumentLoader().Load(legalRessource); var docType = qs.GetDocType(); var components = legalRessource.Split('/'); var number = int.Parse(components.Last()); var year = int.Parse(components[components.Length - 2]); var target = new TargetDocument(new Uri($"{legalRessource}/xml"), docType, year, number); return(new object[] { target, qs.GetChangeDocuments(), XDocument.Load($"{qs.GetLaterConsolidationUri()}/xml") }); }
public async Task HarvestCompleteSample(string legalRessource, DirectoryInfo targetDir) { var qs = new RdfBasedLegalDocumentLoader().Load(legalRessource); var sampleFileName = GetLegalResourceFilename(legalRessource, qs); var client = new WebClient(); await DownloadFileAsync(targetDir, client, sampleFileName, new Uri($"{legalRessource}/xml")); foreach (var changeDocument in qs.GetChangeDocuments()) { var ressource = changeDocument.LegalRessource.ToString(); var rdfQuerySource = GetRdfQuerySource(ressource); var fileName = GetLegalResourceFilename(ressource, rdfQuerySource); await DownloadFileAsync(targetDir, client, fileName, changeDocument.LegalExpressionXmlFormatUri); } var targetConsolidation = qs.GetLaterConsolidationUri(); await DownloadFileAsync(targetDir, client, GetLegalResourceFilename(targetConsolidation, GetRdfQuerySource(targetConsolidation)), new Uri($"{targetConsolidation}/xml")); }