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

PatternsController.cs 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using Diligent.WebAPI.Contracts.DTOs.Pattern;
  2. namespace Diligent.WebAPI.Host.Controllers.V1
  3. {
  4. [ApiVersion("1.0")]
  5. [Route("v{version:apiVersion}/patterns")]
  6. [ApiController]
  7. public class PatternsController : ControllerBase
  8. {
  9. private readonly IPatternService _patternService;
  10. public PatternsController(IPatternService patternService)
  11. {
  12. _patternService = patternService;
  13. }
  14. [Authorize]
  15. [HttpGet]
  16. public async Task<IActionResult> GetAll() =>
  17. Ok(await _patternService.GetAllAsync());
  18. [Authorize]
  19. [HttpGet("{id}")]
  20. public async Task<IActionResult> GetById([FromRoute] int id) =>
  21. Ok(await _patternService.GetByIdAsync(id));
  22. [Authorize]
  23. [HttpGet("filter")]
  24. public async Task<IActionResult> GetFilteredPatterns([FromQuery] FilterPatternDto request) =>
  25. Ok(await _patternService.GetFilteredPatternsAsync(request));
  26. [Authorize]
  27. [HttpGet("corresponding-pattern-applicants/{id}")]
  28. public async Task<IActionResult> GetCorrespondingPatternApplicants([FromRoute] int id) =>
  29. Ok(await _patternService.GetCorrespondingPatternApplicants(id));
  30. [Authorize]
  31. [HttpPost]
  32. public async Task<IActionResult> Create([FromBody] PatternCreateDto request)
  33. {
  34. await _patternService.CreateAsync(request);
  35. return StatusCode((int)HttpStatusCode.Created);
  36. }
  37. [Authorize]
  38. [HttpPost("schedule-interview")]
  39. public async Task<IActionResult> ScheduleInterview([FromBody] ScheduleInterviewDto request)
  40. {
  41. var result = await _patternService.ScheduleIntrviewAsync(request);
  42. return Ok(result);
  43. }
  44. [Authorize]
  45. [HttpPut("{id}")]
  46. public async Task<IActionResult> Update([FromBody]PatternUpdateDto request, [FromRoute]int id)
  47. {
  48. await _patternService.UpdateAsync(request, id);
  49. return Ok();
  50. }
  51. [Authorize]
  52. [HttpDelete("{id}")]
  53. public async Task<IActionResult> DeletePattern([FromRoute] int id)
  54. {
  55. await _patternService.DeleteAsync(id);
  56. return NoContent();
  57. }
  58. }
  59. }