public int CreateImportRequest()

in src/ApiForFhirMigrationTool.Function/OrchestrationHelper/OrchestrationHelper.cs [26:96]


        public int CreateImportRequest(string content, string importMode, string statusUrl)
        {
            int fileCount = _options.FileCount;
            string statusId = GetProcessId(statusUrl);
            int importPayloadCount = 1;
            try
            {
                JObject objResponse = JObject.Parse(content);
                var objOutput = objResponse["output"];
                JObject importRequest = new JObject();
                importRequest.Add("resourceType", "Parameters");
                JArray paramArray = new JArray();
                JObject inputFormat = new JObject();
                inputFormat.Add("name", "inputFormat");
                inputFormat.Add("valueString", "application/fhir+ndjson");
                JObject mode = new JObject();
                mode.Add("name", "mode");
                mode.Add("valueString", importMode);

                paramArray.Add(inputFormat);
                paramArray.Add(mode);
                int counter = 0;


                if (objOutput != null)
                {
                    foreach (var item in objOutput)
                    {
                        if (item?["type"]?.ToString() != "SearchParameter")
                        {
                            if (counter == fileCount)
                            {
                                importRequest.Add("parameter", paramArray);
                                SaveImportRequestToFile(importRequest, importPayloadCount, statusId);
                                importRequest = new JObject();
                                importRequest.Add("resourceType", "Parameters");
                                paramArray = new JArray();
                                paramArray.Add(inputFormat);
                                paramArray.Add(mode);

                                counter = 0;
                                importPayloadCount++;
                            }
                            JObject input = new JObject();
                            input.Add("name", "input");
                            JArray partArray = new JArray();
                            JObject type = new JObject();
                            type.Add("name", "type");
                            type.Add("valueString", item?["type"]);
                            partArray.Add(type);
                            JObject url = new JObject();
                            url.Add("name", "url");
                            url.Add("valueString", item?["url"]);
                            partArray.Add(url);

                            input.Add("part", partArray);
                            paramArray.Add(input);
                            counter++;
                        }
                    }
                    importRequest.Add("parameter", paramArray);
                    SaveImportRequestToFile(importRequest, importPayloadCount, statusId);
                }

            }
            catch
            {
                throw;
            }
            return importPayloadCount;
        }