コード例 #1
0
        private async Task UpdateAppTexts(
            string org, string repository, string developer, Manatee.Json.Schema.JsonSchema jsonSchema)
        {
            JsonSchemaToInstanceModelGenerator converter = new JsonSchemaToInstanceModelGenerator(org, repository, jsonSchema);
            var newTexts = converter.GetTexts();

            var altinnAppGitRepository = _altinnGitRepositoryFactory.GetAltinnAppGitRepository(org, repository, developer);
            var existingTexts          = await altinnAppGitRepository.GetTextResourcesForAllLanguages();

            MergeTexts(newTexts, existingTexts);

            await altinnAppGitRepository.SaveServiceTexts(existingTexts);
        }
コード例 #2
0
        public ActionResult Upload(string org, string service, IFormFile thefile)
        {
            if (thefile == null)
            {
                throw new ApplicationException("Cannot upload empty file");
            }

            string mainFileName = ContentDispositionHeaderValue.Parse(new StringSegment(thefile.ContentDisposition)).FileName.ToString();

            MemoryStream xsdMemoryStream = new MemoryStream();

            thefile.OpenReadStream().CopyTo(xsdMemoryStream);
            xsdMemoryStream.Position = 0;
            XmlReader reader = XmlReader.Create(xsdMemoryStream, new XmlReaderSettings {
                IgnoreWhitespace = true
            });

            XDocument mainXsd = XDocument.Load(reader, LoadOptions.None);

            ServiceMetadata serviceMetadata = null;

            bool useOldParser = false;

            if (useOldParser)
            {
                var seresParser = new SeresXsdParser(_repository);
                serviceMetadata = seresParser.ParseXsdToServiceMetadata(org, service, mainXsd, null);
            }
            else
            {
                xsdMemoryStream.Position = 0;
                reader = XmlReader.Create(xsdMemoryStream, new XmlReaderSettings {
                    IgnoreWhitespace = true
                });

                XsdToJsonSchema xsdToJsonSchemaConverter = new XsdToJsonSchema(reader, _loggerFactory.CreateLogger <XsdToJsonSchema>());
                JsonSchema      schemaJsonSchema         = xsdToJsonSchemaConverter.AsJsonSchema();

                JsonSchemaToInstanceModelGenerator converter = new JsonSchemaToInstanceModelGenerator(org, service, schemaJsonSchema);
                serviceMetadata = converter.GetServiceMetadata();

                HandleTexts(org, service, converter.GetTexts());
            }

            if (_repository.CreateModel(org, service, serviceMetadata, mainXsd))
            {
                return(RedirectToAction("Index", new { org, service }));
            }

            return(Json(false));
        }
コード例 #3
0
        public ActionResult Upload(string org, string app, IFormFile thefile)
        {
            if (thefile == null)
            {
                throw new ApplicationException("Cannot upload empty file");
            }

            string mainFileName = ContentDispositionHeaderValue.Parse(new StringSegment(thefile.ContentDisposition)).FileName.ToString();

            MemoryStream xsdMemoryStream = new MemoryStream();

            thefile.OpenReadStream().CopyTo(xsdMemoryStream);
            xsdMemoryStream.Position = 0;
            XmlReader reader = XmlReader.Create(xsdMemoryStream, new XmlReaderSettings {
                IgnoreWhitespace = true
            });

            XDocument mainXsd = XDocument.Load(reader, LoadOptions.None);

            xsdMemoryStream.Position = 0;
            reader = XmlReader.Create(xsdMemoryStream, new XmlReaderSettings {
                IgnoreWhitespace = true
            });

            XsdToJsonSchema xsdToJsonSchemaConverter = new XsdToJsonSchema(reader, _loggerFactory.CreateLogger <XsdToJsonSchema>());
            JsonSchema      schemaJsonSchema         = xsdToJsonSchemaConverter.AsJsonSchema();

            JsonSchemaToInstanceModelGenerator converter = new JsonSchemaToInstanceModelGenerator(org, app, schemaJsonSchema);
            ModelMetadata modelMetadata = converter.GetModelMetadata();

            HandleTexts(org, app, converter.GetTexts());

            string modelName = Path.GetFileNameWithoutExtension(mainFileName);

            if (_repository.CreateModel(org, app, modelMetadata, mainXsd, modelName))
            {
                return(RedirectToAction("Index", new { org, app, modelName }));
            }

            return(Json(false));
        }