public void LoadData() { var messages = new StringBuilder(); messages.AppendLine("Import completed!"); try { //cleans store and index Progress("Clearing the database...", 0); fhirStoreAdministration.Clean(); fhirIndex.Clean(); Progress("Loading examples data...", 5); this.resources = GetExampleData(); var resarray = resources.ToArray(); ResourceCount = resarray.Count(); for (int x = 0; x <= ResourceCount - 1; x++) { var res = resarray[x]; // Sending message: var msg = Message("Importing " + res.ResourceType.ToString() + " " + res.Id + "...", x); Clients.Caller.sendMessage(msg); try { //Thread.Sleep(1000); Key key = res.ExtractKey(); if (res.Id != null && res.Id != "") { fhirService.Put(key, res); } else { fhirService.Create(key, res); } } catch (Exception e) { // Sending message: var msgError = Message("ERROR Importing " + res.ResourceType.ToString() + " " + res.Id + "... ", x); Clients.Caller.sendMessage(msg); messages.AppendLine(msgError.Message + ": " + e.Message); } } Progress(messages.ToString(), 100); } catch (Exception e) { Progress("Error: " + e.Message); } }
public async void LoadExamplesToStore() { var messages = new StringBuilder(); var notifier = new HubContextProgressNotifier(_hubContext, _logger); try { await notifier.SendProgressUpdate("Loading examples data...", 1); _resources = GetExampleData(); var resarray = _resources.ToArray(); _resourceCount = resarray.Count(); for (int x = 0; x <= _resourceCount - 1; x++) { var res = resarray[x]; // Sending message: var msg = Message("Importing " + res.ResourceType.ToString() + " " + res.Id + "...", x); await notifier.SendProgressUpdate(msg.Message, msg.Progress); try { Key key = res.ExtractKey(); if (res.Id != null && res.Id != "") { _fhirService.Put(key, res); } else { _fhirService.Create(key, res); } } catch (Exception e) { // Sending message: var msgError = Message("ERROR Importing " + res.ResourceType.ToString() + " " + res.Id + "... ", x); await Clients.All.SendAsync("Error", msg); messages.AppendLine(msgError.Message + ": " + e.Message); } } await notifier.SendProgressUpdate(messages.ToString(), 100); } catch (Exception e) { await notifier.Progress("Error: " + e.Message); } }