API
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SearchLogController.cs 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Microsoft.AspNetCore.Mvc;
  2. using System.Transactions;
  3. using UnivateProperties_API.Containers.Timeshare;
  4. using UnivateProperties_API.Repository.Logging;
  5. namespace UnivateProperties_API.Controllers.Logging
  6. {
  7. [Route("api/[controller]")]
  8. [ApiController]
  9. public class SearchLogController : ControllerBase
  10. {
  11. private readonly ISearchLogRepository _Repo;
  12. public SearchLogController(ISearchLogRepository repo)
  13. {
  14. _Repo = repo;
  15. }
  16. [HttpGet("{type}")]
  17. public IActionResult Get(string type)
  18. {
  19. if (type.ToUpper() == "PROPERTY")
  20. return new OkObjectResult(_Repo.GetPropertySearches());
  21. else if (type.ToUpper() == "TIMESHARE")
  22. return new OkObjectResult(_Repo.GetTimeshareSearches());
  23. else return NoContent();
  24. }
  25. [HttpPost]
  26. public IActionResult Post([FromBody] TimeshareSearch item)
  27. {
  28. using (var scope = new TransactionScope())
  29. {
  30. _Repo.SaveTimeshareSearch(item);
  31. scope.Complete();
  32. return new OkObjectResult(item);
  33. }
  34. }
  35. }
  36. }