From 8a39714a25c230d2a9d927b07dc4b9611b210246 Mon Sep 17 00:00:00 2001
From: Naz <2022755409@student.uitm.edu.my>
Date: Mon, 21 Apr 2025 17:24:48 +0800
Subject: [PATCH] -
---
Areas/OTcalculate/Models/OtRegisterModel.cs | 11 +-
.../OTcalculate/Models/OvertimeRequestDto.cs | 11 +-
.../Services/OvertimePdfService.cs | 28 +--
.../Views/HodDashboard/OtReview.cshtml | 10 +-
.../Views/Overtime/EditOvertime.cshtml | 163 ++++++++---------
.../Views/Overtime/OtRecords.cshtml | 32 ++--
.../Views/Overtime/OtRegister.cshtml | 126 +++++++------
Controllers/API/OvertimeAPI.cs | 165 +++---------------
...T_1c49d312-a22e-4ac2-9c45-d3d57a917eed.pdf | Bin 0 -> 75325 bytes
...T_525ffef0-da41-463a-bd4b-05556272c6cc.pdf | Bin 0 -> 75325 bytes
10 files changed, 224 insertions(+), 322 deletions(-)
create mode 100644 wwwroot/Media/Overtime/OT_1c49d312-a22e-4ac2-9c45-d3d57a917eed.pdf
create mode 100644 wwwroot/Media/Overtime/OT_525ffef0-da41-463a-bd4b-05556272c6cc.pdf
diff --git a/Areas/OTcalculate/Models/OtRegisterModel.cs b/Areas/OTcalculate/Models/OtRegisterModel.cs
index ed17e09..c46bfaf 100644
--- a/Areas/OTcalculate/Models/OtRegisterModel.cs
+++ b/Areas/OTcalculate/Models/OtRegisterModel.cs
@@ -17,9 +17,9 @@ namespace PSTW_CentralSystem.Areas.OTcalculate.Models
public TimeSpan? OfficeFrom { get; set; }
public TimeSpan? OfficeTo { get; set; }
public int? OfficeBreak { get; set; }
- public TimeSpan? OutsideFrom { get; set; }
- public TimeSpan? OutsideTo { get; set; }
- public int? OutsideBreak { get; set; }
+ public TimeSpan? AfterFrom { get; set; }
+ public TimeSpan? AfterTo { get; set; }
+ public int? AfterBreak { get; set; }
public int? StationId { get; set; }
[ForeignKey("StationId")]
@@ -27,7 +27,6 @@ namespace PSTW_CentralSystem.Areas.OTcalculate.Models
public string OtDescription { get; set; }
public string OtDays { get; set; }
- public string FilePath { get; set; }
[Required]
public int UserId { get; set; }
@@ -35,8 +34,8 @@ namespace PSTW_CentralSystem.Areas.OTcalculate.Models
// Convert string times to TimeSpan before saving
public TimeSpan? GetOfficeFrom() => ParseTimeSpan(OfficeFrom?.ToString());
public TimeSpan? GetOfficeTo() => ParseTimeSpan(OfficeTo?.ToString());
- public TimeSpan? GetOutsideFrom() => ParseTimeSpan(OutsideFrom?.ToString());
- public TimeSpan? GetOutsideTo() => ParseTimeSpan(OutsideTo?.ToString());
+ public TimeSpan? GetAfterFrom() => ParseTimeSpan(AfterFrom?.ToString());
+ public TimeSpan? GetAfterTo() => ParseTimeSpan(AfterTo?.ToString());
private TimeSpan? ParseTimeSpan(string? time)
{
diff --git a/Areas/OTcalculate/Models/OvertimeRequestDto.cs b/Areas/OTcalculate/Models/OvertimeRequestDto.cs
index df9f54a..109ef5f 100644
--- a/Areas/OTcalculate/Models/OvertimeRequestDto.cs
+++ b/Areas/OTcalculate/Models/OvertimeRequestDto.cs
@@ -3,17 +3,16 @@
public class OvertimeRequestDto
{
public DateTime OtDate { get; set; }
- public string OfficeFrom { get; set; }
- public string OfficeTo { get; set; }
+ public string? OfficeFrom { get; set; }
+ public string? OfficeTo { get; set; }
public int? OfficeBreak { get; set; }
- public string OutsideFrom { get; set; }
- public string OutsideTo { get; set; }
- public int? OutsideBreak { get; set; }
+ public string? AfterFrom { get; set; }
+ public string? AfterTo { get; set; }
+ public int? AfterBreak { get; set; }
public int? StationId { get; set; }
public string OtDescription { get; set; }
public string OtDays { get; set; }
public int UserId { get; set; }
- public IFormFile File { get; set; }
}
diff --git a/Areas/OTcalculate/Services/OvertimePdfService.cs b/Areas/OTcalculate/Services/OvertimePdfService.cs
index 97440c0..0eb9241 100644
--- a/Areas/OTcalculate/Services/OvertimePdfService.cs
+++ b/Areas/OTcalculate/Services/OvertimePdfService.cs
@@ -66,9 +66,9 @@ namespace PSTW_CentralSystem.Areas.OTcalculate.Services
columns.RelativeColumn(0.8f); // Office From
columns.RelativeColumn(0.8f); // Office To
columns.RelativeColumn(0.8f); // Office Break
- columns.RelativeColumn(0.9f); // Outside From
- columns.RelativeColumn(0.9f); // Outside To
- columns.RelativeColumn(0.9f); // Outside Break
+ columns.RelativeColumn(0.9f); // After From
+ columns.RelativeColumn(0.9f); // After To
+ columns.RelativeColumn(0.9f); // After Break
columns.RelativeColumn(); // Total OT
columns.RelativeColumn(); // Break Hours
columns.RelativeColumn(); // Net OT
@@ -90,9 +90,9 @@ namespace PSTW_CentralSystem.Areas.OTcalculate.Services
AddHeaderCell("From\n(Office)", "#dceefb");
AddHeaderCell("To\n(Office)", "#dceefb");
AddHeaderCell("Break\n(Office)", "#dceefb");
- AddHeaderCell("From\n(Outside)", "#edf2f7");
- AddHeaderCell("To\n(Outside)", "#edf2f7");
- AddHeaderCell("Break\n(Outside)", "#edf2f7");
+ AddHeaderCell("From\n(After)", "#edf2f7");
+ AddHeaderCell("To\n(After)", "#edf2f7");
+ AddHeaderCell("Break\n(After)", "#edf2f7");
AddHeaderCell("Total OT\nHours", "#fdebd0");
AddHeaderCell("Break Hours\n(min)", "#fdebd0");
AddHeaderCell("Net OT Hours", "#fdebd0");
@@ -126,7 +126,7 @@ namespace PSTW_CentralSystem.Areas.OTcalculate.Services
foreach (var r in records)
{
var totalOT = CalculateTotalOT(r);
- var totalBreak = (r.OfficeBreak ?? 0) + (r.OutsideBreak ?? 0);
+ var totalBreak = (r.OfficeBreak ?? 0) + (r.AfterBreak ?? 0);
var netOT = totalOT - TimeSpan.FromMinutes(totalBreak);
totalOTSum += totalOT.TotalHours;
@@ -149,9 +149,9 @@ namespace PSTW_CentralSystem.Areas.OTcalculate.Services
AddCell(FormatTime(r.OfficeFrom));
AddCell(FormatTime(r.OfficeTo));
AddCell($"{r.OfficeBreak ?? 0} min");
- AddCell(FormatTime(r.OutsideFrom));
- AddCell(FormatTime(r.OutsideTo));
- AddCell($"{r.OutsideBreak ?? 0} min");
+ AddCell(FormatTime(r.AfterFrom));
+ AddCell(FormatTime(r.AfterTo));
+ AddCell($"{r.AfterBreak ?? 0} min");
AddCell($"{(int)totalOT.TotalHours} hr {totalOT.Minutes} min");
AddCell($"{totalBreak}");
AddCell($"{netOT.Hours} hr {netOT.Minutes} min");
@@ -194,12 +194,12 @@ namespace PSTW_CentralSystem.Areas.OTcalculate.Services
private TimeSpan CalculateTotalOT(OtRegisterModel r)
{
TimeSpan office = (r.OfficeTo ?? TimeSpan.Zero) - (r.OfficeFrom ?? TimeSpan.Zero);
- TimeSpan outside = (r.OutsideTo ?? TimeSpan.Zero) - (r.OutsideFrom ?? TimeSpan.Zero);
+ TimeSpan after = (r.AfterTo ?? TimeSpan.Zero) - (r.AfterFrom ?? TimeSpan.Zero);
- if (outside < TimeSpan.Zero)
- outside += TimeSpan.FromHours(24);
+ if (after < TimeSpan.Zero)
+ after += TimeSpan.FromHours(24);
- return office + outside;
+ return office + after;
}
private string FormatTime(TimeSpan? time)
diff --git a/Areas/OTcalculate/Views/HodDashboard/OtReview.cshtml b/Areas/OTcalculate/Views/HodDashboard/OtReview.cshtml
index 7dd3ab5..6693b41 100644
--- a/Areas/OTcalculate/Views/HodDashboard/OtReview.cshtml
+++ b/Areas/OTcalculate/Views/HodDashboard/OtReview.cshtml
@@ -15,9 +15,9 @@
{{ formatTime(record.officeFrom) }} |
{{ formatTime(record.officeTo) }} |
{{ record.officeBreak }} min |
- {{ formatTime(record.outsideFrom) }} |
- {{ formatTime(record.outsideTo) }} |
- {{ record.outsideBreak }} min |
+ {{ formatTime(record.afterFrom) }} |
+ {{ formatTime(record.afterTo) }} |
+ {{ record.afterBreak }} min |
{{ formatHourMinute(calcTotalTime(record)) }} |
{{ calcBreakTotal(record) }} |
{{ formatHourMinute(calcNetHours(record)) }} |
@@ -143,10 +143,10 @@
};
},
calcTotalHours(r) {
- return this.getTimeDiff(r.officeFrom, r.officeTo) + this.getTimeDiff(r.outsideFrom, r.outsideTo);
+ return this.getTimeDiff(r.afterFrom, r.officeTo) + this.getTimeDiff(r.afterFrom, r.afterTo);
},
calcBreakTotal(r) {
- return (r.officeBreak || 0) + (r.outsideBreak || 0);
+ return (r.officeBreak || 0) + (r.afterBreak || 0);
},
calcNetHours(r) {
const totalMinutes = (this.calcTotalHours(r) * 60) - this.calcBreakTotal(r);
diff --git a/Areas/OTcalculate/Views/Overtime/EditOvertime.cshtml b/Areas/OTcalculate/Views/Overtime/EditOvertime.cshtml
index 28d530e..5aac66d 100644
--- a/Areas/OTcalculate/Views/Overtime/EditOvertime.cshtml
+++ b/Areas/OTcalculate/Views/Overtime/EditOvertime.cshtml
@@ -41,26 +41,26 @@
-
- OUTSIDE OFFICE HOURS
+
+ AFTER OFFICE HOURS
-
- From
+
-
- To
+
-
+
-
-
@@ -113,18 +113,6 @@
-
-
-
- *upload pdf file only
-
-
-
-
-
+
+
-
@@ -122,9 +121,9 @@
| {{ formatTime(record.officeFrom) }} |
{{ formatTime(record.officeTo) }} |
{{ record.officeBreak }} min |
- {{ formatTime(record.outsideFrom) }} |
- {{ formatTime(record.outsideTo) }} |
- {{ record.outsideBreak }} min |
+ {{ formatTime(record.afterFrom) }} |
+ {{ formatTime(record.afterTo) }} |
+ {{ record.afterBreak }} min |
{{ formatHourMinute(calcTotalTime(record)) }} |
{{ calcBreakTotal(record) }} |
{{ formatHourMinute(calcNetHours(record)) }} |
@@ -135,14 +134,6 @@
{{ record.otDescription }}
-
-
-
-
-
-
- -
- |
@@ -163,7 +154,7 @@
| {{ formatHourMinute(totalBreak) }} |
{{ formatHourMinute(totalNetTime) }} |
|
- |
+ |
|
@@ -280,10 +271,10 @@
};
},
calcTotalHours(r) {
- return this.getTimeDiff(r.officeFrom, r.officeTo) + this.getTimeDiff(r.outsideFrom, r.outsideTo);
+ return this.getTimeDiff(r.officeFrom, r.officeTo) + this.getTimeDiff(r.afterFrom, r.afterTo);
},
calcBreakTotal(r) {
- return (r.officeBreak || 0) + (r.outsideBreak || 0);
+ return (r.officeBreak || 0) + (r.afterBreak || 0);
},
calcNetHours(r) {
const totalMinutes = (this.calcTotalHours(r) * 60) - this.calcBreakTotal(r);
@@ -359,9 +350,9 @@
officeFrom: record.officeFrom,
officeTo: record.officeTo,
officeBreak: record.officeBreak,
- outsideFrom: record.outsideFrom,
- outsideTo: record.outsideTo,
- outsideBreak: record.outsideBreak,
+ afterFrom: record.afterFrom,
+ afterTo: record.afterTo,
+ afterBreak: record.afterBreak,
stationId: record.stationId,
otDescription: record.otDescription,
otDays: record.otDays,
@@ -377,7 +368,6 @@
});
if (res.ok) {
alert("Overtime records submitted for review.");
- // Optionally, clear the local records or redirect the user
} else {
alert("Submission failed: " + await res.text());
}
diff --git a/Areas/OTcalculate/Views/Overtime/OtRegister.cshtml b/Areas/OTcalculate/Views/Overtime/OtRegister.cshtml
index bf57a70..b559735 100644
--- a/Areas/OTcalculate/Views/Overtime/OtRegister.cshtml
+++ b/Areas/OTcalculate/Views/Overtime/OtRegister.cshtml
@@ -35,21 +35,21 @@
- OUTSIDE OFFICE HOURS
+ AFTER OFFICE HOURS
@@ -98,13 +98,6 @@
-
-
-
- *upload pdf file only
-
-
AddOvertimeAsync([FromForm] OvertimeRequestDto request)
+ public async Task
AddOvertimeAsync([FromBody] OvertimeRequestDto request)
{
- _logger.LogInformation("AddOvertimeAsync called (with file upload).");
+ _logger.LogInformation("AddOvertimeAsync called.");
if (request == null)
{
@@ -409,59 +409,35 @@ namespace PSTW_CentralSystem.Controllers.API
return BadRequest("User ID is required.");
}
- // Parse times
- TimeSpan? officeFrom = TimeSpan.TryParse(request.OfficeFrom, out var of) ? of : (TimeSpan?)null;
- TimeSpan? officeTo = TimeSpan.TryParse(request.OfficeTo, out var ot) ? ot : (TimeSpan?)null;
- TimeSpan? outsideFrom = TimeSpan.TryParse(request.OutsideFrom, out var ofr) ? ofr : (TimeSpan?)null;
- TimeSpan? outsideTo = TimeSpan.TryParse(request.OutsideTo, out var otr) ? otr : (TimeSpan?)null;
+ // Parse times (make them optional)
+ TimeSpan? officeFrom = string.IsNullOrEmpty(request.OfficeFrom) ? (TimeSpan?)null : TimeSpan.Parse(request.OfficeFrom);
+ TimeSpan? officeTo = string.IsNullOrEmpty(request.OfficeTo) ? (TimeSpan?)null : TimeSpan.Parse(request.OfficeTo);
+ TimeSpan? afterFrom = string.IsNullOrEmpty(request.AfterFrom) ? (TimeSpan?)null : TimeSpan.Parse(request.AfterFrom);
+ TimeSpan? afterTo = string.IsNullOrEmpty(request.AfterTo) ? (TimeSpan?)null : TimeSpan.Parse(request.AfterTo);
+ // Office time validation: if officeFrom is set, officeTo must be set too, and vice versa
if ((officeFrom != null && officeTo == null) || (officeFrom == null && officeTo != null))
{
return BadRequest("Both Office From and To must be filled if one is provided.");
}
- if ((outsideFrom != null && outsideTo == null) || (outsideFrom == null && outsideTo != null))
- {
- return BadRequest("Both Outside From and To must be filled if one is provided.");
- }
+ // No need for specific validation for AfterFrom and AfterTo being both present
+ // If one is null and the other isn't, that's acceptable now.
- // Save file
- string pdfPath = null;
- if (request.File != null && request.File.Length > 0)
- {
- var uploadsFolder = Path.Combine(_env.WebRootPath, "Media", "Overtime");
-
- if (!Directory.Exists(uploadsFolder))
- Directory.CreateDirectory(uploadsFolder);
-
- var fileName = $"OT_{Guid.NewGuid()}{Path.GetExtension(request.File.FileName)}";
- var filePath = Path.Combine(uploadsFolder, fileName);
-
- using (var stream = new FileStream(filePath, FileMode.Create))
- {
- await request.File.CopyToAsync(stream);
- }
-
- // This is the relative public URL path
- pdfPath = $"/media/overtime/{fileName}";
- }
-
-
- // Map to DB model
+ // Map to DB model (continue using null for optional fields)
var newRecord = new OtRegisterModel
{
OtDate = request.OtDate,
OfficeFrom = officeFrom,
OfficeTo = officeTo,
- OfficeBreak = request.OfficeBreak,
- OutsideFrom = outsideFrom,
- OutsideTo = outsideTo,
- OutsideBreak = request.OutsideBreak,
+ OfficeBreak = request.OfficeBreak ?? null, // Make OfficeBreak optional
+ AfterFrom = afterFrom,
+ AfterTo = afterTo,
+ AfterBreak = request.AfterBreak ?? null, // Make AfterBreak optional
StationId = request.StationId,
OtDescription = request.OtDescription,
OtDays = request.OtDays,
UserId = request.UserId,
- FilePath = pdfPath
};
_centralDbContext.Otregisters.Add(newRecord);
@@ -475,8 +451,6 @@ namespace PSTW_CentralSystem.Controllers.API
return StatusCode(500, "An error occurred while saving overtime.");
}
}
-
-
#endregion
#region Ot Records
@@ -494,14 +468,13 @@ namespace PSTW_CentralSystem.Controllers.API
o.OfficeFrom,
o.OfficeTo,
o.OfficeBreak,
- o.OutsideFrom,
- o.OutsideTo,
- o.OutsideBreak,
+ o.AfterFrom,
+ o.AfterTo,
+ o.AfterBreak,
o.StationId,
StationName = o.Stations != null ? o.Stations.StationName : "N/A",
o.OtDescription,
o.OtDays,
- o.FilePath,
o.UserId
})
.OrderByDescending(o => o.OtDate)
@@ -528,22 +501,7 @@ namespace PSTW_CentralSystem.Controllers.API
return NotFound("Overtime record not found.");
}
- // 1. Delete the file from the server
- if (!string.IsNullOrEmpty(record.FilePath))
- {
- var filePath = Path.Combine(_env.WebRootPath, record.FilePath.TrimStart('/')); // Construct full path
- if (System.IO.File.Exists(filePath))
- {
- System.IO.File.Delete(filePath);
- _logger.LogInformation("File deleted successfully: {FilePath}", filePath);
- }
- else
- {
- _logger.LogWarning("File not found, could not delete: {FilePath}", filePath);
- }
- }
-
- // 2. Delete the record from the database
+ // Delete the record from the database (No file handling anymore)
_centralDbContext.Otregisters.Remove(record);
_centralDbContext.SaveChanges();
@@ -557,48 +515,6 @@ namespace PSTW_CentralSystem.Controllers.API
}
}
- [HttpPost("SaveOvertimeRecordsWithPdf")]
- public async Task SaveOvertimeRecordsWithPdf([FromBody] List records)
- {
- if (!ModelState.IsValid)
- {
- return BadRequest(ModelState);
- }
-
- try
- {
- _logger.LogInformation("SaveOvertimeRecordsWithPdf called with {RecordCount} records", records.Count);
-
- foreach (var record in records)
- {
- _logger.LogDebug("Processing record with OvertimeId: {OvertimeId}", record.OvertimeId);
-
- var existingRecord = await _centralDbContext.Otregisters.FindAsync(record.OvertimeId);
-
- if (existingRecord != null)
- {
- _logger.LogDebug("Updating existing record with OvertimeId: {OvertimeId}", record.OvertimeId);
- existingRecord.FilePath = record.FilePath;
- _centralDbContext.Otregisters.Update(existingRecord);
- }
- else
- {
- _logger.LogWarning("Record with OvertimeId: {OvertimeId} not found, adding new", record.OvertimeId);
- _centralDbContext.Otregisters.Add(record);
- }
- }
-
- await _centralDbContext.SaveChangesAsync();
- _logger.LogInformation("Successfully saved {RecordCount} overtime records with PDFs", records.Count);
- return Ok("Overtime records updated with PDFs.");
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Error saving overtime records with PDFs");
- return StatusCode(500, "An error occurred while saving records.");
- }
- }
-
[HttpGet("GenerateOvertimePdf")]
public IActionResult GenerateOvertimePdf(int month, int year)
{
@@ -653,7 +569,7 @@ namespace PSTW_CentralSystem.Controllers.API
[HttpPost]
[Route("UpdateOvertimeRecord")]
- public async Task UpdateOvertimeRecord([FromForm] OtRegisterModel model, IFormFile? newFile)
+ public IActionResult UpdateOvertimeRecord([FromForm] OtRegisterModel model)
{
_logger.LogInformation("UpdateOvertimeRecord called. Model: {@Model}", model);
@@ -674,33 +590,13 @@ namespace PSTW_CentralSystem.Controllers.API
_logger.LogInformation("Existing record found: {@ExistingRecord}", existing);
- string? oldFilePath = existing.FilePath; // Store the old file path
-
- string? newPdfPath = null; // Initialize the new file path
-
- // Handle new file upload
- if (newFile != null && newFile.Length > 0)
- {
- var fileName = $"OT_{Guid.NewGuid()}{Path.GetExtension(newFile.FileName)}";
- var savePath = Path.Combine(_env.WebRootPath, "media", "Overtime", fileName);
- newPdfPath = $"/media/Overtime/{fileName}";
-
- using (var stream = new FileStream(savePath, FileMode.Create))
- {
- await newFile.CopyToAsync(stream);
- }
-
- existing.FilePath = newPdfPath; // Update the file path in the database
- }
-
- // Update other fields
existing.OtDate = model.OtDate;
existing.OfficeFrom = model.OfficeFrom;
existing.OfficeTo = model.OfficeTo;
existing.OfficeBreak = model.OfficeBreak;
- existing.OutsideFrom = model.OutsideFrom;
- existing.OutsideTo = model.OutsideTo;
- existing.OutsideBreak = model.OutsideBreak;
+ existing.AfterFrom = model.AfterFrom;
+ existing.AfterTo = model.AfterTo;
+ existing.AfterBreak = model.AfterBreak;
existing.StationId = model.StationId;
existing.OtDescription = model.OtDescription;
existing.OtDays = model.OtDays;
@@ -709,21 +605,6 @@ namespace PSTW_CentralSystem.Controllers.API
_centralDbContext.SaveChanges();
_logger.LogInformation("Overtime record updated successfully for Id: {OvertimeId}", model.OvertimeId);
- // Delete the old file after saving the new one (if a new file was uploaded)
- if (newFile != null && !string.IsNullOrEmpty(oldFilePath))
- {
- var fullOldFilePath = Path.Combine(_env.WebRootPath, oldFilePath.TrimStart('/'));
- if (System.IO.File.Exists(fullOldFilePath))
- {
- System.IO.File.Delete(fullOldFilePath);
- _logger.LogInformation("Old file deleted successfully: {OldFilePath}", fullOldFilePath);
- }
- else
- {
- _logger.LogWarning("Old file not found, could not delete: {OldFilePath}", fullOldFilePath);
- }
- }
-
return Ok(new { message = "Record updated successfully." });
}
catch (Exception ex)
diff --git a/wwwroot/Media/Overtime/OT_1c49d312-a22e-4ac2-9c45-d3d57a917eed.pdf b/wwwroot/Media/Overtime/OT_1c49d312-a22e-4ac2-9c45-d3d57a917eed.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..866fe3b8a50d5d290fdf9bfeb178ef03938380d7
GIT binary patch
literal 75325
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