119 lines
3.7 KiB
C#
119 lines
3.7 KiB
C#
using System.Diagnostics;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using pesapakawan.Models;
|
|
|
|
namespace pesapakawan.Controllers.SpjDriverController;
|
|
|
|
[Route("transport/spj-driver")]
|
|
public class SpjDriverController : Controller
|
|
{
|
|
[HttpGet("")]
|
|
public IActionResult Index()
|
|
{
|
|
return View("~/Views/Admin/Transport/SpjDriver/Home/Index.cshtml");
|
|
}
|
|
[HttpGet("kosong")]
|
|
public IActionResult Kosong()
|
|
{
|
|
return View("~/Views/Admin/Transport/SpjDriver/Home/Kosong.cshtml");
|
|
}
|
|
|
|
[HttpGet("detail-penjemputan")]
|
|
public IActionResult DetailPenjemputan()
|
|
{
|
|
return View("~/Views/Admin/Transport/SpjDriver/DetailPenjemputan/Index.cshtml");
|
|
}
|
|
|
|
[HttpGet("detail-penjemputan/batal")]
|
|
public IActionResult BatalJemput()
|
|
{
|
|
return View("~/Views/Admin/Transport/SpjDriver/DetailPenjemputan/Batal.cshtml");
|
|
}
|
|
|
|
[HttpGet("history")]
|
|
public IActionResult History()
|
|
{
|
|
return View("~/Views/Admin/Transport/SpjDriver/History/Index.cshtml");
|
|
}
|
|
|
|
[HttpGet("history/details/{id}")]
|
|
public IActionResult HistoryDetails(int id)
|
|
{
|
|
ViewData["Id"] = id;
|
|
return View("~/Views/Admin/Transport/SpjDriver/History/Details.cshtml");
|
|
}
|
|
|
|
[HttpGet("submit")]
|
|
public IActionResult Submit()
|
|
{
|
|
return View("~/Views/Admin/Transport/SpjDriver/Submit/Index.cshtml");
|
|
}
|
|
|
|
|
|
[HttpGet("submit/struk")]
|
|
public IActionResult Struk()
|
|
{
|
|
return View("~/Views/Admin/Transport/SpjDriver/Submit/Struk.cshtml");
|
|
}
|
|
|
|
[HttpPost("struk")]
|
|
public IActionResult ProcessStruk(string NomorStruk, string NomorPolisi, string Penugasan,
|
|
string WaktuMasuk, string WaktuKeluar, int? BeratMasuk, int? BeratKeluar, int BeratNett)
|
|
{
|
|
try
|
|
{
|
|
if (string.IsNullOrEmpty(NomorStruk) || BeratNett <= 0)
|
|
{
|
|
TempData["Error"] = "Nomor struk dan berat nett harus diisi.";
|
|
return RedirectToAction("Struk");
|
|
}
|
|
|
|
if (!System.Text.RegularExpressions.Regex.IsMatch(NomorStruk, @"^\d{7,}$"))
|
|
{
|
|
TempData["Error"] = "Format nomor struk tidak valid. Harus berupa angka minimal 7 digit.";
|
|
return RedirectToAction("Struk");
|
|
}
|
|
|
|
if (BeratNett < 100 || BeratNett > 50000)
|
|
{
|
|
TempData["Error"] = "Berat nett harus antara 100 kg - 50,000 kg.";
|
|
return RedirectToAction("Struk");
|
|
}
|
|
|
|
if (BeratMasuk.HasValue && (BeratMasuk < 0 || BeratMasuk > 100000))
|
|
{
|
|
TempData["Error"] = "Berat masuk tidak valid.";
|
|
return RedirectToAction("Struk");
|
|
}
|
|
|
|
if (BeratKeluar.HasValue && (BeratKeluar < 0 || BeratKeluar > 100000))
|
|
{
|
|
TempData["Error"] = "Berat keluar tidak valid.";
|
|
return RedirectToAction("Struk");
|
|
}
|
|
|
|
var submitData = new
|
|
{
|
|
NomorStruk,
|
|
NomorPolisi = NomorPolisi ?? "N/A",
|
|
Penugasan = Penugasan ?? "N/A",
|
|
WaktuMasuk = WaktuMasuk ?? "N/A",
|
|
WaktuKeluar = WaktuKeluar ?? "N/A",
|
|
BeratMasuk = BeratMasuk?.ToString() ?? "N/A",
|
|
BeratKeluar = BeratKeluar?.ToString() ?? "N/A",
|
|
BeratNett
|
|
};
|
|
|
|
TempData["Success"] = $"Struk berhasil disubmit! No: {NomorStruk}, Nett: {BeratNett} kg";
|
|
return RedirectToAction("Index", "Home");
|
|
|
|
}
|
|
catch (Exception)
|
|
{
|
|
TempData["Error"] = "Terjadi kesalahan saat memproses struk. Silakan coba lagi.";
|
|
return RedirectToAction("Struk");
|
|
}
|
|
}
|
|
|
|
}
|