79 lines
2.4 KiB
C#
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; }
|
|
}
|
|
}
|
|
}
|