Exemple #1
0
        private static void SaveSObjectImpl(string sobject, string sObjectClass)
        {
            var saveFileName    = sobject + ".cs";
            var sobjectLocation = Path.Combine(ApexSharp.GetSession().VsProjectLocation, "SObjects", saveFileName);

            File.WriteAllText(sobjectLocation, sObjectClass);

            Log.ForContext <ModelGen>().Debug("Saved {sobject}", saveFileName);
        }
Exemple #2
0
        public static void CreateInstanceBinder()
        {
            string xml          = File.ReadAllText(ApexSharp.GetSession().SalesForceLocation + @"\labels\CustomLabels.labels");
            var    customLabels = UtilXml.DeSerilizeFromXML <CustomLabels>(xml);

            foreach (var customLabel in customLabels.labels)
            {
                Console.WriteLine(customLabel.fullName + "  " + customLabel.value);
            }
        }
Exemple #3
0
        public string Del(string uriFunction)
        {
            HttpRequestMessage request = new HttpRequestMessage
            {
                RequestUri = new Uri(ApexSharp.GetSession().RestUrl + "/data/v" +
                                     ApexSharp.GetSession().SalesForceApiVersion + ".0/" + uriFunction),
                Method = HttpMethod.Delete,
            };

            return(Http(request));
        }
Exemple #4
0
        public string Patch(string uriFunction, string json)
        {
            HttpRequestMessage request = new HttpRequestMessage
            {
                RequestUri = new Uri(ApexSharp.GetSession().RestUrl + "/data/v" +
                                     ApexSharp.GetSession().SalesForceApiVersion + ".0/" + uriFunction),
                Method  = new HttpMethod("PATCH"),
                Content = new StringContent(json, Encoding.UTF8, "application/json"),
            };

            return(Http(request));
        }
Exemple #5
0
        private static SObjectDetail LoadSObjectImpl(string 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);
            return(sObjectDetail);
        }
Exemple #6
0
        public List <Sobject> GetAllObjects()
        {
            string objectListPath = Path.Combine(ApexSharp.GetSession().VsProjectLocation, "objectList.json");

            HttpManager httpManager = new HttpManager();
            var         requestJson = httpManager.Get("sobjects/");

            File.WriteAllText(objectListPath, requestJson);

            var             json        = File.ReadAllText(objectListPath);
            SObjectDescribe sObjectList = JsonConvert.DeserializeObject <SObjectDescribe>(json);

            return(sObjectList.sobjects.ToList());
        }
Exemple #7
0
        private string Http(HttpRequestMessage request)
        {
            request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            request.Headers.Add("Authorization", ApexSharp.GetSession().RestSessionId);

            //WebProxy proxy = new WebProxy { Address = new Uri("") };
            //HttpClientHandler httpClientHandler = new HttpClientHandler()
            //{
            //    Proxy = proxy,
            //    PreAuthenticate = true,
            //    UseDefaultCredentials = false,
            //};
            //HttpClient httpClient = new HttpClient(httpClientHandler);


            HttpClient httpClient = new HttpClient();

            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

            Log.ForContext <HttpManager>().Verbose("Outgoing Request {@request}", request);
            HttpResponseMessage responseMessage = httpClient.SendAsync(request).Result;

            Log.ForContext <HttpManager>().Verbose("Incoming Response {@responseMessage}", responseMessage);

            string jsonData = responseMessage.Content.ReadAsStringAsync().Result;

            if (jsonData.Length > 0)
            {
                JToken jt            = JToken.Parse(jsonData);
                string formattedJson = jt.ToString();
                Log.ForContext <HttpManager>().Verbose(formattedJson);
            }

            switch (responseMessage.StatusCode)
            {
            case HttpStatusCode.NoContent:
            case HttpStatusCode.Created:
            case HttpStatusCode.OK:
                return(jsonData);

            default:
                Log.ForContext <HttpManager>().Error(jsonData);
                return(jsonData);
            }
        }
Exemple #8
0
        public string Post(string uriFunction, string json)
        {
            HttpRequestMessage request = new HttpRequestMessage
            {
                RequestUri = new Uri(ApexSharp.GetSession().RestUrl + "/data/v" +
                                     ApexSharp.GetSession().SalesForceApiVersion + ".0/" + uriFunction),
                Method  = HttpMethod.Post,
                Content = new StringContent(json, Encoding.UTF8, "application/json"),
            };

            try
            {
                return(Http(request));
            }
            catch (ApexSharpHttpException ex)
            {
                return(ex.Message);
            }
        }
Exemple #9
0
        private string Http(HttpRequestMessage request)
        {
            request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            request.Headers.Add("Authorization", ApexSharp.GetSession().RestSessionId);

            //WebProxy proxy = new WebProxy { Address = new Uri("http://naproxy.gm.com:80") };

            //HttpClientHandler httpClientHandler = new HttpClientHandler()
            //{
            //    Proxy = proxy,
            //    PreAuthenticate = true,
            //    UseDefaultCredentials = false,
            //};

            //HttpClient httpClient = new HttpClient(httpClientHandler);


            HttpClient httpClient = new HttpClient();

            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

            Log.ForContext <HttpManager>().Verbose("Outgoing Request {@request}", request);
            HttpResponseMessage responseMessage = httpClient.SendAsync(request).Result;

            Log.ForContext <HttpManager>().Verbose("Incoming Response {@responseMessage}", responseMessage);

            string jsonData = responseMessage.Content.ReadAsStringAsync().Result;

            Log.ForContext <HttpManager>().Verbose("Incoming Data {@jsonData}", jsonData);

            switch (responseMessage.StatusCode)
            {
            case HttpStatusCode.NoContent:
            case HttpStatusCode.Created:
            case HttpStatusCode.OK:
                return(jsonData);

            default:
                var exp = new ApexSharpHttpException(Environment.StackTrace);
                Log.ForContext <HttpManager>().Error(exp, jsonData);
                throw exp;
            }
        }
Exemple #10
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);
        }
Exemple #11
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);
            });
        }
Exemple #12
0
 public BulkApi()
 {
     _connectionDetail = ApexSharp.GetSession();
 }