LeaveDuration daily and hourly on create modal completed
This commit is contained in:
@@ -114,6 +114,14 @@ public interface ILeaveApplication
|
||||
/// <returns></returns>
|
||||
Task<string> GetHourlyLeaveDuration(string startHours, string endHours);
|
||||
|
||||
/// <summary>
|
||||
/// محاسبه مدت مرخصی روزانه
|
||||
/// </summary>
|
||||
/// <param name="startDate"></param>
|
||||
/// <param name="endDate"></param>
|
||||
/// <returns></returns>
|
||||
Task<string> GetDailyLeaveDuration(string startDate, string endDate);
|
||||
|
||||
}
|
||||
|
||||
public class LeavePrintResponseViewModel
|
||||
|
||||
@@ -975,6 +975,9 @@ public class LeaveApplication : ILeaveApplication
|
||||
|
||||
public async Task<string> GetHourlyLeaveDuration(string startHours, string endHours)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(startHours) || string.IsNullOrWhiteSpace(endHours))
|
||||
return "";
|
||||
|
||||
var start = new DateTime();
|
||||
var end = new DateTime();
|
||||
try
|
||||
@@ -1015,4 +1018,25 @@ public class LeaveApplication : ILeaveApplication
|
||||
return ($"{hours}");
|
||||
|
||||
}
|
||||
|
||||
public async Task<string> GetDailyLeaveDuration(string startDate, string endDate)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(startDate) || string.IsNullOrWhiteSpace(endDate))
|
||||
return "";
|
||||
|
||||
if (startDate.TryToGeorgianDateTime(out var start) == false || endDate.TryToGeorgianDateTime(out var end) == false)
|
||||
return "";
|
||||
|
||||
|
||||
|
||||
if (end >= start)
|
||||
{
|
||||
var daysSpan = (end - start).TotalDays + 1;
|
||||
return $"{(int)daysSpan} روز";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "تاریخ پایان از تاریخ شروع کوچکتر است.";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -86,6 +86,33 @@ public class LeaveController : ClientBaseController
|
||||
return await _leaveApplication.HasRotatingShift(_workshopId, employeeId, startLeaveDate);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// محاسبه مدت مرخصی ساعتی
|
||||
/// </summary>
|
||||
/// <param name="startHours"></param>
|
||||
/// <param name="endHours"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("GetHourlyLeaveDuration")]
|
||||
public async Task<ActionResult<string>> GetHourlyLeaveDuration(string startHours, string endHours)
|
||||
{
|
||||
var result =await _leaveApplication.GetHourlyLeaveDuration(startHours, endHours);
|
||||
return Ok(new { LeaveDuration = result });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// محاسبه مدت مرخصی روزانه
|
||||
/// </summary>
|
||||
/// <param name="startDate"></param>
|
||||
/// <param name="endDate"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("GetDailyLeaveDuration")]
|
||||
public async Task<ActionResult<string>> GetDailyLeaveDuration(string startDate, string endDate)
|
||||
{
|
||||
var result = await _leaveApplication.GetDailyLeaveDuration(startDate, endDate);
|
||||
return Ok(new { LeaveDuration = result });
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// پرینت تکی
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user