bps-rw/Controllers/ChecklistHarianController.cs

106 lines
3.2 KiB
C#

using Microsoft.AspNetCore.Mvc;
namespace BpsRwApp.Controllers
{
[Route("[controller]/[action]")]
public class ChecklistHarianController : AppControllerBase
{
public IActionResult Index()
{
return View();
}
[HttpGet]
public IActionResult Table()
{
var startDate = new DateTime(2025, 1, 1);
var data = Enumerable.Range(0, 100)
.Select(index =>
{
var tanggal = startDate.AddDays(index);
var tanggalStr = ControllerSampleData.FormatTanggal(tanggal);
var mudahTerurai = 15 + index % 10 + (index / 5);
var materialDaurUlang = 8 + (index % 6);
var b3 = 1 + index % 3;
var residu = 3 + index % 4;
var sudahDiverifikasi = index % 3 != 0;
var statusBadge = sudahDiverifikasi
? "<div class='badge badge-success badge-soft rounded-full'>Verifikasi</div>"
: "<div class='badge badge-error badge-soft rounded-full'>Belum Verifikasi</div>";
var aksi = sudahDiverifikasi
? $"<a href='/ChecklistHarian/Detail?tanggal={tanggal:yyyy-MM-dd}' class='btn bg-white rounded-full btn-sm'>Detail</a>"
: $"<a href='#' onclick='return false;' class='btn bg-white rounded-full btn-sm'>Detail</a>";
return new
{
tanggal = tanggalStr,
mudah_terurai = mudahTerurai,
material_daur_ulang = materialDaurUlang,
b3,
residu,
status = statusBadge,
aksi = aksi
};
})
.ToArray();
return Json(new { data });
}
[HttpGet]
public IActionResult Detail(string tanggal)
{
if (string.IsNullOrEmpty(tanggal))
return RedirectToAction("Index");
ViewBag.Tanggal = tanggal;
return View();
}
[HttpGet]
public IActionResult DetailTable(string tanggal)
{
var data = Enumerable.Range(1, 10)
.Select(i => new
{
no = i,
alamat_rumah = $"Jalan Buah No. {10 + i}",
rw = (3 + i).ToString("D2"),
mudah_terurai = true,
material_daur = true,
b3 = true,
residu = true
})
.ToList();
return Json(new { data });
}
[HttpGet]
public IActionResult Input()
{
return View();
}
[HttpGet]
public IActionResult InputTable()
{
var data = Enumerable.Range(1, 10)
.Select(i => new
{
no = i,
alamat_rumah = $"Jalan Buah No. {10 + i}",
rw = (3 + i).ToString("D2")
})
.ToList();
return Json(new { data });
}
}
}