95 lines
3.2 KiB
C#
95 lines
3.2 KiB
C#
using _0_Framework.Application;
|
|
using CompanyManagment.App.Contracts.Employee;
|
|
using CompanyManagment.App.Contracts.Employee.DTO;
|
|
using CompanyManagment.App.Contracts.LeftWorkTemp;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using ServiceHost.BaseControllers;
|
|
|
|
namespace ServiceHost.Areas.Client.Controllers;
|
|
|
|
public class EmployeeController:ClientBaseController
|
|
{
|
|
private readonly IEmployeeApplication _employeeApplication;
|
|
private readonly ILeftWorkTempApplication _leftWorkTempApplication;
|
|
private readonly long _workshopId;
|
|
|
|
public EmployeeController(IEmployeeApplication employeeApplication,IAuthHelper authHelper, ILeftWorkTempApplication leftWorkTempApplication)
|
|
{
|
|
_employeeApplication = employeeApplication;
|
|
_leftWorkTempApplication = leftWorkTempApplication;
|
|
_workshopId = authHelper.GetWorkshopId();
|
|
}
|
|
|
|
/// <summary>
|
|
/// سلکت لیست پرسنل
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet("select-list")]
|
|
public async Task<ActionResult<List<EmployeeSelectListViewModel>>> GetEmployeeSelectList()
|
|
{
|
|
var result = await _employeeApplication.GetWorkingEmployeesSelectList(_workshopId);
|
|
return result;
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// دریافت لیست پرسنل
|
|
/// </summary>
|
|
/// <param name="searchModel"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<ActionResult<List<EmployeeListDto>>> GetList(EmployeeSearchModelDto searchModel)
|
|
{
|
|
var result = await _employeeApplication.ListOfAllEmployeesClient(searchModel, _workshopId);
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// پرینت تجمیعی پرسنل
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet("PrintAllEmployeesInfo")]
|
|
public async Task<ActionResult<List<PrintAllEmployeesInfoDtoClient>>> PrintAllEmployeesInfo()
|
|
{
|
|
var result = await _employeeApplication.PrintAllEmployeesInfoClient(_workshopId);
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// پرینت گروهی تفکیکی پرسنل
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet("PrintAllDetailsPersonnelInfo")]
|
|
public async Task<List<PrintAllDetailsPersonnelInfoDtoClient>> PrintAllDetailsPersonnelInfoClient()
|
|
{
|
|
var result = await _employeeApplication.PrintAllDetailsPersonnelInfoClient(_workshopId);
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// اعلام ترک کار
|
|
/// </summary>
|
|
/// <param name="command"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public async Task<ActionResult<OperationResult>> CreateLeftWorkTempClient([FromBody] CreateLeftWorkTempDtoClient command)
|
|
{
|
|
var result = await _leftWorkTempApplication.CreateLeftWorkTempClient(command, _workshopId);
|
|
return result;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// دریافت روز هفته برای ترک کار و اخرین روز کاری
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet("GetDayOfWeek")]
|
|
public async Task<GetLeftWorkTempDayOfWeekDtoClient> GetLeftWorkTempDayOfWeekDtoClient(string leftWorkTime,
|
|
string lastDayStanding)
|
|
{
|
|
var result = await _leftWorkTempApplication.GetLeftWorkTempDayOfWeekDtoClient(leftWorkTime,lastDayStanding);
|
|
return result;
|
|
}
|
|
|
|
} |