/// <summary> /// Initializes new instance of <see cref="OperationHistoryRequest"/> class. /// </summary> /// <param name="types">Filter by operation type.</param> /// <param name="label">Filter by label.</param> /// <param name="from">Get operations FROM this timestamp.</param> /// <param name="till">Get operations TO this timestamp.</param> /// <param name="startRecord">In case of multi-page history set startRecord to next_record value of prev response, otherwise leave empty.</param> /// <param name="records">Number of records to retrieve per request. Default is 30.</param> /// <param name="details">Whether to retrieve extended operation details or not. Requires permission <code>operation-details</code>. Default is false.</param> public OperationHistoryRequest(HistoryOperationTypes types, string label, DateTime? @from, DateTime?till, string startRecord = null, int records = 30, bool details = false) { Argument.Require(records > 0 && records <= 100, "Valid range for [records] argument is between 1 and 100"); _types = types; _label = label; _from = @from; _till = till; _startRecord = startRecord; _records = records; _details = details; }
private static string BuildOperationTypeFilter(HistoryOperationTypes operationTypes) { string filter = ""; if (operationTypes.HasFlag(HistoryOperationTypes.Payment)) { filter += " payment"; } if (operationTypes.HasFlag(HistoryOperationTypes.Deposition)) { filter += " deposition"; } if (operationTypes.HasFlag(HistoryOperationTypes.Incoming_transfers_unaccepted)) { filter += " incoming-transfers-unaccepted"; } return(filter.TrimStart()); }