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(); } /// /// سلکت لیست پرسنل /// /// [HttpGet("select-list")] public async Task>> GetEmployeeSelectList() { var result = await _employeeApplication.GetWorkingEmployeesSelectList(_workshopId); return result; } /// /// دریافت لیست پرسنل /// /// /// [HttpGet] public async Task>> GetList(EmployeeSearchModelDto searchModel) { var result = await _employeeApplication.ListOfAllEmployeesClient(searchModel, _workshopId); return result; } /// /// پرینت تجمیعی پرسنل /// /// [HttpGet("PrintAllEmployeesInfo")] public async Task>> PrintAllEmployeesInfo() { var result = await _employeeApplication.PrintAllEmployeesInfoClient(_workshopId); return result; } /// /// پرینت گروهی تفکیکی پرسنل /// /// [HttpGet("PrintAllDetailsPersonnelInfo")] public async Task> PrintAllDetailsPersonnelInfoClient() { var result = await _employeeApplication.PrintAllDetailsPersonnelInfoClient(_workshopId); return result; } /// /// اعلام ترک کار /// /// /// [HttpPost] public async Task> CreateLeftWorkTempClient([FromBody] CreateLeftWorkTempDtoClient command) { var result = await _leftWorkTempApplication.CreateLeftWorkTempClient(command, _workshopId); return result; } /// /// دریافت روز هفته برای ترک کار و اخرین روز کاری /// /// [HttpGet("GetDayOfWeek")] public async Task GetLeftWorkTempDayOfWeekDtoClient(string leftWorkTime, string lastDayStanding) { var result = await _leftWorkTempApplication.GetLeftWorkTempDayOfWeekDtoClient(leftWorkTime,lastDayStanding); return result; } }