115 lines
4.9 KiB
C#
115 lines
4.9 KiB
C#
using PartSource.Entities.Nexpart;
|
|
using PartSource.Services;
|
|
using System.Threading.Tasks;
|
|
using System.Web.Http;
|
|
|
|
namespace PartSource.Controllers
|
|
{
|
|
[RoutePrefix("vehicles")]
|
|
public class VehiclesController : BaseNexpartController
|
|
{
|
|
private readonly NexpartService _nexpartService;
|
|
|
|
public VehiclesController(NexpartService nexpartService)
|
|
{
|
|
this._nexpartService = nexpartService;
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("types")]
|
|
public async Task<IHttpActionResult> GetVehicleTypes()
|
|
{
|
|
VehiclesController vehiclesController = this;
|
|
VehicleTypesGetResponse response = await vehiclesController._nexpartService.SendRequest<VehicleTypesGet, VehicleTypesGetResponse>(new VehicleTypesGet());
|
|
return vehiclesController.NexpartResponse<VehicleTypesGetResponse, VehicleTypes>(response);
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("makes")]
|
|
public async Task<IHttpActionResult> GetMakes()
|
|
{
|
|
VehiclesController vehiclesController = this;
|
|
MakeSearch requestContent = new MakeSearch()
|
|
{
|
|
VehicleTypeId = new uint[3] { 5U, 6U, 7U }
|
|
};
|
|
MakeSearchResponse response = await vehiclesController._nexpartService.SendRequest<MakeSearch, MakeSearchResponse>(requestContent);
|
|
return vehiclesController.NexpartResponse<MakeSearchResponse, Makes>(response);
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("makes/vehicletypeid/{vehicleTypeId}")]
|
|
public async Task<IHttpActionResult> GetMakes(uint vehicleTypeId)
|
|
{
|
|
VehiclesController vehiclesController = this;
|
|
MakeSearch requestContent = new MakeSearch()
|
|
{
|
|
VehicleTypeId = new uint[1] { vehicleTypeId }
|
|
};
|
|
MakeSearchResponse response = await vehiclesController._nexpartService.SendRequest<MakeSearch, MakeSearchResponse>(requestContent);
|
|
return vehiclesController.NexpartResponse<MakeSearchResponse, Makes>(response);
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("models/makeid/{makeId}/modelyear/{year}")]
|
|
public async Task<IHttpActionResult> GetModels(uint makeId, uint year)
|
|
{
|
|
VehiclesController vehiclesController = this;
|
|
ModelSearch requestContent = new ModelSearch()
|
|
{
|
|
MakeId = makeId,
|
|
Year = year,
|
|
VehicleTypeId = new uint[3] { 5U, 6U, 7U }
|
|
};
|
|
ModelSearchResponse response = await vehiclesController._nexpartService.SendRequest<ModelSearch, ModelSearchResponse>(requestContent);
|
|
return vehiclesController.NexpartResponse<ModelSearchResponse, Models[]>(response);
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("models/makeid/{makeId}/modelyear/{year}/vehicletypeid/{vehicleTypeId}")]
|
|
public async Task<IHttpActionResult> GetModels(uint makeId, uint year, uint vehicleTypeId)
|
|
{
|
|
VehiclesController vehiclesController = this;
|
|
ModelSearch requestContent = new ModelSearch()
|
|
{
|
|
MakeId = makeId,
|
|
Year = year,
|
|
VehicleTypeId = new uint[1] { vehicleTypeId }
|
|
};
|
|
ModelSearchResponse response = await vehiclesController._nexpartService.SendRequest<ModelSearch, ModelSearchResponse>(requestContent);
|
|
return vehiclesController.NexpartResponse<ModelSearchResponse, Models[]>(response);
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("basevehicle/makeid/{makeId}/modelid/{modelId}/modelyear/{year}")]
|
|
public async Task<IHttpActionResult> GetBaseVehicle(uint makeId, uint modelId, uint year)
|
|
{
|
|
VehiclesController vehiclesController = this;
|
|
BaseVehicleDetailLookup requestContent = new BaseVehicleDetailLookup()
|
|
{
|
|
MakeId = makeId,
|
|
ModelId = modelId,
|
|
Year = year
|
|
};
|
|
BaseVehicleDetailLookupResponse response = await vehiclesController._nexpartService.SendRequest<BaseVehicleDetailLookup, BaseVehicleDetailLookupResponse>(requestContent);
|
|
return vehiclesController.NexpartResponse<BaseVehicleDetailLookupResponse, BaseVehicleDetail>(response);
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("engines/basevehicleid/{baseVehicleId}")]
|
|
public async Task<IHttpActionResult> GetEngines(uint baseVehicleId)
|
|
{
|
|
VehiclesController vehiclesController = this;
|
|
EngineSearch requestContent = new EngineSearch()
|
|
{
|
|
VehicleIdentifier = new VehicleIdentifier()
|
|
{
|
|
BaseVehicleId = baseVehicleId
|
|
}
|
|
};
|
|
EngineSearchResponse response = await vehiclesController._nexpartService.SendRequest<EngineSearch, EngineSearchResponse>(requestContent);
|
|
return vehiclesController.NexpartResponse<EngineSearchResponse, Engines>(response);
|
|
}
|
|
}
|
|
}
|