我试图通过日期过滤器获取所有Stripe发票。目前ServiceStack.Stripe包只允许日期相等:
[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; }
}
&#34; lt&#34;,&#34; lte&#34;,&#34; gt&#34;没有选项和&#34; gte&#34;。
为了添加这些请求,需要看起来像:
?date%5Blt%5D=1337923293
我们无法在C#属性名称中使用这些特殊字符,那么是否有另一种覆盖类的方法,以便它序列化以匹配日期过滤器所需的请求参数?
答案 0 :(得分:2)
我刚刚添加了对Stripe DateOptions in this commit的支持,您可以使用新的DateOptions
属性来指定自定义日期,例如,您可以指定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。