1-) MSSQL RMOS - 12 ay toplam sipariş sayısı ay ay rezervasyon sayısı
KOD
@$"SELECT YEAR(tarih) AS yil, MONTH(tarih) AS ay, COUNT(*) AS toplam FROM Files WHERE CAST(tarih AS DATE) >= DATEADD(MONTH, -12, CAST(GETDATE() AS DATE)) GROUP BY YEAR(tarih), MONTH(tarih) ORDER BY yil DESC, ay DESC;";
|
ÖRNEK
[Route("get12AyYukledigimDosyaCount")] [HttpPost] public ActionResult get12AyYukledigimDosyaCount(int yukleyenUserId) { try { using Context context = new Context(); string query = @$"SELECT YEAR(tarih) AS yil, MONTH(tarih) AS ay, COUNT(*) AS toplam FROM Files WHERE userId={yukleyenUserId} and CAST(tarih AS DATE) >= DATEADD(MONTH, -12, CAST(GETDATE() AS DATE)) GROUP BY YEAR(tarih), MONTH(tarih) ORDER BY yil DESC, ay DESC;";
var data = getQueryToDataTable(query, context);
if (data == null || data.Rows.Count == 0) { return Ok(false); }
List<Get12AyYuklenenDosyaModel> list = new List<Get12AyYuklenenDosyaModel>(); int yil = DateTime.Now.Year; foreach (DataRow row in data.Rows) { Get12AyYuklenenDosyaModel model = new Get12AyYuklenenDosyaModel(); model.yil = Convert.ToInt32(row["yil"].ToString()); model.ay = Convert.ToInt32(row["ay"].ToString()); model.toplam = Convert.ToInt32(row["toplam"].ToString());
yil = model.yil; list.Add(model); }
for (int i = 1; i < 13; i++) { var varmi = list.Where(x => x.ay == i).ToList(); if (varmi != null && varmi.Count > 0) continue;
// yoksa aşağıya incek Get12AyYuklenenDosyaModel model = new Get12AyYuklenenDosyaModel(); model.ay = i; model.toplam = 0; model.yil = yil; list.Add(model); }
foreach (var item in list) { switch (item.ay) { case 1: item.ayText = "Ocak"; break; case 2: item.ayText = "Şubat"; break; case 3: item.ayText = "Mart"; break; case 4: item.ayText = "Nisan"; break; case 5: item.ayText = "Mayıs"; break; case 6: item.ayText = "Haziran"; break; case 7: item.ayText = "Temmuz"; break; case 8: item.ayText = "Ağustos"; break; case 9: item.ayText = "Eylül"; break; case 10: item.ayText = "Ekim"; break; case 11: item.ayText = "Kasım"; break; case 12: item.ayText = "Aralık"; break;
} }
return Ok(list.OrderBy(x=>x.ay).ToList()); } catch (Exception ex) { return Ok(ex.Message); } }
|