Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

ApplicantsController.cs 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. private readonly IFileService _fileService;
  11. public ApplicantsController(IApplicantService applicantService,IFileService fileService)
  12. {
  13. _applicantService = applicantService;
  14. _fileService = fileService;
  15. }
  16. [Authorize]
  17. [HttpGet]
  18. public async Task<IActionResult> GetFilteredApplicants([FromQuery] ApplicantFilterDto applicantFilterDto) =>
  19. Ok(await _applicantService.GetFilteredApplicants(applicantFilterDto));
  20. [Authorize]
  21. [HttpGet("{id}")]
  22. public async Task<IActionResult> GetById(int id) =>
  23. Ok(await _applicantService.GetById(id));
  24. [Authorize]
  25. [HttpGet("adsApplicants")]
  26. public async Task<IActionResult> GetAllAdsApplicants([FromQuery]ApplicantFilterDto applicantFilterDto) =>
  27. Ok(await _applicantService.GetAllAdsApplicants(applicantFilterDto));
  28. [Authorize]
  29. [HttpDelete]
  30. public async Task<IActionResult> DeleteApplicant(int id)
  31. {
  32. await _applicantService.DeleteApplicant(id);
  33. return Ok();
  34. }
  35. [Authorize]
  36. [HttpGet("processes/{id}")]
  37. public async Task<IActionResult> GetProcesses(int id)
  38. {
  39. return Ok(await _applicantService.GetApplicantWithSelectionProcessesById(id));
  40. }
  41. [Authorize]
  42. [HttpGet("options")]
  43. public async Task<IActionResult> GetOptions()
  44. {
  45. return Ok(await _applicantService.GetOptions());
  46. }
  47. [Authorize]
  48. [HttpPost("selection-init")]
  49. public async Task<IActionResult> InitSelection(ApplicantProcessRequestDTO model)
  50. {
  51. await _applicantService.InitializeProcess(model);
  52. return Ok();
  53. }
  54. [Authorize]
  55. [HttpPost("apply-for-ad")]
  56. public async Task<IActionResult> ApplyForAd([FromForm]ApplyForAdRequestDto request)
  57. {
  58. await _applicantService.ApplyForAd(request);
  59. return Ok();
  60. }
  61. [HttpGet("get-CV")]
  62. public async Task<IActionResult> GetCandidateCV(string fileName)
  63. {
  64. var res = await _fileService.GetCV(fileName);
  65. return Ok(res);
  66. }
  67. }
  68. }