Hente ut endringer etter dato
Noen ganger vil man hente ut alle data fra KL06 som er endret etter en dato.
C#
SOAP
public async Task HentAlleLæreplanerEndretEtterDato(DateTime dato)
{
var client = new GrepSoapClient();
// Setter sist endret for å hente ut alle endringer etter denne datao
var læreplaner = await client.FinnPlanerAsync(new laereplansoekrequest {sistendret = dato} );
if (læreplaner.treff.Any() == false)
{
Debug.WriteLine("Ingen endringer siden " + dato.ToShortDateString());
}
foreach (var laereplansoekeresultat in læreplaner.treff)
{
var læreplan =
client.HentPlanFraKode(new hentlaereplanfrakoderequest { Kode = laereplansoekeresultat.kode });
Debug.WriteLine(læreplan.kode + " " + læreplan.tittel.First(t => t.spraak == "default").verdi);
}
}
Rest
public async Task HentAlleLæreplanerEndretEtterDato(DateTime dato)
{
var client = new HttpClient();
var læreplaner = JsonConvert.DeserializeObject<dynamic>(await client.GetStringAsync("http://data.udir.no/kl06/Odata/Læreplan?$format=json&$filter=SistEndret gt datetime'" + dato.ToString("s") +"'"));
foreach (var læreplanInfo in læreplaner.d.results)
{
string urlData = læreplanInfo.UrlData;
laereplan læreplan = JsonConvert.DeserializeObject<laereplan>(await client.GetStringAsync(urlData));
Debug.WriteLine(læreplan.kode + " " + læreplan.tittel.First(t => t.spraak == "default").verdi);
}
Javascript
Rest
Dette eksempelet bruker JQuery.
var hentSpesifikkLæreplan = function (url) {
hent(url).then(function(læreplan) {
console.log(_.find(læreplan.tittel, function(tittel) {
return tittel.noekkel == 'default';
}).verdi);
}, function(feil) {
console.log(feil);
});
}
var hentLæreplanlisteEndretEtterDato = function (dato) {
return hent("http://data.udir.no/kl06/Odata/Læreplan?$format=json&$filter=SistEndret gt datetime'" + dato + "'");
};
var traverserLæreplanerEndretEtterDato = function (dato) {
hentLæreplanlisteEndretEtterDato(dato).then(function (læreplaner) {
console.log(læreplaner.d.results.length + ' læreplaner endret etter ' + dato);
for (var i = 0; i < læreplaner.d.results.length; i++) {
hentSpesifikkLæreplan(læreplaner.d.results[i]['UrlData']);
}
});
}