public void TestGetObjectDateSetValue() { DateTime dateTime = new DateTime(); Date date = new Date(); date.year = 2012; date.month = 12; date.day = 2; DateValue dateValue = new DateValue(); dateValue.value = date; SetValue setValue = new SetValue(); setValue.values = new Value[] { dateValue }; List <object> value = PqlUtilities.GetValue(setValue) as List <object>; Assert.AreEqual(1, value.Count); Assert.True(value.Contains(date)); }
public void TestGetObjectTextSetValue() { TextValue textValue1 = new TextValue(); TextValue textValue2 = new TextValue(); textValue1.value = "value1"; textValue2.value = "value2"; SetValue setValue = new SetValue(); setValue.values = new Value[] { textValue1, textValue2 }; List <object> value = PqlUtilities.GetValue(setValue) as List <object>; Assert.AreEqual(2, value.Count); Assert.True(value.Contains("value1")); Assert.True(value.Contains("value2")); }
public void TestGetObjectNumberSetValue() { NumberValue numberValue1 = new NumberValue(); NumberValue numberValue2 = new NumberValue(); numberValue1.value = "1"; numberValue2.value = "2"; SetValue setValue = new SetValue(); setValue.values = new Value[] { numberValue1, numberValue2 }; List <object> value = PqlUtilities.GetValue(setValue) as List <object>; Assert.AreEqual(2, value.Count); Assert.True(value.Contains("1")); Assert.True(value.Contains("2")); }
public void TestGetObjectMixedSetValue() { TextValue textValue = new TextValue(); DateValue dateValue = new DateValue(); textValue.value = "value1"; Date date = new Date(); date.year = 2012; date.month = 12; date.day = 2; dateValue.value = date; SetValue setValue = new SetValue(); setValue.values = new Value[] { textValue, dateValue }; Assert.Throws <ArgumentException>(() => PqlUtilities.GetValue(setValue)); }
/// <summary> /// Run the code example. /// </summary> public void Run(DfpUser user) { // Get the PublisherQueryLanguageService. PublisherQueryLanguageService pqlService = (PublisherQueryLanguageService)user.GetService( DfpService.v201702.PublisherQueryLanguageService); // Create statement to select recent changes. Change_History only supports ordering by // descending ChangeDateTime. Offset is not supported. To page, use the change ID of the // earliest change as a pagination token. A date time range is required // when querying this table. System.DateTime endDateTime = System.DateTime.Now; System.DateTime startDateTime = endDateTime.AddDays(-1); StatementBuilder statementBuilder = new StatementBuilder() .Select("Id, ChangeDateTime, EntityId, EntityType, Operation, UserId") .From("Change_History") .Where("ChangeDateTime < :endDateTime AND ChangeDateTime > :startDateTime") .OrderBy("ChangeDateTime DESC") .AddValue("startDateTime", DateTimeUtilities.FromDateTime(startDateTime, "America/New_York")) .AddValue("endDateTime", DateTimeUtilities.FromDateTime(endDateTime, "America/New_York")) .Limit(StatementBuilder.SUGGESTED_PAGE_LIMIT); int resultSetSize = 0; List <Row> allRows = new List <Row>(); ResultSet resultSet; do { resultSet = pqlService.select(statementBuilder.ToStatement()); if (resultSet.rows != null && resultSet.rows.Length > 0) { // Get the earliest change ID in the result set. Row lastRow = resultSet.rows[resultSet.rows.Length - 1]; string lastId = (string)PqlUtilities.GetValue(lastRow.values[0]); // Collect all changes from each page. allRows.AddRange(resultSet.rows); // Display results. Console.WriteLine(PqlUtilities.ResultSetToString(resultSet)); // Use the earliest change ID in the result set to page. statementBuilder .Where("Id < :id AND ChangeDateTime < :endDateTime AND ChangeDateTime > :startDateTime") .AddValue("id", lastId); } resultSetSize = resultSet.rows == null ? 0 : resultSet.rows.Length; } while (resultSetSize == StatementBuilder.SUGGESTED_PAGE_LIMIT); Console.WriteLine("Number of results found: " + allRows.Count); // Optionally, save all rows to a CSV. // Get a string array representation of the data rows. resultSet.rows = allRows.ToArray(); List <String[]> rows = PqlUtilities.ResultSetToStringArrayList(resultSet); // Write the contents to a csv file. CsvFile file = new CsvFile(); file.Headers.AddRange(rows[0]); file.Records.AddRange(rows.GetRange(1, rows.Count - 1).ToArray()); file.Write("recent_changes_" + this.GetTimeStamp() + ".csv"); }