2016-03-22 14 views
2

私は、日付フィルタ付きのすべてのStripe請求書を取得しようとしています。現時点ではServiceStack.Stripeパッケージには日付の平等が可能になります:「LT」、「LTE」、「GT」と「GTE」のためのオプションはありませんServiceStackストライプは日付フィルタ付きのすべての請求書を取得

[Route("/invoices")] 
public class GetStripeInvoices : IGet, IReturn<StripeCollection<StripeInvoice>> 
{ 
    public string Customer { get; set; } 
    public DateTime? Date { get; set; } 
    public int? Count { get; set; } 
    public int? Offset { get; set; } 
} 

。これらの要求を追加するために

のようなものを見ている必要があります

?date%5Blt%5D=1337923293 
私たちは、そうなるようにクラスをオーバーライドする別の方法は、名前がある属性C#でこれらの特殊文字を使用することはできません

それ日付フィルタに必要なリクエストパラメータに合わせてシリアル化されますか?

答えて

2

私はちょうどストライプDateOptionsカスタムの日付を指定するには、新しいDateOptionsプロパティを使用して使用することができますin this commitのサポートを追加した、例えばあなたがlt日付を指定することができます

var response = gateway.Get(new GetStripeInvoices 
{ 
    DateOptions = new StripeDateOptions { 
     Before = DateTime.UtcNow 
    } 
}); 

利用可能な異なる日付オプション以下を含みます。

public class StripeDateOptions 
{ 
    public DateTime? After { get; set; }  //gt 
    public DateTime? OnOrAfter { get; set; } //gte 
    public DateTime? Before { get; set; }  //lt 
    public DateTime? OnOrBefore { get; set; } //lte 
} 

この変更はv4.0.55から入手できます。現在はavailable on MyGetです。

+0

4つのプロパティのファンではなく、ユーザーが複数のプロパティを指定すると混乱することがあります。 StriperDateOptionsはどうでしょうか?public DateComparison Operation {get; set;} public DateTime Date {get;セット; }} //ここで、DateComparisonはGreaterThan、GreaterThanOrEqualToの列挙型です... – labilbe

+1

@labilbe StripeのAPIで実装された方法を忠実にモデル化していますが、他のStripeライブラリとは異なる新しい抽象化をC# 。 StripeはREST APIを使い方が異なるように設計している可能性がありますし、表面積も限られていますが、それは我々のやり方と同じように設計されており、タイプ1:1ラッパーStripeの文書化されたREST APIに対応しています。 – mythz

+0

実際には合法的に見えます。 – labilbe

関連する問題