Esempio n. 1
0
        public static PocoClassGeneratorCs GenerateCsPocoClass(IPocoGenerator pocoGen, PocoSetting?setting)
        {
            setting ??= new PocoSetting();
            //add jsonproperty to properties/classes that are renamed
            setting.Attributes.Add("original"); //v3.2


            //initialize AttributeFactory to use pocosetting.Attributes
            AttributeFactory.Default.Init(setting);

            var generator = new PocoClassGeneratorCs(pocoGen, setting);

            //filter model
            var generatorClassList = generator.ClassList;

            if (setting.Include?.Count > 0)
            {
                generator.ClassList = ModelFilter.FilterList(generatorClassList, setting.Include).ToList();
            }

            //change case
            if (setting.EntityNameCase != CaseEnum.None)
            {
                ModelChangeCase.RenameClasses(generatorClassList, setting.EntityNameCase);
            }

            //check reserved keywords
            ModelManager.RenameReservedWords(generatorClassList);
            generator.Header = generator.GetHeader() ?? "";
            //CodeText = null;
            return(generator);
        }
Esempio n. 2
0
        internal async Task <IPocoGenerator> GenerateModel(OdataConnectionString odataConnString)
        {
            IPocoGenerator gen = await PocoFactory.GenerateModel(odataConnString, Setting);

            MetaData = gen.MetaData;
            return(gen);
        }
 //container for all classes
 /// <summary>
 ///     Constructor
 /// </summary>
 /// <param name="pocoGen"></param>
 /// <param name="setting"></param>
 private PocoClassGeneratorCs(IPocoGenerator pocoGen, PocoSetting setting)
 {
     PocoSetting = setting;
     _pocoGen    = pocoGen;
     ClassList   = pocoGen.GeneratePocoList();
     CodeText    = null;
 }
Esempio n. 4
0
        //todo
        internal static async Task <IPocoGenerator> GenerateModel(OdataConnectionString connectionString,
                                                                  PocoSetting setting)
        {
            var metaData = await MetaDataReader.LoadMetadataAsync(connectionString);

            IPocoGenerator generator = Create(metaData, setting);

            return(generator);
        }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="pocoGen"></param>
 /// <param name="setting"></param>
 public PocoClassGeneratorCs(IPocoGenerator pocoGen, PocoSetting setting = null)
 {
     PocoSetting = setting ?? new PocoSetting();
     _pocoGen = pocoGen;
     _classDictionary = new Dictionary<string, ClassTemplate>();
     Template = new FluentCsTextTemplate();
     var list = _pocoGen.GeneratePocoList(); //generate all classes from model
     if (list != null)
         foreach (var item in list) _classDictionary[item.Name] = item;
     //Console.WriteLine("PocoClassGeneratorCs constructor key: {0}", PocoSetting.AddKeyAttribute);
     CodeText = null;
 }
        //container for all classes
        /// <summary>
        ///     Constructor
        /// </summary>
        /// <param name="pocoGen"></param>
        /// <param name="setting"></param>
        public PocoClassGeneratorCs(IPocoGenerator pocoGen, PocoSetting setting = null)
        {
            PocoSetting = setting ?? new PocoSetting();
            _pocoGen    = pocoGen;
            //add jsonproperty to properties/classes that are renamed
            PocoSetting?.Attributes.Add("original"); //v3.2

            //initialize AttributeFactory to use pocosetting.Attributes
            AttributeFactory.Default.Init(PocoSetting);

            ClassList = _pocoGen.GeneratePocoList();
            //check reserved keywords
            ModelManager.RenameClasses(ClassList);
            Header   = GetHeader() ?? "";
            CodeText = null;
        }
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="pocoGen"></param>
        /// <param name="setting"></param>
        public PocoClassGeneratorCs(IPocoGenerator pocoGen, PocoSetting setting = null)
        {
            PocoSetting      = setting ?? new PocoSetting();
            _pocoGen         = pocoGen;
            _classDictionary = new Dictionary <string, ClassTemplate>();
            Template         = new FluentCsTextTemplate();
            var list = _pocoGen.GeneratePocoList(); //generate all classes from model

            if (list != null)
            {
                foreach (var item in list)
                {
                    _classDictionary[item.Name] = item;
                }
            }
            //Console.WriteLine("PocoClassGeneratorCs constructor key: {0}", PocoSetting.AddKeyAttribute);
            CodeText = null;
        }
Esempio n. 8
0
        /// <summary>
        /// Generate code PocoSetting setting =null, Language lang = Language.CS
        /// </summary>
        /// <returns></returns>
        //public PocoClassGeneratorCs Generate()
        //{
        //    PocoSetting setting = new PocoSetting();
        //    return Generate(setting);
        //}

        public PocoClassGeneratorCs Generate(PocoSetting setting, Language lang = Language.CS)
        {
            Console.WriteLine("metadatareader generate key: {0}", setting.AddKeyAttribute);
            if (MetaData == null)
            {
                MetaData = LoadMetaData();
            }
            IPocoGenerator       pocoFactory = PocoFactory.Create(MetaData);
            PocoClassGeneratorCs generator;

            if (lang == Language.CS)
            {
                generator = new PocoClassGeneratorCs(pocoFactory, setting);                     //.GeneratePoco();
            }
            else //vb ,java,...
            {
                throw new NotImplementedException();
            }
            return(generator);
        }
Esempio n. 9
0
        /// <summary>
        ///     Constructor
        /// </summary>
        /// <param name="pocoGen"></param>
        /// <param name="setting"></param>
        public PocoClassGeneratorCs(IPocoGenerator pocoGen, PocoSetting setting = null)
        {
            PocoSetting = setting ?? new PocoSetting();
            //initialize AttributeFactory to use pocosetting.Attributes
            AttributeFactory.Default.Init(PocoSetting);
            _pocoGen  = pocoGen;
            PocoModel = new Dictionary <string, ClassTemplate>();
            Template  = new FluentCsTextTemplate();
            var list = _pocoGen.GeneratePocoList(); //generate all classes from model

            //check reserved keywords
            ModelManager.RenameClasses(list);
            if (list != null)
            {
                foreach (var item in list)
                {
                    PocoModel[item.Name] = item;
                }
            }

            CodeText = null;
        }
Esempio n. 10
0
 public Converter(IDataSetProvider dataSetProvider, IPocoGenerator pocoGenerator, ICsvWriter csvWriter)
 {
     DataSetProvider = dataSetProvider;
     PocoGenerator   = pocoGenerator;
     CsvWriter       = csvWriter;
 }
Esempio n. 11
0
 public void AddGenerator(IPocoGenerator pocoGenerator)
 {
     PocoGenerator = pocoGenerator;
     ClassList     = pocoGenerator.GeneratePocoList();
 }
Esempio n. 12
0
 public PocoClassGeneratorVb(IPocoGenerator pocoFactory, PocoSetting setting)
 {
     throw new NotImplementedException();
 }