2016-11-28 8 views
0

C#のDateTimeに問題があります。 ショッピングでのプロモーションのためのシステムを作成する必要があります。C#でdatetimeを操作する

  1. まず、私は、現在時刻が別の価格を支払う必要があります開始し、時間のユーザにある場合プロモーション時刻と終了プロモーション時間

  2. を開始取得する必要があります。

  3. 現在の日付はすべての製品が、私はこの考えてプロモーション価格

を使用する必要があります金曜日の場合:

public Class Product { 
    public DateTime StartPromoPrice { get; set; } 
    public DateTime EndPromoPrice { get; set; } 
    public decimal? PromoPrice { get; set; } 
    public decimal Price { get; set; } 
} 

if (DateTime.Now == StartPromoPrice && DateTime.Now > EndPromoPrice) 
{ 
    // get promo price 
} 
else{ 
    // use standard price 
} 

どの年から金曜日にすべて取得し、promopriceを使用することができます! ありがとう

+0

さまざまな状況を示すサンプルデータと関連データを入力してください。 – Enigmativity

+0

私はあなたの2番目の要件を理解していません: "現在の時間が始まっていれば、ユーザーは別の価格を支払わなければなりません。"もっと詳しく説明できますか? – kurakura88

答えて

0

現在の日付が金曜日の場合、すべての商品はプロモーション価格を使用する必要があります。あなたは、現在の日がプロモーション価格を利用するための金額であるかどうかを調べるために、以下を試すことができます。

DayOfWeek day = DateTime.Now.DayOfWeek; 
if ((day == DayOfWeek.Friday) 
{ 
    //Get Promo Price 
} 
+0

彼は1日以上にわたって条件が真であることを望んでいます。彼は開始時間と終了時間を持っています。 – Prajwal

2

金曜日かどうかを確認するには、DayOfWeekを使用してください。あなたのロジックにはいくつかのギャップがあるかもしれませんが、おそらく=>と==というより<が必要です。

if (DateTime.Now.DayOfWeek == DayOfWeek.Friday 
    || (DateTime.Now >= StartPromoPrice && DateTime.Now < EndPromoPrice)) 
{ 
    //get promo price 
} 

else 
{ 
    //use standard price 
} 
+0

dynimic DateTimeを使用したいと思います。 (db.Products.Where(x => x.StartPromoPrice> = DateTime.Now)&& db.Products.Where(x => x.EndPromoPrice xeso