Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/WM7S8.png" height="16" width="18" alt="" class="sponsor tag img">servicestack ServiceStack Stripe使用日期筛选器获取所有发票_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack_Stripe Payments - Fatal编程技术网 servicestack ServiceStack Stripe使用日期筛选器获取所有发票,servicestack,stripe-payments,servicestack,Stripe Payments" /> servicestack ServiceStack Stripe使用日期筛选器获取所有发票,servicestack,stripe-payments,servicestack,Stripe Payments" />

servicestack 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; }

我正在尝试使用日期筛选器获取所有条带发票。目前,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; }
}

我们不能在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
}