public async static Task<IEnumerable<SearchResult>> SearchAsync (this SalesforceClient self, string search)
		{
			var request = new ReadRequest {Resource = new Search {QueryText = search}};

			Response response;

			try {
				response = await self.ProcessAsync (request);
			} catch (AggregateException ex) {
				throw ex.Flatten ().InnerException;
			}

			if (response == null) {
				return null;
			}

			var result = response.GetResponseText ();
			var jsonValue = (JsonArray)JsonValue.Parse (result);

			if (jsonValue == null)
				throw new Exception ("Could not parse Json data");

			var returnVal = jsonValue.Select(jv => new SearchResult(jv)).ToArray();
			return returnVal;

		}
Example #2
0
        public static IEnumerable <SObject> Read(this SalesforceClient self, ReadRequest request)
        {
            var result = self.ReadAsync(request);

            if (!result.Wait(TimeSpan.FromSeconds(SalesforceClient.DefaultNetworkTimeout)))
            {
                Debug.WriteLine("Request timed out");
                return(Enumerable.Empty <SObject> ());
            }

            return(result.Result);
        }
		public static async Task<JsonObject> DescribeAsync (this SalesforceClient self, string type)
		{
			var request = new ReadRequest { Resource = new SObject { Id = "describe", ResourceName = type } };

			Response response;

			try {
				response = await self.ProcessAsync (request);
			} catch (AggregateException ex) {
				throw ex.Flatten ().InnerException;
			}

			var result = response.GetResponseText ();
			var jsonValue = JsonValue.Parse (result);

			if (jsonValue == null)
				throw new Exception ("Could not parse Json data");

			return (JsonObject)jsonValue;
		}
		public static IEnumerable<SObject> Read (this SalesforceClient self, ReadRequest request)
		{
			var result = self.ReadAsync (request);
			if (!result.Wait (TimeSpan.FromSeconds (SalesforceClient.DefaultNetworkTimeout))) {
				Debug.WriteLine ("Request timed out");
				return Enumerable.Empty<SObject> ();
			}

			return result.Result;
		}
		public static async Task<IEnumerable<SObject>> ReadAsync (this SalesforceClient self, ReadRequest request)
		{
			Response response;

			try {
				response = await self.ProcessAsync (request);
			} catch (AggregateException ex) {
				throw ex.Flatten ().InnerException;
			}

			if (response == null) {
				return Enumerable.Empty<SObject> ();
			}

			var result = response.GetResponseText ();
			var jsonValue = JsonValue.Parse (result);

			if (jsonValue == null)
				throw new Exception ("Could not parse Json data");

			var results = jsonValue["records"];
			return results.OfType<JsonObject> ().Select (j => new SObject (j));
		}
Example #6
0
        public static async Task <IEnumerable <SObject> > ReadAsync(this SalesforceClient self, ReadRequest request)
        {
            Response response;

            try {
                response = await self.ProcessAsync(request);
            } catch (AggregateException ex) {
                throw ex.Flatten().InnerException;
            }

            if (response == null)
            {
                return(Enumerable.Empty <SObject> ());
            }

            var result    = response.GetResponseText();
            var jsonValue = JsonValue.Parse(result);

            if (jsonValue == null)
            {
                throw new Exception("Could not parse Json data");
            }

            var results = jsonValue["records"];

            return(results.OfType <JsonObject> ().Select(j => new SObject(j)));
        }