public ObjectDefinition GetDefinition <T>() { string requestId; ObjectDefinitionRequest request = new ObjectDefinitionRequest(); request.ObjectType = typeof(T).Name; var defs = _client.Describe(new ObjectDefinitionRequest[] { request }, out requestId); return(defs[0]); }
public IList <string> GetRetrivableProperties(string type) { Type apiObjectType = typeof(ETService.APIObject); Type et = Type.GetType(apiObjectType.Namespace + "." + type); string[] excludedProperties = new string[] { "IsHTMLPaste" }; string requestID; ObjectDefinitionRequest objDefs = new ObjectDefinitionRequest(); objDefs.ObjectType = et.Name; ObjectDefinition[] definitions = _client.Describe(new ObjectDefinitionRequest[] { objDefs }, out requestID); var retrievables = ( from p in definitions[0].Properties where p.IsRetrievableSpecified && p.IsRetrievable select p.Name ).Except(excludedProperties).ToList(); return(retrievables); }
public InfoReturn(APIObject theObject) { string RequestID = string.Empty; theObject.AuthStub.refreshToken(); this.Results = new ET_PropertyDefinition[0]; using (var scope = new OperationContextScope(theObject.AuthStub.soapclient.InnerChannel)) { //Add oAuth token to SOAP header. XNamespace ns = "http://exacttarget.com"; var oauthElement = new XElement(ns + "oAuthToken", theObject.AuthStub.internalAuthToken); var xmlHeader = MessageHeader.CreateHeader("oAuth", "http://exacttarget.com", oauthElement); OperationContext.Current.OutgoingMessageHeaders.Add(xmlHeader); var httpRequest = new System.ServiceModel.Channels.HttpRequestMessageProperty(); OperationContext.Current.OutgoingMessageProperties.Add(System.ServiceModel.Channels.HttpRequestMessageProperty.Name, httpRequest); httpRequest.Headers.Add(HttpRequestHeader.UserAgent, theObject.AuthStub.SDKVersion); ObjectDefinitionRequest odr = new ObjectDefinitionRequest(); odr.ObjectType = this.TranslateObject(theObject).GetType().ToString().Replace("FuelSDK.", ""); ObjectDefinition[] definitionResults = theObject.AuthStub.soapclient.Describe(new ObjectDefinitionRequest[] { odr }, out RequestID); this.RequestID = RequestID; this.Status = true; this.Code = 200; this.MoreResults = false; this.Message = ""; if (definitionResults.Length > 0) { List<ET_PropertyDefinition> cleanedObjectResults = new List<ET_PropertyDefinition>(); foreach (PropertyDefinition obj in definitionResults[0].Properties) { cleanedObjectResults.Add((ET_PropertyDefinition)(this.TranslateObject(obj))); } this.Results = cleanedObjectResults.ToArray(); } else { this.Status = false; } } }