add edit functionality for employee roll call details
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using _0_Framework.Application;
|
||||
using CompanyManagement.Infrastructure.Excel.RollCall;
|
||||
using CompanyManagment.App.Contracts.RollCall;
|
||||
using CompanyManagment.App.Contracts.RollCallEmployee;
|
||||
using CompanyManagment.App.Contracts.Workshop;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using ServiceHost.BaseControllers;
|
||||
@@ -12,11 +13,14 @@ public class RollCallCaseHistoryController : ClientBaseController
|
||||
private readonly IRollCallApplication _rollCallApplication;
|
||||
private readonly long _workshopId;
|
||||
private readonly IWorkshopApplication _workshopApplication;
|
||||
private readonly IRollCallEmployeeApplication _rollCallEmployeeApplication;
|
||||
public RollCallCaseHistoryController(IRollCallApplication rollCallApplication,
|
||||
IAuthHelper authHelper, IWorkshopApplication workshopApplication)
|
||||
IAuthHelper authHelper, IWorkshopApplication workshopApplication,
|
||||
IRollCallEmployeeApplication rollCallEmployeeApplication)
|
||||
{
|
||||
_rollCallApplication = rollCallApplication;
|
||||
_workshopApplication = workshopApplication;
|
||||
_rollCallEmployeeApplication = rollCallEmployeeApplication;
|
||||
_workshopId = authHelper.GetWorkshopId();
|
||||
}
|
||||
|
||||
@@ -91,6 +95,45 @@ public class RollCallCaseHistoryController : ClientBaseController
|
||||
|
||||
}
|
||||
|
||||
[HttpGet("edit")]
|
||||
public ActionResult<EditRollCallDetailsResult> GetEditDetails(string date, long employeeId)
|
||||
{
|
||||
var result = _rollCallApplication.GetWorkshopEmployeeRollCallsForDate(_workshopId, employeeId, date);
|
||||
//var dates = _rollCallApplication.GetEditableDatesForManualEdit(date.ToGeorgianDateTime());
|
||||
var name = _rollCallEmployeeApplication.GetByEmployeeIdAndWorkshopId(employeeId, _workshopId);
|
||||
|
||||
var total = new TimeSpan(result.Sum(x =>
|
||||
(x.EndDate!.Value.Ticks - x.StartDate!.Value.Ticks)));
|
||||
|
||||
var res = new EditRollCallDetailsResult()
|
||||
{
|
||||
EmployeeFullName = name.EmployeeFullName,
|
||||
EmployeeId = employeeId,
|
||||
DateFa = date,
|
||||
//EditableDates = dates,
|
||||
Records = result.Select(x=>new EmployeeRollCallRecord()
|
||||
{
|
||||
Date = x.DateGr,
|
||||
EndDate = x.EndDateFa,
|
||||
EndTime = x.EndTimeString,
|
||||
RollCallId = x.Id,
|
||||
StartDate = x.StartDateFa,
|
||||
StartTime = x.StartTimeString
|
||||
}).ToList(),
|
||||
TotalRollCallsDuration = total.ToFarsiHoursAndMinutes("-")
|
||||
};
|
||||
|
||||
return res;
|
||||
}
|
||||
[HttpPost("edit")]
|
||||
public ActionResult<OperationResult> Edit(CreateOrEditEmployeeRollCall command)
|
||||
{
|
||||
command.WorkshopId = _workshopId;
|
||||
var result = _rollCallApplication.ManualEdit(command);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
// [HttpGet("edit")]
|
||||
// public ActionResult<> GetEditDetails(string date,long employeeId)
|
||||
// {
|
||||
@@ -129,4 +172,13 @@ public class RollCallCaseHistoryController : ClientBaseController
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class EditRollCallDetailsResult
|
||||
{
|
||||
public string EmployeeFullName { get; set; }
|
||||
public long EmployeeId { get; set; }
|
||||
public string DateFa { get; set; }
|
||||
public string TotalRollCallsDuration { get; set; }
|
||||
public List<EmployeeRollCallRecord> Records { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user