🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / MSSQL RMOS / 12 ay toplam sipariş sayısı ay ay rezervasyon sayısı

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);

            }

        }

 

 

 2024 Şubat 02 Cuma
 264