Ejemplo n.º 1
0
        public void GenerateClasses(string nameSpace)
        {
            try
            {
                var className = Name.SanitiseClassName();

                var finalNamespace = nameSpace + "." + className + "Input";
                var outputStream   = new MemoryStream();
                var outputWriter   = new StreamWriter(outputStream);

                var jsg = new JsonClassGenerator
                {
                    Example                = Json,
                    Namespace              = finalNamespace,
                    MainClass              = className,
                    OutputStream           = outputWriter,
                    NoHelperClass          = true,
                    UseProperties          = true,
                    GeneratePartialClasses = true
                };

                jsg.GenerateClasses();

                outputWriter.Flush();
                outputStream.Seek(0, SeekOrigin.Begin);

                var classDef = new StreamReader(outputStream)
                               .ReadToEnd()
                               .Replace("IList<", "List<");

                classDef =
                    classDef.Substring(classDef.IndexOf(String.Format("namespace {0}", nameSpace),
                                                        StringComparison.Ordinal));

                NamespacesToAdd.Add(finalNamespace);

                _generatedClass = new JsonTextGeneratedClass(this)
                {
                    Namespace       = finalNamespace,
                    ClassName       = className,
                    ClassDefinition = classDef,
                    Success         = true
                };
            }
            catch (Exception e)
            {
                _generatedClass = new JsonTextGeneratedClass(this)
                {
                    Success = false,
                    Error   = e
                };
            }
        }
        public void GenerateClasses(string nameSpace)
        {
            try
            {
                var className = Name.SanitiseClassName();

                var finalNamespace = nameSpace + "." + className + "Input";
                var outputStream = new MemoryStream();
                var outputWriter = new StreamWriter(outputStream);

                var jsg = new JsonClassGenerator
                {
                    Example = Json,
                    Namespace = finalNamespace,
                    MainClass = className,
                    OutputStream = outputWriter,
                    NoHelperClass = true,
                    UseProperties = true,
                    GeneratePartialClasses = true
                };

                jsg.GenerateClasses();

                outputWriter.Flush();
                outputStream.Seek(0, SeekOrigin.Begin);

                var classDef = new StreamReader(outputStream)
                    .ReadToEnd()
                    .Replace("IList<", "List<");

                classDef =
                    classDef.Substring(classDef.IndexOf(String.Format("namespace {0}", nameSpace),
                        StringComparison.Ordinal));

                NamespacesToAdd.Add(finalNamespace);

                _generatedClass = new JsonTextGeneratedClass(this)
                {
                    Namespace = finalNamespace,
                    ClassName = className,
                    ClassDefinition = classDef,
                    Success = true
                };
            }
            catch (Exception e)
            {
                _generatedClass = new JsonTextGeneratedClass(this)
                {
                    Success = false,
                    Error = e
                };
            }
        }