public int GetIncludedTransactionCount(string productId, DateTime? dt)
{
if (IncludedTransactions == null) return 0;
int count = 0;
foreach (var tItem in IncludedTransactions.Where(t => t.ProductID == productId))
{
if (dt.HasValue)
{
if (dt >= tItem.DateStart && dt <= tItem.DateEnd)
{
count += tItem.IncludedAmount;
}
}
else
{
var dtEnd = DateTime.UtcNow;
for (DateTime d = tItem.DateStart; d < dtEnd && d <= tItem.DateEnd; d = d.AddMonths(1))
{
count += tItem.IncludedAmount;
}
}
}
return count;
}