add edit functionality for employee roll call details
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
using _0_Framework.Application;
|
using _0_Framework.Application;
|
||||||
using CompanyManagement.Infrastructure.Excel.RollCall;
|
using CompanyManagement.Infrastructure.Excel.RollCall;
|
||||||
using CompanyManagment.App.Contracts.RollCall;
|
using CompanyManagment.App.Contracts.RollCall;
|
||||||
|
using CompanyManagment.App.Contracts.RollCallEmployee;
|
||||||
using CompanyManagment.App.Contracts.Workshop;
|
using CompanyManagment.App.Contracts.Workshop;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using ServiceHost.BaseControllers;
|
using ServiceHost.BaseControllers;
|
||||||
@@ -12,11 +13,14 @@ public class RollCallCaseHistoryController : ClientBaseController
|
|||||||
private readonly IRollCallApplication _rollCallApplication;
|
private readonly IRollCallApplication _rollCallApplication;
|
||||||
private readonly long _workshopId;
|
private readonly long _workshopId;
|
||||||
private readonly IWorkshopApplication _workshopApplication;
|
private readonly IWorkshopApplication _workshopApplication;
|
||||||
|
private readonly IRollCallEmployeeApplication _rollCallEmployeeApplication;
|
||||||
public RollCallCaseHistoryController(IRollCallApplication rollCallApplication,
|
public RollCallCaseHistoryController(IRollCallApplication rollCallApplication,
|
||||||
IAuthHelper authHelper, IWorkshopApplication workshopApplication)
|
IAuthHelper authHelper, IWorkshopApplication workshopApplication,
|
||||||
|
IRollCallEmployeeApplication rollCallEmployeeApplication)
|
||||||
{
|
{
|
||||||
_rollCallApplication = rollCallApplication;
|
_rollCallApplication = rollCallApplication;
|
||||||
_workshopApplication = workshopApplication;
|
_workshopApplication = workshopApplication;
|
||||||
|
_rollCallEmployeeApplication = rollCallEmployeeApplication;
|
||||||
_workshopId = authHelper.GetWorkshopId();
|
_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")]
|
// [HttpGet("edit")]
|
||||||
// public ActionResult<> GetEditDetails(string date,long employeeId)
|
// public ActionResult<> GetEditDetails(string date,long employeeId)
|
||||||
// {
|
// {
|
||||||
@@ -129,4 +172,13 @@ public class RollCallCaseHistoryController : ClientBaseController
|
|||||||
return false;
|
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