using _0_Framework.Application; using _0_Framework.Application.Enums; using CompanyManagment.App.Contracts.Employer; using Microsoft.AspNetCore.Mvc; using ServiceHost.BaseControllers; namespace ServiceHost.Areas.Admin.Controllers; public class EmployerController : AdminBaseController { private readonly IEmployerApplication _employerApplication; public EmployerController(IEmployerApplication employerApplication) { _employerApplication = employerApplication; } /// /// لیست کارفرما /// /// /// [HttpGet] public async Task>> GetList(GetEmployerSearchModel searchModel) { return await _employerApplication.GetEmployerList(searchModel); } /// /// جزئیات کارفرمای حقوقی /// /// /// [HttpGet("legal/{id}")] public async Task> GetLegalEmployer(long id) { var employerDetail = await _employerApplication.GetLegalEmployerDetail(id); return employerDetail; } /// /// جزئیات کارفرمای حقیقی /// /// /// [HttpGet("real/{id}")] public async Task> GetRealEmployer(long id) { var employerDetail = await _employerApplication.GetRealEmployerDetail(id); return employerDetail; } /// /// ایجاد کارفرمای حقیقی /// /// /// [HttpPost("real")] public async Task> CreateRealEmployer([FromBody] CreateRealEmployer command) { var result = await _employerApplication.CreateReal(command); return result; } /// /// ایجاد کارفرما حقوقی /// /// /// [HttpPost("legal")] public async Task> CreateLegalEmployer([FromBody] CreateLegalEmployer command) { var result = await _employerApplication.CreateLegal(command); return result; } /// /// ویرایش کارفرما حقیقی /// /// /// [HttpPut("real")] public async Task> EditRealEmployer([FromBody] EditRealEmployer command) { var result = await _employerApplication.EditReal(command); return result; } /// /// ویرایش کارفرما حقوقی /// /// /// [HttpPut("legal")] public async Task> EditLegalEmployer([FromBody] EditLegalEmployer command) { var result = await _employerApplication.EditLegal(command); return result; } /// /// حذف کارفرما - درصورت داشتن کارگاه، کارفرما غیرفعال میشود /// /// /// [HttpDelete("{id}")] public async Task>> Remove(long id) { var result = await _employerApplication.Remove(id); return result; } /// /// سلکت لیست کارفرما برای جستجو /// /// [HttpGet("select_list")] public async Task> GetSelectList(string search, long id,LegalType? legalType=null) { return await _employerApplication.GetSelectList(search, id,legalType); } }