Initial commit

This commit is contained in:
2020-04-12 20:52:03 -04:00
parent e750d2848a
commit 01e7627293
249 changed files with 9733 additions and 0 deletions

View File

@@ -0,0 +1,114 @@
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);
}
}
}