コード例 #1
0
        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);
            }
        }
コード例 #2
0
ファイル: MaintenanceHub.cs プロジェクト: tomhydra/spark
        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);
            }
        }