/// <summary> /// Gets all rows from the Parse "books" class/table /// </summary> public List <BookModel> GetBooks(out bool didExitPrematurely, string whereCondition = "", IEnumerable <string> fieldsToDereference = null) { var request = new RestRequest("classes/books", Method.GET); SetCommonHeaders(request); string keysToRetrieve = String.Join(",", BookModel.GetParseKeys()); request.AddParameter("keys", keysToRetrieve); if (!String.IsNullOrEmpty(whereCondition)) { request.AddParameter("where", whereCondition); } // Instead of representing as object pointers (and requiring us to perform a 2nd query to get the object), Parse will dereference the pointer for us automatically if (fieldsToDereference != null) { foreach (var field in fieldsToDereference) { request.AddParameter("include", field); } } List <BookModel> results = GetAllResults <BookModel>(request, out didExitPrematurely); results.ForEach(book => book.MarkAsDatabaseVersion()); Console.Out.WriteLine($"{results.Count} matching results."); return(results); }
public void BookModel_GetParseKeys_ContainsImportantKeys() { var parseKeys = BookModel.GetParseKeys(); Assert.That(parseKeys.Count, Is.GreaterThanOrEqualTo(1)); var parseKeySet = new HashSet <string>(parseKeys); Assert.That(parseKeySet.Contains("objectId"), "objectId: Parent class keys should also be returned"); Assert.That(parseKeySet.Contains("harvestState"), "harvestState"); Assert.That(parseKeySet.Contains("harvesterMajorVersion"), "harvesterMajorVersion"); Assert.That(parseKeySet.Contains("harvesterMinorVersion"), "harvesterMinorVersion"); Assert.That(parseKeySet.Contains("harvestLog"), "harvestLog"); Assert.That(parseKeySet.Contains("harvestStartedAt"), "harvestStartedAt"); Assert.That(parseKeySet.Contains("baseUrl"), "baseUrl"); Assert.That(parseKeySet.Contains("inCirculation"), "inCirculation"); Assert.That(parseKeySet.Contains("lastUploaded"), "lastUploaded"); Assert.That(parseKeySet.Contains("phashOfFirstContentImage"), "pHash"); Assert.That(parseKeySet.Contains("show"), "show"); Assert.That(parseKeySet.Contains("tags"), "tags"); Assert.That(parseKeySet.Contains("title"), "title"); // ENHANCE: Add as many of the other keys as you want to verify. }