Files
Backend-Api/ServiceHost/Areas/Client/Controllers/EmployeeController.cs
2025-12-29 19:24:53 +03:30

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;
}
}