using _0_Framework.Application; using CompanyManagment.App.Contracts.ClassificationScheme; using CompanyManagment.App.Contracts.Employee; using CompanyManagment.App.Contracts.PaymentInstrument; using CompanyManagment.Application; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using ServiceHost.BaseControllers; namespace ServiceHost.Areas.Admin.Controllers; public class ClassificationSchemeController : AdminBaseController { private readonly IClassificationSchemeApplication _classificationSchemeApplication; private readonly IAuthHelper _authHelper; public ClassificationSchemeController(IClassificationSchemeApplication classificationSchemeApplication, IAuthHelper authHelper) { _classificationSchemeApplication = classificationSchemeApplication; _authHelper = authHelper; } #region SchemeTab /// /// لیست طرح /// /// /// [HttpGet] public async Task> GetList(long workshopId) { var result = await _classificationSchemeApplication.GetClassificationSchemeList(workshopId); return result; } /// /// ایجاد طرح /// /// /// [HttpPost("Scheme")] public async Task> CreateScheme([FromBody] CreateClassificationSchemeDto command) { var result = await _classificationSchemeApplication.CreateClassificationScheme(command); return result; } /// /// دریافت اطلاعات طرح برای ویرایش /// /// /// [HttpGet("GetSchemeToEdit")] public async Task GetSchemeToEdit(long id) { var result = await _classificationSchemeApplication.GetClassificationScheme(id); return result; } /// /// ویرایش طرح /// /// /// [HttpPut("Scheme")] public async Task> EditScheme([FromBody] EditClassificationSchemeDto command) { var result = await _classificationSchemeApplication.EditClassificationScheme(command); return result; } /// /// چگ کردن شرایط حذف طرح /// /// /// [HttpGet("CheckToDeleteScheme")] public async Task CheckToDeleteScheme(long id) { var result = await _classificationSchemeApplication.CheckToDeleteScheme(id); return result; } /// /// حذف طرح /// /// [HttpDelete] public async Task> DeleteScheme(long id) { var result = await _classificationSchemeApplication.DeleteScheme(id); return result; } #endregion #region GroupsTab /// /// دریافت لیست گروه ها /// /// /// [HttpGet("GetGroupList")] public async Task> GetGroupList(long schemeId) { var result = await _classificationSchemeApplication.GetGroupList(schemeId); return result; } /// /// دریافت لیست مشاغل گروه برای مودال افزودن و ویرایش /// /// /// [HttpGet("GetCreateOrEditJobsData")] public async Task GetCreateOrEditJobsData(long groupId) { var result = await _classificationSchemeApplication.GetCreateOrEditJobsData(groupId); return result; } /// /// چک میکند که آیا امکان حذف شغل از گروه وجود دارد /// /// /// /// [HttpGet("CheckDeleteJobFromGroup")] public async Task> CheckDeleteJobFromGroup(long jobId, long groupId) { var result = await _classificationSchemeApplication.CheckIfEmployeeHasThisJob(jobId, groupId); return result; } #endregion }