这个if语句没有触发,只是转到下面的其他if语句,我需要它来检查订单发出后不到48小时,直到交货日期/时间不到48小时(日期)在创建订单时创建)
if (order.COrderDate > DateTime.Now.AddHours(-48) && DateTime.Now.AddHours(-48) > order.CDeliveryDate)
{
refund.transactionId = order.transactionId;
refund.UserEmail = order.CEmail;
decimal refundtot = order.CTotal;
refundtot = (75 / 100) * refundtot;
refund.RefundTotal = refundtot;
storeDB.Refunds.Add(refund);
await storeDB.SaveChangesAsync();
}
答案 0 :(得分:1)
在交货日期/时间之前不到48小时
所以那个时间应该是将来的。 DateTime.Now.AddHours(-48)
是关于过去的。
更好的检查是:
order.CDeliveryDate < DateTime.Now.AddHours(48)
但这不是全部,因为你还必须检查下限(或者你最后会得到交货日期):
order.CDeliveryDate > DateTime.Now && order.CDeliveryDate < DateTime.Now.AddHours(48)