Files
Backend-Api/ServiceHost/Areas/Admin/Controllers/EmployerController.cs
2025-06-17 14:17:26 +03:30

123 lines
3.4 KiB
C#

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