using System.Collections.Generic; using System.Linq; namespace BankSampahApp.Models; /// /// View model yang menampung data grafik dashboard beserta opsi filter tahunan. /// public class DashboardChartViewModel { /// /// Data grafik per tahun (key berupa tahun). /// public Dictionary YearlyData { get; set; } = new(); /// /// Tahun yang dipilih saat halaman pertama kali dimuat. /// public int SelectedYear { get; set; } /// /// Daftar tahun yang tersedia untuk filter, disortir menurun. /// public IEnumerable AvailableYears => YearlyData.Keys.OrderByDescending(x => x); } /// /// Struktur data payload untuk chart per tahun. /// public class DashboardChartPayload { /// /// Label (umumnya nama bulan) yang ditampilkan pada sumbu X. /// public List Labels { get; set; } = new(); /// /// Dataset yang ditampilkan pada grafik. /// public List Datasets { get; set; } = new(); } /// /// Dataset individual untuk Chart.js. /// public class DashboardChartDataset { public string Label { get; set; } = string.Empty; public List Data { get; set; } = new(); }