Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

PatternsController.cs 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. [HttpGet]
  15. public async Task<IActionResult> GetAll() =>
  16. Ok(await _patternService.GetAllAsync());
  17. [HttpGet("{id}")]
  18. public async Task<IActionResult> GetById([FromRoute] int id) =>
  19. Ok(await _patternService.GetByIdAsync(id));
  20. [HttpGet("filter")]
  21. public async Task<IActionResult> GetFilteredPatterns([FromQuery] FilterPatternDto request) =>
  22. Ok(await _patternService.GetFilteredPatternsAsync(request));
  23. [HttpGet("corresponding-pattern-applicants/{id}")]
  24. public async Task<IActionResult> GetFilteredPatterns([FromRoute] int id) =>
  25. Ok(await _patternService.GetCorrespondingPatternApplicants(id));
  26. [HttpPost]
  27. public async Task<IActionResult> Create([FromBody] PatternCreateDto request)
  28. {
  29. await _patternService.CreateAsync(request);
  30. return StatusCode((int)HttpStatusCode.Created);
  31. }
  32. [HttpPost("schedule-interview")]
  33. public async Task<IActionResult> ScheduleInterview([FromBody] ScheduleInterviewDto request)
  34. {
  35. var result = await _patternService.ScheduleIntrviewAsync(request);
  36. return Ok(result);
  37. }
  38. [HttpPut("{id}")]
  39. public async Task<IActionResult> Update([FromBody]PatternUpdateDto request, [FromRoute]int id)
  40. {
  41. await _patternService.UpdateAsync(request, id);
  42. return Ok();
  43. }
  44. [HttpDelete("{id}")]
  45. public async Task<IActionResult> DeletePattern([FromRoute] int id)
  46. {
  47. await _patternService.DeleteAsync(id);
  48. return NoContent();
  49. }
  50. }
  51. }