public IEnumerable <string> GetAllObjectNames() { var objectList = new List <string>(); var httpManager = new HttpManager(); var requestJson = httpManager.Get("sobjects/"); var cacheLocation = Path.Combine(ApexSharp.GetSession().VsProjectLocation, "Cache", "objectList.json"); File.WriteAllText(cacheLocation, requestJson); var json = File.ReadAllText(cacheLocation); var sObjectList = JsonConvert.DeserializeObject <SObjectDescribe>(json); foreach (var sobject in sObjectList.sobjects) { objectList.Add(sobject.name); } return(objectList); }
public List <string> GetAllObjectNames() { List <string> objectList = new List <string>(); HttpManager httpManager = new HttpManager(); var requestJson = httpManager.Get($"sobjects/"); var cacheLocation = Path.Combine(ConnectionUtil.GetSession().VsProjectLocation, "Cache"); File.WriteAllText(cacheLocation + "/objectList.json", requestJson); var json = File.ReadAllText(cacheLocation + "/objectList.json"); SObjectDescribe sObjectList = JsonConvert.DeserializeObject <SObjectDescribe>(json); foreach (var sobject in sObjectList.sobjects) { objectList.Add(sobject.name); } return(objectList); }
public List <Sobject> GetAllObjects() { string dirPath = ConnectionUtil.GetSession().VsProjectLocation; HttpManager httpManager = new HttpManager(); var requestJson = httpManager.Get($"sobjects/"); File.WriteAllText(dirPath + @"\objectList.json", requestJson); var json = File.ReadAllText(dirPath + @"\objectList.json"); SObjectDescribe sObjectList = JsonConvert.DeserializeObject <SObjectDescribe>(json); return(sObjectList.sobjects.ToList()); //var customObjectCount = allSobjects.Where(x => x.custom).ToList(); //var customSetting = allSobjects.Where(x => x.customSetting).ToList(); //var objectCount = allSobjects.Where(x => x.custom == false && x.customSetting == false).ToList(); //System.Console.WriteLine(customObjectCount.Count()); //System.Console.WriteLine(customSetting.Count()); //System.Console.WriteLine(objectCount.Count()); }
public void CreateOfflineSymbolTable(List <string> sobjectList, string nameSpace) { Parallel.ForEach(sobjectList, sobject => { var httpManager = new HttpManager(); var objectDetailjson = httpManager.Get($"sobjects/{sobject}/describe"); var sObjectDetail = JsonConvert.DeserializeObject <SObjectDetail>(objectDetailjson); objectDetailjson = JsonConvert.SerializeObject(sObjectDetail, Formatting.Indented); var jsonFileName = sobject + ".json"; var cacheLocation = Path.Combine(ApexSharp.GetSession().VsProjectLocation, "Cache", jsonFileName); File.WriteAllText(cacheLocation, objectDetailjson); var sObjectClass = CreateSalesForceClasses(nameSpace, sObjectDetail); var saveFileName = sobject + ".cs"; var sobjectLocation = Path.Combine(ApexSharp.GetSession().VsProjectLocation, "SObjects", saveFileName); File.WriteAllText(sobjectLocation, sObjectClass); Log.ForContext <ModelGen>().Debug("Saved {sobject}", saveFileName); }); }