/// <summary> /// /// </summary> /// <param name="id"></param> /// <returns></returns> public InstagramFeed.InstagramImage GetByInstagramId(string id) { QueryResult <InstagramFeed.Parse.InstagramImage> result = _client.GetObjects <InstagramFeed.Parse.InstagramImage>(new { instagramImageId = id }); if (result == null || result.Results == null || result.Results.Count == 0) { return(null); } // delete duplicates if found. This is a self cleaning feature to catch when the same instagram image is accidentally imported more than once. if (ParseSettings.Instance.ForceDeleteDuplicates && result.Results.Count > 1) { for (int i = 0; i < result.Results.Count; i++) { if (i == 0) { continue; } var image = result.Results[i]; _client.DeleteObject(image); // todo : log this } } return(this.Load(result.Results[0])); }
public void TestObjects() { var obj = GetFakeObj(); // make sure creating works var result = _client.CreateObject(obj).Result; AssertParseObjectEqual(obj, result); // make sure updating works result.SomeNullableBool = true; result.SomeGeoPoint = null; var result2 = _client.Update(result).Result; AssertParseObjectEqual(result, result2); // make sure retreive works var result3 = _client.GetObject <ParseUnitTestObj>(result2.ObjectId).Result; AssertParseObjectEqual(result2, result3); // make sure recursive retreive works result3 = _client.GetObject <ParseUnitTestObj>(result.ObjectId, true).Result; AssertParseObjectEqual(result2, result3); Assert.AreNotEqual(result3.SomePointer.CreatedAt, default(DateTime)); // make sure querying works var result4 = _client.GetObjects <ParseUnitTestObj>(new { SomeByte = new Constraint { GreaterThan = obj.SomeByte + 1 }, SomeInt = new Constraint { LessThanOrEqualTo = obj.SomeInt - 1 }, }); Assert.IsTrue(result4.TotalCount == 0); result4 = _client.GetObjects <ParseUnitTestObj>(new { SomeShort = new Constraint { NotEqualTo = obj.SomeShort + 1 }, }); Assert.IsTrue(result4.TotalCount > 0); // make sure delete works _client.DeleteObject(result3); var shouldFail = _client.GetObject <ParseUnitTestObj>(result2.ObjectId); Assert.IsNotNull(shouldFail.Exception); var result5 = _client.GetObjects <ParseUnitTestObj>(); Assert.IsFalse(result5.Results.Any(x => x.ObjectId.Equals(result.ObjectId))); }
public InstagramFeed.ImageVote GetVote(string voter, string instagramImageId) { QueryResult <InstagramFeed.Parse.ImageVote> result = _client.GetObjects <InstagramFeed.Parse.ImageVote>(new { voterId = voter, instagramImageId = instagramImageId }); if (result == null || result.Results == null || result.Results.Count == 0) { return(null); } return(this.Load(result.Results[0])); }