95 lines
3.8 KiB
C#
95 lines
3.8 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace BpsRwApp.Controllers
|
|
{
|
|
[Route("/[controller]/[action]")]
|
|
public class DataRwController : AppControllerBase
|
|
{
|
|
public IActionResult Index()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
[HttpGet]
|
|
public IActionResult Table()
|
|
{
|
|
var data = Enumerable.Range(1, 50)
|
|
.Select(index =>
|
|
{
|
|
var wilayah = ControllerSampleData.WilayahSeeds[(index - 1) % ControllerSampleData.WilayahSeeds.Length];
|
|
var namaPendamping = ControllerSampleData.PersonNames[(index - 1) % ControllerSampleData.PersonNames.Length];
|
|
var rw = index.ToString("D3");
|
|
var kota = wilayah.Kota;
|
|
var checklist = 20 + (index * 7 % 80);
|
|
var jumlahFoto = 5;
|
|
var jumlahRumah = 500 + (index * 13 % 500);
|
|
var jumlahRumahMemilah = jumlahRumah - (50 + index % 30);
|
|
var presentaseRumahMemilah = Math.Round((double)jumlahRumahMemilah / jumlahRumah * 100);
|
|
var jumlahRumahNasabah = jumlahRumahMemilah - (10 + index % 20);
|
|
var jumlahBankSampah = jumlahRumahMemilah - (10 + index % 20);
|
|
|
|
return new
|
|
{
|
|
rw,
|
|
kota,
|
|
nama_pendamping = namaPendamping,
|
|
checklist,
|
|
jumlah_foto = jumlahFoto,
|
|
jumlah_rumah = jumlahRumah,
|
|
jumlah_rumah_memilah = jumlahRumahMemilah,
|
|
presentase_rumah_memilah = $"{presentaseRumahMemilah}%",
|
|
jumlah_rumah_nasabah = jumlahRumahNasabah,
|
|
jumlah_bank_sampah = jumlahBankSampah,
|
|
aksi = BuildActionButton(
|
|
rw,
|
|
kota,
|
|
namaPendamping,
|
|
checklist,
|
|
jumlahFoto,
|
|
jumlahRumah,
|
|
jumlahRumahMemilah,
|
|
presentaseRumahMemilah,
|
|
jumlahRumahNasabah,
|
|
jumlahBankSampah)
|
|
};
|
|
})
|
|
.ToArray();
|
|
|
|
var response = new
|
|
{
|
|
data = data
|
|
};
|
|
|
|
return Json(response);
|
|
|
|
static string BuildActionButton(
|
|
string rw,
|
|
string kota,
|
|
string namaPendamping,
|
|
int checklist,
|
|
int jumlahFoto,
|
|
int jumlahRumah,
|
|
int jumlahRumahMemilah,
|
|
double presentaseRumahMemilih,
|
|
int jumlahRumahNasabah,
|
|
int jumlahBankSampah)
|
|
{
|
|
return "<div class=\"flex gap-2\">" +
|
|
$"<button type=\"button\" class=\"btn bg-white rounded-full btn-xs btn-view-detail\" " +
|
|
$"data-rw=\"{rw}\" " +
|
|
$"data-kota=\"{kota}\" " +
|
|
$"data-nama-pendamping=\"{namaPendamping}\" " +
|
|
$"data-checklist=\"{checklist}\" " +
|
|
$"data-jumlah-foto=\"{jumlahFoto}\" " +
|
|
$"data-jumlah-rumah=\"{jumlahRumah}\" " +
|
|
$"data-jumlah-rumah-memilah=\"{jumlahRumahMemilah}\" " +
|
|
$"data-presentase-rumah-memilah=\"{presentaseRumahMemilih}\" " +
|
|
$"data-jumlah-rumah-nasabah=\"{jumlahRumahNasabah}\" " +
|
|
$"data-jumlah-bank-sampah=\"{jumlahBankSampah}\">" +
|
|
"Detail" +
|
|
"</button>" +
|
|
"</div>";
|
|
}
|
|
}
|
|
}
|
|
} |