我有一個LINQ查詢來填充我的管理儀表板的表。在它內部,我有一個case
聲明根據廣告系列的日期填充字段。 (即,如果開始日期是小於DateTime.Now
,那麼它將被顯示爲主動,你會看到下圖)。我想要做的是,case語句中添加一個where
條件,更新EndDate
到DateTime.Now
,使其關閉。檢查的條件是是否我Uptake
已經達到我的Target
,這意味着如果該活動所需的目標已經達到,那麼運動被關閉。有人可以幫幫我嗎?添加「當,那麼」條款
MSCDatabaseDataContext MSCDB = new MSCDatabaseDataContext();
var q =
from row in MSCDB.Tbl_Campaigns
where row.CampaignStatus != 4
select new Campaign
{
CampaignID = row.CampaignId,
CampaignName = row.CampaignName,
Target = Convert.ToInt32(row.Target),
Discount = Convert.ToInt32(row.Discount),
CampaignStartDatesS =
Convert.ToDateTime(row.StartDate).Date + " - " +
Convert.ToDateTime(row.EndDate).Date,
//CampaignSDate = Convert.ToDateTime(row.StartDate),
//CampaignEDate = Convert.ToDateTime(row.EndDate),
CurrentStatus =
(row.EndDate >= DateTime.Now && row.StartDate <= DateTime.Now) ? "Active" :
row.StartDate >= DateTime.Now ? "Pending" :
row.CampaignStatus == 4 ? "Archived" : "Closed",
Uptake = Convert.ToInt32(row.Uptake),
};
,' collection.Where(a => a.CampaignStatus!= 4).Select()'。 –
可以使用做多的條件'那裏 && ' –
Dbuggy
@YuvalItzchakov,嗨,夥計。 Uhm im仍然對開發很陌生。你能不能更具體些?另外,它表示Collection在當前上下文中不存在。是因爲我沒有把它放在正確的地方? –