96 lines
3.5 KiB
C#
96 lines
3.5 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace BpsRwApp.Controllers
|
|
{
|
|
[Route("[controller]/[action]")]
|
|
public class DataVerifikasiChecklistHarianController : AppControllerBase
|
|
{
|
|
public IActionResult Index()
|
|
{
|
|
return View();
|
|
}
|
|
|
|
[HttpGet]
|
|
public IActionResult Table()
|
|
{
|
|
var startDate = new DateTime(2024, 2, 1);
|
|
|
|
var data = Enumerable.Range(0, 100)
|
|
.Select(index =>
|
|
{
|
|
var wilayah = ControllerSampleData.WilayahSeeds[index % ControllerSampleData.WilayahSeeds.Length];
|
|
var tanggal = startDate.AddDays(index * 3);
|
|
var tanggalStr = ControllerSampleData.FormatTanggal(tanggal);
|
|
var target = 12;
|
|
var mudahTerurai = 8 + (index % 5);
|
|
var mudahDaur = 7 + (index % 4);
|
|
var b3 = 3 + (index % 3);
|
|
var residu = target - Math.Min(target, mudahTerurai);
|
|
var fotoCount = 5 + (index % 10);
|
|
|
|
return new
|
|
{
|
|
tanggal = tanggalStr,
|
|
kelurahan = wilayah.Kelurahan,
|
|
rw = ((index % 15) + 1).ToString("D2"),
|
|
mudah_terurai = $"{mudahTerurai}/{target}",
|
|
mudah_daur = $"{mudahDaur}/{target}",
|
|
b3 = $"{b3}/{target}",
|
|
residu = $"{residu}/{target}",
|
|
jumlah_foto = "<button class=\"btn btn-xs btn-square me-2\" disabled><span class=\"icon icon-outline text-sm text-black\">image</span></button>" + fotoCount,
|
|
aksi = $"<div class=\"flex gap-2\">" +
|
|
$"<a href='/DataVerifikasiChecklistHarian/Detail?tanggal={tanggal:yyyy-MM-dd}&kelurahan={wilayah.Kelurahan}&rw={((index % 15) + 1):D2}' class=\"btn bg-white rounded-full btn-xs\">Detail</a>" +
|
|
"</div>",
|
|
};
|
|
})
|
|
.ToArray();
|
|
|
|
var response = new
|
|
{
|
|
data = data
|
|
};
|
|
|
|
return Json(response);
|
|
}
|
|
|
|
[HttpGet]
|
|
public IActionResult Detail(string tanggal, string kelurahan, string rw)
|
|
{
|
|
if (string.IsNullOrEmpty(tanggal))
|
|
return RedirectToAction("Index");
|
|
|
|
ViewBag.Tanggal = tanggal;
|
|
ViewBag.Kelurahan = kelurahan;
|
|
ViewBag.RW = rw;
|
|
|
|
return View();
|
|
}
|
|
|
|
[HttpGet]
|
|
public IActionResult DetailTable(string tanggal, string kelurahan, string rw)
|
|
{
|
|
var data = Enumerable.Range(1, 10)
|
|
.Select(i => new
|
|
{
|
|
no = i,
|
|
alamat_rumah = $"Pulau Lancang RT.01/RW.01 - ({GetRandomName(i)})",
|
|
rw = rw,
|
|
mudah_terurai = true,
|
|
material_daur = true,
|
|
b3 = false,
|
|
residu = true,
|
|
photo = "<button class=\"btn bg-white rounded-full btn-sm btn-lihat-gambar\">Lihat Gambar</button>"
|
|
})
|
|
.ToList();
|
|
|
|
return Json(new { data });
|
|
}
|
|
|
|
private string GetRandomName(int index)
|
|
{
|
|
var names = new[] { "Hernalin", "Supriyadi", "Rohili", "Wahyudi", "Eva Ratna Ayu", "Riski Cahyadi", "Sembari", "Sandi Setiawan" };
|
|
return names[index % names.Length];
|
|
}
|
|
}
|
|
}
|