API
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

UserController.cs 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System.Transactions;
  2. using Microsoft.AspNetCore.Authorization;
  3. using Microsoft.AspNetCore.Mvc;
  4. using UnivateProperties_API.Model.Users;
  5. using UnivateProperties_API.Repository;
  6. using UnivateProperties_API.Repository.Users;
  7. namespace User_API.Controllers
  8. {
  9. [Route("api/[controller]")]
  10. [ApiController]
  11. public class UserController : ControllerBase
  12. {
  13. private readonly IRepository<User> _Repo;
  14. public UserController(IRepository<User> repo)
  15. {
  16. _Repo = repo;
  17. }
  18. [HttpGet]
  19. public IActionResult Get()
  20. {
  21. return new OkObjectResult(_Repo.GetAll());
  22. }
  23. [HttpGet("{id}")]
  24. public IActionResult Get(int id)
  25. {
  26. return new OkObjectResult(_Repo.Get(x => x.Id == id));
  27. }
  28. [HttpPost()]
  29. public IActionResult Post([FromBody] User user)
  30. {
  31. using (var scope = new TransactionScope())
  32. {
  33. _Repo.Insert(user);
  34. scope.Complete();
  35. return CreatedAtAction(nameof(Get), new { id = user.Id }, user);
  36. }
  37. }
  38. [HttpPut()]
  39. public IActionResult Put([FromBody] User user)
  40. {
  41. if (user != null)
  42. {
  43. using (var scope = new TransactionScope())
  44. {
  45. _Repo.Update(user);
  46. scope.Complete();
  47. return new OkResult();
  48. }
  49. }
  50. return new NoContentResult();
  51. }
  52. [HttpDelete("{id}")]
  53. public IActionResult Delete(int id)
  54. {
  55. _Repo.RemoveAtId(id);
  56. return new OkResult();
  57. }
  58. }
  59. }