• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ
zenoven 2010年09月23日
我这里的TimeSpan用的不对吗?这代码执行的结果不对啊
第二个方法UpdateOverdueProductStatus() 在每次加载商品时都会执行,将过期的商品的状态字段 status 修改为0,他调用第一个GetProductRemainTime获取商品的剩余时间

现在的问题是第二个方法UpdateOverdueProductStatus() 里面的那句if判断,貌似所有的商品都被判断成过期的(商品表中中不是所有的商品都过期的),即,所有的商品的状态都被修改成了0,不知道问题到底出在哪里啊,那个TimeSpan的TotalMilliseconds难道没有正负?还是问题出在哪里?


public static TimeSpan GetProductRemainTime(Product pd)

{
DateTime deadline = pd.PublishedTime.AddDays(pd.KeepTime);//商品的截止日期=商品发布日期+保留时间(有效时间)
TimeSpan time = deadline - DateTime.Now;
return time;

}


public static void UpdateOverdueProductStatus()
{
List<Product> pdList = ChangeToEntityList(new ProductDAL().GetProduct());
ProductDAL pdDAL = new ProductDAL();
for (int i = 0; i < pdList.Count; i++)
{
if (GetProductRemainTime(pdList[i]).TotalMilliseconds <= 0)//如果剩余时间非正,则商品过期
{
pdList[i].Status = '0';
pdDAL.UpdateProduct(pdList[i]);
}
}

}



...全文
84 点赞 收藏 5
写回复
5 条回复

还没有回复,快来抢沙发~

发动态
发帖子
.NET技术社区
创建于2007-09-28

4.8w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告