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); }
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); } }
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)); }
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)); }
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); }
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()); }
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); } }
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); } }
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; } }
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 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); }); }
public BulkApi() { _connectionDetail = ApexSharp.GetSession(); }