Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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());
        }
Пример #4
0
        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);
            });
        }