servicestack ServiceStack Stripe使用日期筛选器获取所有发票
我正在尝试使用日期筛选器获取所有条带发票。目前,ServiceStack.Stripe包只允许日期相等:servicestack ServiceStack Stripe使用日期筛选器获取所有发票,servicestack,stripe-payments,servicestack,Stripe Payments,我正在尝试使用日期筛选器获取所有条带发票。目前,ServiceStack.Stripe包只允许日期相等: [Route("/invoices")] public class GetStripeInvoices : IGet, IReturn<StripeCollection<StripeInvoice>> { public string Customer { get; set; } public DateTime? Date { get; set; }
[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; }
}
我们不能在C#属性名称中使用这些特殊字符,因此是否有其他方法覆盖该类,使其序列化以匹配日期筛选器所需的请求参数?我刚刚添加了对条带日期选项的支持,您可以使用新的
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中获得。不太喜欢4个属性,如果用户指定了几个属性,则可能会造成混淆。StriperDateOptions{public DateComparison Operation{get;set;}public DateTime Date{get;set;}}//其中DateComparison是一个枚举,具有GreaterThan,GreaterThanOrEqualTo…@labilbe,它是在Stripe的API中实现的,它并不是仅仅为C语言发明一种新的抽象,与其他Stripe库的做法不同。Stripe本可以用不同的方式设计REST API,这样它的使用和表面积就更有限了,但他们的设计方式和我们一样,我们尽可能地使用类型化的1:1包装器,以便更容易地查看每个属性如何映射到Stripe的文档化REST API。事实上,这似乎是合法的。
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
}