Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

ApplicantsController.cs 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using Diligent.WebAPI.Contracts.DTOs.Applicant;
  2. namespace Diligent.WebAPI.Host.Controllers.V1
  3. {
  4. [ApiVersion("1.0")]
  5. [Route("v{version:apiVersion}/applicants")]
  6. [ApiController]
  7. public class ApplicantsController : ControllerBase
  8. {
  9. private readonly IApplicantService _applicantService;
  10. public ApplicantsController(IApplicantService applicantService)
  11. {
  12. _applicantService = applicantService;
  13. }
  14. [Authorize]
  15. [HttpGet]
  16. public async Task<IActionResult> GetFilteredApplicants([FromQuery] ApplicantFilterDto applicantFilterDto) =>
  17. Ok(await _applicantService.GetFilteredApplicants(applicantFilterDto));
  18. [Authorize]
  19. [HttpGet("{id}")]
  20. public async Task<IActionResult> GetById(int id) =>
  21. Ok(await _applicantService.GetById(id));
  22. [Authorize]
  23. [HttpGet("adsApplicants")]
  24. public async Task<IActionResult> GetAllAdsApplicants([FromQuery]ApplicantFilterDto applicantFilterDto) =>
  25. Ok(await _applicantService.GetAllAdsApplicants(applicantFilterDto));
  26. [Authorize]
  27. [HttpDelete]
  28. public async Task<IActionResult> DeleteApplicant(int id)
  29. {
  30. await _applicantService.DeleteApplicant(id);
  31. return Ok();
  32. }
  33. [Authorize]
  34. [HttpGet("processes/{id}")]
  35. public async Task<IActionResult> GetProcesses(int id)
  36. {
  37. return Ok(await _applicantService.GetApplicantWithSelectionProcessesById(id));
  38. }
  39. [Authorize]
  40. [HttpGet("options")]
  41. public async Task<IActionResult> GetOptions()
  42. {
  43. return Ok(await _applicantService.GetOptions());
  44. }
  45. [Authorize]
  46. [HttpPost("selection-init")]
  47. public async Task<IActionResult> InitSelection(ApplicantProcessRequestDTO model)
  48. {
  49. await _applicantService.InitializeProcess(model);
  50. return Ok();
  51. }
  52. [Authorize]
  53. [HttpPost("apply-for-ad")]
  54. public async Task<IActionResult> ApplyForAd([FromForm]ApplyForAdRequestDto request)
  55. {
  56. await _applicantService.ApplyForAd(request);
  57. return Ok();
  58. }
  59. [HttpGet("get-CV")]
  60. public async Task<IActionResult> GetCV(string fileName)
  61. {
  62. var res = await _applicantService.GetCV(fileName);
  63. return Ok(res);
  64. }
  65. }
  66. }