From 4ca45dd32beab49a92563fa297f8a1a15093d491 Mon Sep 17 00:00:00 2001 From: "DESKTOP-GENO133\\IvanPlex" Date: Sun, 21 Jan 2024 08:14:45 -0700 Subject: [PATCH] added post endpoints for service records, upgrade records and repair records. --- Controllers/APIController.cs | 123 +++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) diff --git a/Controllers/APIController.cs b/Controllers/APIController.cs index a6cb477..0757313 100644 --- a/Controllers/APIController.cs +++ b/Controllers/APIController.cs @@ -83,6 +83,47 @@ namespace CarCareTracker.Controllers return Json(result); } [TypeFilter(typeof(CollaboratorFilter))] + [HttpPost] + [Route("/api/vehicle/servicerecords/add")] + public IActionResult AddServiceRecord(int vehicleId, ServiceRecordExportModel input) + { + var response = new OperationResponse(); + if (vehicleId == default) + { + response.Success = false; + response.Message = "Must provide a valid vehicle id"; + return Json(response); + } + if (string.IsNullOrWhiteSpace(input.Description)) + { + response.Success = false; + response.Message = "Must provide a valid description"; + return Json(response); + } + try + { + var serviceRecord = new ServiceRecord() + { + VehicleId = vehicleId, + Date = DateTime.Parse(input.Date), + Mileage = int.Parse(input.Odometer), + Description = input.Description, + Notes = string.IsNullOrWhiteSpace(input.Notes) ? "" : input.Notes, + Cost = decimal.Parse(input.Cost) + }; + _serviceRecordDataAccess.SaveServiceRecordToVehicle(serviceRecord); + response.Success = true; + response.Message = "Service Record Added"; + return Json(response); + } + catch (Exception ex) + { + response.Success = false; + response.Message = ex.Message; + return Json(response); + } + } + [TypeFilter(typeof(CollaboratorFilter))] [HttpGet] [Route("/api/vehicle/repairrecords")] public IActionResult RepairRecords(int vehicleId) @@ -92,6 +133,47 @@ namespace CarCareTracker.Controllers return Json(result); } [TypeFilter(typeof(CollaboratorFilter))] + [HttpPost] + [Route("/api/vehicle/repairrecords/add")] + public IActionResult AddRepairRecord(int vehicleId, ServiceRecordExportModel input) + { + var response = new OperationResponse(); + if (vehicleId == default) + { + response.Success = false; + response.Message = "Must provide a valid vehicle id"; + return Json(response); + } + if (string.IsNullOrWhiteSpace(input.Description)) + { + response.Success = false; + response.Message = "Must provide a valid description"; + return Json(response); + } + try + { + var repairRecord = new CollisionRecord() + { + VehicleId = vehicleId, + Date = DateTime.Parse(input.Date), + Mileage = int.Parse(input.Odometer), + Description = input.Description, + Notes = string.IsNullOrWhiteSpace(input.Notes) ? "" : input.Notes, + Cost = decimal.Parse(input.Cost) + }; + _collisionRecordDataAccess.SaveCollisionRecordToVehicle(repairRecord); + response.Success = true; + response.Message = "Repair Record Added"; + return Json(response); + } + catch (Exception ex) + { + response.Success = false; + response.Message = ex.Message; + return Json(response); + } + } + [TypeFilter(typeof(CollaboratorFilter))] [HttpGet] [Route("/api/vehicle/upgraderecords")] public IActionResult UpgradeRecords(int vehicleId) @@ -101,6 +183,47 @@ namespace CarCareTracker.Controllers return Json(result); } [TypeFilter(typeof(CollaboratorFilter))] + [HttpPost] + [Route("/api/vehicle/upgraderecords/add")] + public IActionResult AddUpgradeRecord(int vehicleId, ServiceRecordExportModel input) + { + var response = new OperationResponse(); + if (vehicleId == default) + { + response.Success = false; + response.Message = "Must provide a valid vehicle id"; + return Json(response); + } + if (string.IsNullOrWhiteSpace(input.Description)) + { + response.Success = false; + response.Message = "Must provide a valid description"; + return Json(response); + } + try + { + var upgradeRecord = new UpgradeRecord() + { + VehicleId = vehicleId, + Date = DateTime.Parse(input.Date), + Mileage = int.Parse(input.Odometer), + Description = input.Description, + Notes = string.IsNullOrWhiteSpace(input.Notes) ? "" : input.Notes, + Cost = decimal.Parse(input.Cost) + }; + _upgradeRecordDataAccess.SaveUpgradeRecordToVehicle(upgradeRecord); + response.Success = true; + response.Message = "Upgrade Record Added"; + return Json(response); + } + catch (Exception ex) + { + response.Success = false; + response.Message = ex.Message; + return Json(response); + } + } + [TypeFilter(typeof(CollaboratorFilter))] [HttpGet] [Route("/api/vehicle/taxrecords")] public IActionResult TaxRecords(int vehicleId)