using System.Linq; using Microsoft.AspNetCore.Mvc; namespace BankSampahApp.Controllers.ReduksiSampah { [Route("ReduksiSampah/[controller]/[action]")] public class MaggotController : Controller { private const string Jenis = "Maggot"; public IActionResult Index() { return View("~/Views/ReduksiSampah/Maggot/Index.cshtml"); } [HttpGet] public IActionResult Table([FromQuery] string? bulan, [FromQuery] string? tahun) { var data = ReduksiSampahDataStore .GetItems(Jenis) .Where(item => ReduksiSampahDataStore.MatchesPeriode(item, bulan, tahun)) .Select(ReduksiSampahDataStore.ToDetailedResponse); return Json(new { data }); } [HttpPost] public IActionResult Update([FromBody] MaggotUpdateRequest request) { if (request == null) { return BadRequest(new { message = "Permintaan tidak valid." }); } var updated = ReduksiSampahDataStore.UpdateReduksiValues( Jenis, request.Id, request.Status, request.B1, request.B2, request.B3, request.B4, request.B5, request.B6, request.B7, request.B8, request.B9, request.B10, request.B11, request.B12); if (!updated) { return NotFound(new { message = "Data maggot tidak ditemukan." }); } return Ok(new { message = "Data maggot berhasil diperbarui." }); } public class MaggotUpdateRequest { public int Id { get; set; } public string? Status { get; set; } public decimal? B1 { get; set; } public decimal? B2 { get; set; } public decimal? B3 { get; set; } public decimal? B4 { get; set; } public decimal? B5 { get; set; } public decimal? B6 { get; set; } public decimal? B7 { get; set; } public decimal? B8 { get; set; } public decimal? B9 { get; set; } public decimal? B10 { get; set; } public decimal? B11 { get; set; } public decimal? B12 { get; set; } } } }