|
|
- using Microsoft.AspNetCore.Cors;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.Extensions.Logging;
- using POCDistance.Models;
- using POCDistance.Service;
- using System;
- using System.Net;
-
- namespace POCDistance.Controllers
- {
- [EnableCors(SecurityPolicy.SiteCorsPolicy)]
- [ApiController]
- [Route("api/[controller]")]
- public class DistanceController : ControllerBase
- {
- private readonly ILogger<DistanceController> _logger;
- private readonly ILocationService _locationService;
- public ErrorModel errorModel;
-
- public DistanceController(ILogger<DistanceController> logger, ILocationService locationService)
- {
- _logger = logger;
- _locationService = locationService;
- }
-
- [Route("GetDistance")]
- [HttpGet]
- public ActionResult GetDistance(string travelFrom, string travelTo)
- {
- var vResult = new ErrorModel();
-
- var model = _locationService.GetDistanceByZipCode(travelFrom, travelTo);
-
- if (!string.IsNullOrEmpty(model.Distance))
- {
- return Ok(model);
- }
- else
- {
- vResult.Status = Convert.ToInt32(HttpStatusCode.BadRequest);
- vResult.Message = "Postal code(s) not found!";
- return BadRequest(vResult);
- }
- }
-
- [Route("GetZipCode")]
- [HttpGet]
- public ActionResult GetZipCode(string zipCode)
- {
- var vResult = new ErrorModel();
-
- var model = _locationService.GetManyByZipCode(zipCode);
-
- if (model.Count > 0)
- {
- return Ok(model);
- }
- else
- {
- vResult.Status = Convert.ToInt32(HttpStatusCode.BadRequest);
- vResult.Message = "Zip code not found";
- return BadRequest(vResult);
- }
- }
- }
- }
|