//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> /// Generate CSharp code from xml string /// </summary> /// <param name="xmlContent"></param> /// <returns></returns> /// <exception cref="ArgumentNullException"></exception> public string Generate(string xmlContent) { if (string.IsNullOrEmpty(xmlContent)) { throw new ArgumentNullException(); } MetaData = MetaDataReader.LoadMetaDataFromXml(xmlContent); var gen = PocoFactory.GeneratePoco(MetaData, Setting); CodeText = gen.ToString(); ClassList = gen.ClassList; Debug.WriteLine(CodeText); return(CodeText); }
public async Task <string> GenerateAsync(Uri uri, string user = "", string password = "") { //if (string.IsNullOrEmpty(uri.AbsoluteUri)) // throw new ArgumentNullException(); // MetaData = await MetaDataReader.LoadMetaDataHttpAsync(ServiceUri, User, Password); MetaData = await MetaDataReader.LoadMetaDataHttpAsync(uri, user, password); var gen = PocoFactory.GeneratePoco(MetaData, Setting); ClassList = gen.ClassList; CodeText = gen.ToString(); Debug.WriteLine(CodeText); return(CodeText); }
//public O2P Generate(string fname = "poco.cs") //{ // Generate(Setting); // File.WriteAllText(fname, CodeText); // return this; //} public O2P Generate(string fname = "meta.xml") //PocoSetting pocoSetting) { if (Url == null) { throw new NullReferenceException("Url is empty"); } _metaDataReader = string.IsNullOrEmpty(User) ? new MetaDataReader(Url) : new MetaDataReader(Url, User, Password); Console.WriteLine("o2p generate key: {0}", Setting.AddKeyAttribute); var gen = _metaDataReader.Generate(Setting); CodeText = gen.ToString(); File.WriteAllText(fname, CodeText); //ClassList = gen.ClassDictionary.Select(kvp => kvp.Value).ToList(); ClassList = gen.ClassList; return(this); }
//public O2P Generate(string fname = "poco.cs") //{ // Generate(Setting); // File.WriteAllText(fname, CodeText); // return this; //} public O2P Generate(string fname = "meta.xml") //PocoSetting pocoSetting) { if (Url == null) throw new NullReferenceException("Url is empty"); _metaDataReader = string.IsNullOrEmpty(User) ? new MetaDataReader(Url) : new MetaDataReader(Url, User, Password); Console.WriteLine("o2p generate key: {0}", Setting.AddKeyAttribute); var gen = _metaDataReader.Generate(Setting); CodeText = gen.ToString(); File.WriteAllText(fname, CodeText); //ClassList = gen.ClassDictionary.Select(kvp => kvp.Value).ToList(); ClassList = gen.ClassList; return this; }