bank-sampah/Controllers/ReduksiSampah/MaggotController.cs

79 lines
2.4 KiB
C#

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