public static string Search(string searchString, SalesforceSession session) { return(XmlRequestGenerator.GenerateRequest(new XmlBody { SearchTemplate = new SearchTemplate(searchString) }, BuildXmlHeader(session))); }
internal static string Query(string query, SalesforceSession session) { return(XmlRequestGenerator.GenerateRequest(new XmlBody { QueryTemplate = new QueryTemplate(query) }, BuildXmlHeader(session))); }
public static string QueryMore(string queryLocator, SalesforceSession session) { return(XmlRequestGenerator.GenerateRequest(new XmlBody { QueryMoreTemplate = new QueryMoreTemplate(queryLocator) }, BuildXmlHeader(session))); }
private bool CheckSessionValidity(string key, SalesforceSession session) { bool valid = DateTime.Now - session.LastLogin > SessionStoragePolicy.SessionStorageExpiration; if (!valid) _store.Remove(key); return valid; }
internal static string Delete(string[] ids, SalesforceSession session) { return(XmlRequestGenerator.GenerateRequest(new XmlBody { DeleteTemplate = new DeleteTemplate { Ids = ids } }, BuildXmlHeader(session))); }
public bool StoreSession(SalesforceSession session) { string key = GenerateCacheKey(session.Environment ?? "Default"); if (_store.Contains(key)) _store.Remove(key); return _store.Add(key, session, new CacheItemPolicy { AbsoluteExpiration = DateTime.Now.Add(SessionStoragePolicy.SessionStorageExpiration) }); }
internal static string Retrieve <T>(string[] ids, SalesforceSession session) where T : SObject { return(XmlRequestGenerator.GenerateRequest(new XmlBody { RetrieveTemplate = new RetrieveTemplate { Type = typeof(T), Ids = ids } }, BuildXmlHeader(session))); }
public static HttpRequest GetBatchRequest <T>(T[] items, string jobId, SalesforceSession session) where T : SObject { HttpRequest request = new HttpRequest { Url = GetBulkUrl(session.InstanceUrl, session.ApiVersion) + "/" + jobId + "/batch", Body = BulkCommands.CreateBatch(items), Method = RequestType.POST, ContentType = "text/csv; charset=UTF-8" }; request.Headers.Add("X-SFDC-Session", session.SessionId); return(request); }
public static HttpRequest GetQueryJobRequest(string jobId, SalesforceSession session) { HttpRequest request = new HttpRequest { Url = GetBulkUrl(session.InstanceUrl, session.ApiVersion) + "/" + jobId, Body = null, Method = RequestType.GET, ContentType = "application/xml" }; request.Headers.Add("X-SFDC-Session", session.SessionId); return(request); }
public static HttpRequest GetSearchRequest(string searchString, SalesforceSession session) { HttpRequest request = new HttpRequest { Url = GetSoapUrl(session.InstanceUrl, session.ApiVersion), Body = SoapCommands.Search(searchString, session), Method = RequestType.POST, Proxy = session.Proxy }; request.Headers.Add("SOAPAction", "search"); return(request); }
internal static HttpRequest GetQueryMoreRequest(string queryLocator, SalesforceSession session) { HttpRequest request = new HttpRequest { Url = GetSoapUrl(session.InstanceUrl, session.ApiVersion), Body = SoapCommands.QueryMore(queryLocator, session), Method = RequestType.POST, Proxy = session.Proxy }; request.Headers.Add("SOAPAction", "queryMore"); return(request); }
public static HttpRequest GetStartJobRequest <T>(JobConfig config, SalesforceSession session) { HttpRequest request = new HttpRequest { Url = GetBulkUrl(session.InstanceUrl, session.ApiVersion), Body = BulkCommands.CreateJob(config, typeof(T).GetName()), Method = RequestType.POST, ContentType = "application/xml" }; request.Headers.Add("X-SFDC-Session", session.SessionId); return(request); }
internal static HttpRequest GetRetrieveRequest <T>(string[] ids, SalesforceSession session) where T : SObject { string body = SoapCommands.Retrieve <T>(ids, session); HttpRequest request = new HttpRequest { Url = GetSoapUrl(session.InstanceUrl, session.ApiVersion), Body = body, Method = RequestType.POST, Proxy = session.Proxy }; request.Headers.Add("SOAPAction", "retrieve"); return(request); }
internal static HttpRequest GetDeleteRequest(string[] ids, SalesforceSession session) { string body = SoapCommands.Delete(ids, session); HttpRequest request = new HttpRequest { Url = GetSoapUrl(session.InstanceUrl, session.ApiVersion), Body = body, Method = RequestType.POST, Proxy = session.Proxy }; request.Headers.Add("SOAPAction", "delete"); return(request); }
internal static HttpRequest GetCrudRequest <T>(CrudOperation <T> operation, SalesforceSession session) where T : SObject { string body = SoapCommands.CrudOperation(operation, session); HttpRequest request = new HttpRequest { Url = GetSoapUrl(session.InstanceUrl, session.ApiVersion), Body = body, Method = RequestType.POST, Proxy = session.Proxy }; request.Headers.Add("SOAPAction", operation.OperationType.ToString().ToLower()); return(request); }
public SalesforceSession Login() { lock (Lock) { SalesforceSession session; if (_config.UseSessionStore) { session = _sessionStore.RetrieveSession(_config.Environment ?? "Default"); if (session != null) { return(session); } } if (_config.Session != null) { return(_config.Session); } using (HttpClient httpClient = new HttpClient()) { XmlDocument response = httpClient.PerformRequest(SoapRequestManager.GetLoginRequest(_config)); SimpleLogin result = ResponseReader.ReadGenericResponse <SimpleLogin>(response, "result"); Uri instanceUrl = new Uri(result.ServerUrl); session = new SalesforceSession { Environment = _config.Environment, ApiVersion = _config.ApiVersion, IsSandbox = _config.IsSandbox, LastLogin = DateTime.Now, InstanceUrl = instanceUrl.Scheme + "://" + instanceUrl.Host, SessionId = result.SessionId, Proxy = _config.Proxy, BatchSize = _config.BatchSize, }; if (_config.UseSessionStore) { _sessionStore.StoreSession(session); } _config.Session = session; return(session); } } }
private static XmlHeader BuildXmlHeader(SalesforceSession session) { var header = new XmlHeader { SessionHeader = new SessionHeader { SessionId = session.SessionId } }; if (session.BatchSize.HasValue) { header.QueryOptions = new QueryOptionsHeader { BatchSize = session.BatchSize.Value }; } return(header); }
private void uxTestLoginTarget_Click(object sender, EventArgs e) { var targetCred = GetTargetCredentials(); var sesh = new SalesforceSession(targetCred); uxTestLoginTargetLabel.Text = "Testing login ..."; uxTestLoginTargetLabel.Visible = true; Cursor.Current = Cursors.WaitCursor; try { sesh.TestLogin(); uxTestLoginTargetLabel.Text = "Login OK"; Cursor.Current = Cursors.Default; } catch (Exception ex) { uxTestLoginTargetLabel.Text = "Login failed"; Cursor.Current = Cursors.Default; MessageBox.Show(string.Format("Test login failed for Target \r\n\r\n {0}", ex.Message), "Test login failed", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public static string CrudOperation <T>(CrudOperation <T> operation, SalesforceSession session) where T : SObject { XmlBody body = GetCrudBody(operation); return(XmlRequestGenerator.GenerateRequest(body, BuildXmlHeader(session))); }
internal static HttpRequest GetCountRequest <T>(SalesforceSession session, Expression <Func <T, bool> > predicate = null) { string query = QueryBuilder.GenerateCountyQuery(predicate); return(GetQueryRequest(query, session)); }
internal static HttpRequest GetQueryRequest <T>(Expression <Func <T, bool> > predicate, int limit, SalesforceSession session) where T : SObject { string query = QueryBuilder.GenerateQuery(predicate, limit); return(GetQueryRequest(query, session)); }
internal static HttpRequest GetSearchRequest <T>(string searchQuery, string fieldType, SalesforceSession session) where T : SObject { string search = QueryBuilder.GenerateSearchQuery <T>(searchQuery, fieldType); return(GetSearchRequest(search, session)); }
internal static HttpRequest GetQueryAllRequest <T>(int limit, SalesforceSession session) where T : SObject { string query = QueryBuilder.GenerateQuery <T>(limit); return(GetQueryRequest(query, session)); }