108 lines
4.7 KiB
C#
108 lines
4.7 KiB
C#
using _0_Framework.Application;
|
|
using Company.Domain.InstitutionContractAgg;
|
|
using CompanyManagment.App.Contracts.AdminMonthlyOverview;
|
|
using CompanyManagment.App.Contracts.Employer;
|
|
using CompanyManagment.App.Contracts.InstitutionContract;
|
|
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
|
|
using CompanyManagment.App.Contracts.Workshop;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using ServiceHost.BaseControllers;
|
|
|
|
namespace ServiceHost.Areas.Admin.Controllers;
|
|
|
|
public class RegistrationWorkflowController : AdminBaseController
|
|
{
|
|
private readonly ITemporaryClientRegistrationApplication _temporaryClientRegistrationApplication;
|
|
private readonly IInstitutionContractApplication _institutionContractApplication;
|
|
private readonly IEmployerApplication _employerApplication;
|
|
private readonly IWorkshopApplication _workshopApplication;
|
|
|
|
|
|
public RegistrationWorkflowController(ITemporaryClientRegistrationApplication temporaryClientRegistrationApplication,
|
|
IInstitutionContractApplication institutionContractApplication, IEmployerApplication employerApplication, IWorkshopApplication workshopApplication)
|
|
{
|
|
_temporaryClientRegistrationApplication = temporaryClientRegistrationApplication;
|
|
_institutionContractApplication = institutionContractApplication;
|
|
_employerApplication = employerApplication;
|
|
_workshopApplication = workshopApplication;
|
|
}
|
|
|
|
/// <summary>
|
|
/// لیست کارپوشه ثبت نام
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<ActionResult<List<RegistrationWorkflowMainListViewModel>>> GetList()
|
|
{
|
|
var result = await _institutionContractApplication.RegistrationWorkflowMainList();
|
|
return result;
|
|
}
|
|
|
|
[HttpGet("items/{institutionContractId}")]
|
|
public async Task<ActionResult<List<RegistrationWorkflowItemsViewModel>>> RegistrationWorkflowItems(
|
|
long institutionContractId)
|
|
{
|
|
var result = await _institutionContractApplication.RegistrationWorkflowItems(institutionContractId);
|
|
return result;
|
|
}
|
|
[HttpPost("create-employer")]
|
|
public async Task<ActionResult<OperationResult>> CreateEmployerForWorkshopDetails([FromBody]CreateEmployerWorkflowRegistration command)
|
|
{
|
|
var result = await _employerApplication.CreateWorkflowRegistration(command);
|
|
return result;
|
|
}
|
|
|
|
[HttpGet("create-workshop")]
|
|
public async Task<ActionResult<InstitutionContractWorkshopDetailViewModel>> GetWorkshopDetails(long workshopDetailsId)
|
|
{
|
|
var res =await _institutionContractApplication.GetWorkshopInitialDetails(workshopDetailsId);
|
|
return res;
|
|
}
|
|
|
|
[HttpPost("create-workshop")]
|
|
public async Task<ActionResult<OperationResult>> CreateWorkshop(
|
|
[FromBody]CreateWorkshopWorkflowRegistration command)
|
|
{
|
|
var result = await _workshopApplication.CreateWorkshopWorkflowRegistration(command);
|
|
return result;
|
|
}
|
|
[HttpPost("auth-employer")]
|
|
public async Task<ActionResult<OperationResult<AuthenticateUserViewModel>>> AuthenticateEmployer( [FromBody]AuthenticateEmployerWorkflowRequest command)
|
|
{
|
|
var result = await _employerApplication.AuthenticateEmployer(command.NationalCode, command.DateOfBirth, command.Mobile);
|
|
return result;
|
|
}
|
|
[HttpPut("edit-employer")]
|
|
public async Task<ActionResult<OperationResult>> EditEmployerForWorkshopDetails([FromBody]EditEmployerWorkflowRegistration command)
|
|
{
|
|
var result = await _employerApplication.EditWorkflowRegistration(command);
|
|
return result;
|
|
}
|
|
[HttpGet("edit-employer/{employerId}/{institutionWorkshopDetailsId}")]
|
|
|
|
public async Task<ActionResult<EditEmployerWorkflowRegistration>> GetEmployerForEdit(long employerId, long institutionWorkshopDetailsId)
|
|
{
|
|
var result = await _employerApplication.GetWorkflowRegistrationForEdit(employerId, institutionWorkshopDetailsId);
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// حذف کارفرما از گردش کار ثبت نام
|
|
/// </summary>
|
|
/// <param name="employerId">شناسه کارفرما</param>
|
|
/// <param name="institutionWorkshopDetailsId">شناسه جزئیات کارگاه موسسه</param>
|
|
/// <returns></returns>
|
|
[HttpDelete("delete-employer/{employerId}/{institutionWorkshopDetailsId}")]
|
|
public async Task<ActionResult<OperationResult>> DeleteEmployerWorkflowRegistration(long employerId, long institutionWorkshopDetailsId)
|
|
{
|
|
var result = await _employerApplication.DeleteWorkflowRegistration(employerId, institutionWorkshopDetailsId);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
public class AuthenticateEmployerWorkflowRequest
|
|
{
|
|
public string NationalCode { get; set; }
|
|
public string DateOfBirth { get; set; }
|
|
public string Mobile { get; set; }
|
|
} |