Öncelikle result u var tipinde almasına gerek var mi emin değilim Ihale bilgilerini tuttugu bi class vardır.Böyle bir durumda generic list döndürebilirsin. var tipini yeni bi class döndürürken kullanırız. ( örnegin select new { c.IHALE_ADI, c.IHALE_GIRIS_TARIHI } seklinde sadece 2 kolon cekmek istersen kullanılabilir).Bunun dışında class ın kendisine ihtiyacın varsa generic list kullanabilir.Soruya gelirsek öncelikle güncel haftadaki ihaleleri almak icin haftanın baslangıcı ve bitişini bulman lazım.Bunlar için DateTime tipinde struct döndüren FirstDayOfWeek ve LastDayOfWeek isimli iki method yazdım.
private DateTime FirstDayOfWeek()
{
double offset = 0;
switch (DateTime.Today.DayOfWeek)
{
case DayOfWeek.Monday:
offset = 0;
break;
case DayOfWeek.Tuesday:
offset = -1;
break;
case DayOfWeek.Wednesday:
offset = -2;
break;
case DayOfWeek.Thursday:
offset = -3;
break;
case DayOfWeek.Friday:
offset = -4;
break;
case DayOfWeek.Saturday:
offset = -5;
break;
case DayOfWeek.Sunday:
offset = -6;
break;
}
return DateTime.Today.AddDays(offset);
}
private DateTime LastDayOfWeek()
{
return FirstDayOfWeek().AddDays(7);
}
Result u almak için de
List<Ihale> Result = (from i in db.Ihales where i.GirisTarihi > FirstDayOfWeek() && i.GirisTarihi < LastDayOfWeek() orderby i.GirisTarihi select i).ToList();
Lamda Expression kullanarak
List<Ihale> Result = db.Ihales.Where(i => i.GirisTarihi > FirstDayOfWeek() && i.GirisTarihi < LastDayOfWeek()).OrderBy(i => i.GirisTarihi).ToList();
yöntemlerinden birini kullanabilir. DateTime.Today.AddDays(-15); diyerek 15 gün önceki verileri de çekebilir veya istediğin iki tarihin aralığını alabilirsin hayal gücüne bırakıyorum bu noktadan sonra :)
Kolay gelsin,