Add "inTunnel" property on JumpType

This commit is contained in:
Sébastien ANDRE
2023-08-18 09:47:37 +02:00
parent 01fa8b60d0
commit b28bd7e7ff
6 changed files with 48 additions and 13 deletions

View File

@@ -4,6 +4,7 @@
{
Gear,
JumpType,
TunnelJumpType,
Aircraft,
DropZone,
Tunnel

View File

@@ -8,7 +8,7 @@
public string Name { get; set; }
public string InTunnel { get; set; }
public bool InTunnel { get; set; }
#endregion Public Properties
}

View File

@@ -13,6 +13,8 @@ namespace skydiveLogs_api.DomainBusiness.Interfaces
IEnumerable<JumpType> GetAllJumpTypes();
IEnumerable<JumpType> GetJumpTypesForTunnel();
JumpType GetJumpTypeById(int id);
void UpdateJumpType(int id, JumpType value);

View File

@@ -43,6 +43,17 @@ namespace skydiveLogs_api.DomainBusiness
return _cacheService.Get<IEnumerable<JumpType>>(CacheType.JumpType);
}
public IEnumerable<JumpType> GetJumpTypesForTunnel()
{
if (!_cacheService.Contains(CacheType.JumpType))
{
var tmp = _jumpTypeRepository.GetAll().Where(t => t.InTunnel);
_cacheService.Put(CacheType.TunnelJumpType, tmp, 5 * 60 * 1000);
}
return _cacheService.Get<IEnumerable<JumpType>>(CacheType.TunnelJumpType);
}
public JumpType GetJumpTypeById(int id)
{
var allJumpTypes = GetAllJumpTypes();

View File

@@ -40,6 +40,15 @@ namespace skydiveLogs_api.Controllers
return _mapper.Map<IEnumerable<JumpTypeResp>>(result);
}
// GET: api/JumpType/tunnel
[HttpGet("tunnel")]
[EnableCors]
public IEnumerable<JumpTypeResp> GetForTunnel()
{
var result = _jumpTypeService.GetJumpTypesForTunnel();
return _mapper.Map<IEnumerable<JumpTypeResp>>(result);
}
// GET: api/JumpType/5
[HttpGet("{id}")]
[EnableCors]

View File

@@ -1,50 +1,62 @@
[
{
"id": 1,
"name": "PAC"
"name": "PAC",
"InTunnel": false
},
{
"id": 2,
"name": "RW 4"
"name": "RW 4",
"InTunnel": true
},
{
"id": 3,
"name": "RW 8"
"name": "RW 8",
"InTunnel": true
},
{
"id": 4,
"name": "RW X"
"name": "RW X",
"InTunnel": false
},
{
"id": 5,
"name": "FreeFly"
"name": "FreeFly",
"InTunnel": true
},
{
"id": 6,
"name": "FreeStyle"
"name": "FreeStyle",
"InTunnel": false
},
{
"id": 7,
"name": "Canopy"
"name": "Canopy",
"InTunnel": false
},
{
"id": 8,
"name": "Track/Trace"
"name": "Track/Trace",
"InTunnel": false
},
{
"id": 9,
"name": "Wingsuit 1"
"name": "Wingsuit 1",
"InTunnel": true
},
{
"id": 10,
"name": "Wingsuit 2"
"name": "Wingsuit 2",
"InTunnel": false
},
{
"id": 11,
"name": "Wingsuit 3"
"name": "Wingsuit 3",
"InTunnel": false
},
{
"id": 13,
"name": "Landing accuracy"
"name": "Landing accuracy",
"InTunnel": false
}
]