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();