diff --git a/RaceLapTimer/RaceLapTimer/ApiControllers/PilotApiModule.cs b/RaceLapTimer/RaceLapTimer/ApiControllers/PilotApiModule.cs index 79da9d9..30321b9 100644 --- a/RaceLapTimer/RaceLapTimer/ApiControllers/PilotApiModule.cs +++ b/RaceLapTimer/RaceLapTimer/ApiControllers/PilotApiModule.cs @@ -28,8 +28,8 @@ namespace RaceLapTimer.ApiControllers private dynamic RemoveTransponderToken(dynamic args) { - var pilotId = args.Id; - //_provider. + var pilotId = (int)args.Id; + var resp = _provider.RemoveTransponderAssociation(pilotId); return Context.GetRedirect("/pilots"); } @@ -37,7 +37,7 @@ namespace RaceLapTimer.ApiControllers { var pilotId = args.Id; var pilot = (Pilot)_provider.GetPilot(pilotId); - var oldImageName = Path.GetFileName(pilot.ImageUrl); + var oldImageName = Path.GetFileName(pilot.ImageUrl??string.Empty); var uploadDirectory = Path.Combine(_rootPathProvider.GetRootPath(), "images"); @@ -65,9 +65,10 @@ namespace RaceLapTimer.ApiControllers pilot.ImageUrl = "/images/" + generatedFileName; _provider.UpdatePilot(pilot); - File.Delete(Path.Combine(uploadDirectory, oldImageName)); - + if(!string.IsNullOrEmpty(oldImageName)) + File.Delete(Path.Combine(uploadDirectory, oldImageName)); } + string returnurl = "/pilot/edit/" + pilotId; return Context.GetRedirect(returnurl); } diff --git a/RaceLapTimer/RaceLapTimer/RaceLapTimer.csproj b/RaceLapTimer/RaceLapTimer/RaceLapTimer.csproj index 336c25f..6785be2 100644 --- a/RaceLapTimer/RaceLapTimer/RaceLapTimer.csproj +++ b/RaceLapTimer/RaceLapTimer/RaceLapTimer.csproj @@ -118,7 +118,6 @@ - diff --git a/RaceLapTimer/RaceLapTimer/TestProvider.cs b/RaceLapTimer/RaceLapTimer/TestProvider.cs index 9f6f17a..7f49f6b 100644 --- a/RaceLapTimer/RaceLapTimer/TestProvider.cs +++ b/RaceLapTimer/RaceLapTimer/TestProvider.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Linq; using Interfaces; -using RaceLapTimer.ApiControllers; namespace RaceLapTimer { @@ -193,6 +192,15 @@ namespace RaceLapTimer return _pilots.Remove(_pilots.FirstOrDefault(x => x.Id == id)); } + public bool RemoveTransponderAssociation(int pilotId) + { + if (_pilots.All(x => x.Id != pilotId)) + return false; + var pilot = _pilots.First(x => x.Id == pilotId); + pilot.TransponderToken = -1; + return true; + } + public int GetLastScannedId() { var rand = new Random();