From 01fa8b60d054b7323febd28fbc8f9e20ec5f2f23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20ANDRE?= Date: Thu, 17 Aug 2023 11:29:13 +0200 Subject: [PATCH] Add the jump type in the tunnel flight --- Back/skydiveLogs-api.Domain/TunnelFlight.cs | 2 + .../skydiveLogs-api.Domain.csproj | 12 +++-- .../Interfaces/ITunnelFlightService.cs | 2 +- .../TunnelFlightService.cs | 13 +++-- .../skydiveLogs-api.DomainBusiness.csproj | 28 +++++----- .../skydiveLogs-api.DomainService.csproj | 18 ++++--- .../LiteDbProvider.cs | 1 + .../TunnelFlightRepository.cs | 3 ++ .../skydiveLogs-api.Infrastructure.csproj | 26 +++++---- .../skydiveLogs-api.Ioc.csproj | 2 +- .../Controllers/TunnelFlightController.cs | 1 + .../DataContract/TunnelFlightReq.cs | 2 + .../DataContract/TunnelFlightResp.cs | 2 + Back/skydiveLogs-api/skydiveLogs-api.csproj | 54 +++++++++---------- 14 files changed, 100 insertions(+), 66 deletions(-) diff --git a/Back/skydiveLogs-api.Domain/TunnelFlight.cs b/Back/skydiveLogs-api.Domain/TunnelFlight.cs index 81e9c48..6036326 100644 --- a/Back/skydiveLogs-api.Domain/TunnelFlight.cs +++ b/Back/skydiveLogs-api.Domain/TunnelFlight.cs @@ -10,6 +10,8 @@ namespace skydiveLogs_api.Domain public Tunnel Tunnel { get; set; } + public JumpType JumpType { get; set; } + public int NbMinutes { get; set; } public string Notes { get; set; } diff --git a/Back/skydiveLogs-api.Domain/skydiveLogs-api.Domain.csproj b/Back/skydiveLogs-api.Domain/skydiveLogs-api.Domain.csproj index 5874690..afe156a 100644 --- a/Back/skydiveLogs-api.Domain/skydiveLogs-api.Domain.csproj +++ b/Back/skydiveLogs-api.Domain/skydiveLogs-api.Domain.csproj @@ -1,8 +1,12 @@ - - net7.0 - skydiveLogs_api.Domain - + + net7.0 + skydiveLogs_api.Domain + + + + + diff --git a/Back/skydiveLogs-api.DomainBusiness/Interfaces/ITunnelFlightService.cs b/Back/skydiveLogs-api.DomainBusiness/Interfaces/ITunnelFlightService.cs index c1d0a87..b2dd614 100644 --- a/Back/skydiveLogs-api.DomainBusiness/Interfaces/ITunnelFlightService.cs +++ b/Back/skydiveLogs-api.DomainBusiness/Interfaces/ITunnelFlightService.cs @@ -19,7 +19,7 @@ namespace skydiveLogs_api.DomainBusiness.Interfaces IEnumerable GetTunnelFlightGroupByMonth(string beginDate, string endDate); - void AddNewFlight(int tunnelId, TunnelFlight newFlight); + void AddNewFlight(int tunnelId, int jumpTypeId, TunnelFlight newFlight); void DeleteTunnelFlightById(int id); diff --git a/Back/skydiveLogs-api.DomainBusiness/TunnelFlightService.cs b/Back/skydiveLogs-api.DomainBusiness/TunnelFlightService.cs index 0f8578d..7ae5e4d 100644 --- a/Back/skydiveLogs-api.DomainBusiness/TunnelFlightService.cs +++ b/Back/skydiveLogs-api.DomainBusiness/TunnelFlightService.cs @@ -11,11 +11,13 @@ namespace skydiveLogs_api.DomainBusiness { #region Public Constructors - public TunnelFlightService(ITunnelFlightRepository tunnelFlightRepository, + public TunnelFlightService(IJumpTypeService jumpTypeService, + ITunnelFlightRepository tunnelFlightRepository, IDropZoneService dropZoneService, IIdentityService identityService) { _dropZoneService = dropZoneService; + _jumpTypeService = jumpTypeService; _identityService = identityService; _tunnelFlightRepository = tunnelFlightRepository; } @@ -73,8 +75,8 @@ namespace skydiveLogs_api.DomainBusiness return _tunnelFlightRepository.GetBetweenDate(_identityService.ConnectedUser, convertedBeginDate, convertedEndDate); } - - public void AddNewFlight(int tunnelId, TunnelFlight newFlight) + + public void AddNewFlight(int tunnelId, int jumpTypeId, TunnelFlight newFlight) { var tmp = _dropZoneService.GetDzById(tunnelId); var selectedTunnel = new Tunnel @@ -88,7 +90,11 @@ namespace skydiveLogs_api.DomainBusiness Longitude = tmp.Longitude }; + var selectedJumpType = _jumpTypeService.GetJumpTypeById(jumpTypeId); + + newFlight.Tunnel = selectedTunnel; + newFlight.JumpType = selectedJumpType; _tunnelFlightRepository.Add(newFlight); } @@ -112,6 +118,7 @@ namespace skydiveLogs_api.DomainBusiness #region Private Fields private readonly IDropZoneService _dropZoneService; + private readonly IJumpTypeService _jumpTypeService; private readonly ITunnelFlightRepository _tunnelFlightRepository; private readonly IIdentityService _identityService; diff --git a/Back/skydiveLogs-api.DomainBusiness/skydiveLogs-api.DomainBusiness.csproj b/Back/skydiveLogs-api.DomainBusiness/skydiveLogs-api.DomainBusiness.csproj index 3d895cc..104ddde 100644 --- a/Back/skydiveLogs-api.DomainBusiness/skydiveLogs-api.DomainBusiness.csproj +++ b/Back/skydiveLogs-api.DomainBusiness/skydiveLogs-api.DomainBusiness.csproj @@ -1,18 +1,22 @@  - - net7.0 - skydiveLogs_api.DomainBusiness - + + net7.0 + skydiveLogs_api.DomainBusiness + - - - + + + - - - - - + + + + + + + + + diff --git a/Back/skydiveLogs-api.DomainService/skydiveLogs-api.DomainService.csproj b/Back/skydiveLogs-api.DomainService/skydiveLogs-api.DomainService.csproj index 589ddb3..3602361 100644 --- a/Back/skydiveLogs-api.DomainService/skydiveLogs-api.DomainService.csproj +++ b/Back/skydiveLogs-api.DomainService/skydiveLogs-api.DomainService.csproj @@ -1,12 +1,16 @@ - - net7.0 - skydiveLogs_api.DomainService - + + net7.0 + skydiveLogs_api.DomainService + - - - + + + + + + + diff --git a/Back/skydiveLogs-api.Infrastructure/LiteDbProvider.cs b/Back/skydiveLogs-api.Infrastructure/LiteDbProvider.cs index 8803986..4cd74b6 100644 --- a/Back/skydiveLogs-api.Infrastructure/LiteDbProvider.cs +++ b/Back/skydiveLogs-api.Infrastructure/LiteDbProvider.cs @@ -29,6 +29,7 @@ namespace skydiveLogs_api.Infrastructure BsonMapper.Global.Entity().DbRef(x => x.DropZone, "DropZone"); BsonMapper.Global.Entity().DbRef(x => x.Tunnel, "DropZone"); + BsonMapper.Global.Entity().DbRef(x => x.JumpType, "JumpType"); BsonMapper.Global.Entity().DbRef(x => x.User, "User"); } diff --git a/Back/skydiveLogs-api.Infrastructure/TunnelFlightRepository.cs b/Back/skydiveLogs-api.Infrastructure/TunnelFlightRepository.cs index f9a1dda..15a92c6 100644 --- a/Back/skydiveLogs-api.Infrastructure/TunnelFlightRepository.cs +++ b/Back/skydiveLogs-api.Infrastructure/TunnelFlightRepository.cs @@ -46,6 +46,7 @@ namespace skydiveLogs_api.Infrastructure public IEnumerable GetAll(User user) { return _col.Include(x => x.Tunnel) + .Include(x => x.JumpType) .Find(j => j.User.Id == user.Id); } @@ -57,6 +58,7 @@ namespace skydiveLogs_api.Infrastructure public IEnumerable GetBetweenIndex(User user, int beginIndex, int endIndex) { return _col.Include(x => x.Tunnel) + .Include(x => x.JumpType) .Query() .OrderByDescending(j => j.FlightDate) .Where(j => j.User.Id == user.Id) @@ -68,6 +70,7 @@ namespace skydiveLogs_api.Infrastructure public IEnumerable GetBetweenDate(User user, DateTime beginDate, DateTime endDate) { return _col.Include(x => x.Tunnel) + .Include(x => x.JumpType) .Query() .OrderByDescending(j => j.FlightDate) .Where(j => j.FlightDate >= beginDate) diff --git a/Back/skydiveLogs-api.Infrastructure/skydiveLogs-api.Infrastructure.csproj b/Back/skydiveLogs-api.Infrastructure/skydiveLogs-api.Infrastructure.csproj index 3fc834d..5bdef4f 100644 --- a/Back/skydiveLogs-api.Infrastructure/skydiveLogs-api.Infrastructure.csproj +++ b/Back/skydiveLogs-api.Infrastructure/skydiveLogs-api.Infrastructure.csproj @@ -1,17 +1,21 @@  - - net7.0 - skydiveLogs_api.Infrastructure - + + net7.0 + skydiveLogs_api.Infrastructure + - - - + + + - - - - + + + + + + + + diff --git a/Back/skydiveLogs-api.Ioc/skydiveLogs-api.Ioc.csproj b/Back/skydiveLogs-api.Ioc/skydiveLogs-api.Ioc.csproj index 3df6f6d..9408232 100644 --- a/Back/skydiveLogs-api.Ioc/skydiveLogs-api.Ioc.csproj +++ b/Back/skydiveLogs-api.Ioc/skydiveLogs-api.Ioc.csproj @@ -8,7 +8,7 @@ - + diff --git a/Back/skydiveLogs-api/Controllers/TunnelFlightController.cs b/Back/skydiveLogs-api/Controllers/TunnelFlightController.cs index f0a4804..49fda1a 100644 --- a/Back/skydiveLogs-api/Controllers/TunnelFlightController.cs +++ b/Back/skydiveLogs-api/Controllers/TunnelFlightController.cs @@ -65,6 +65,7 @@ namespace skydiveLogs_api.Controllers public void Post([FromBody] TunnelFlightReq value) { _tunnelFlightService.AddNewFlight(value.TunnelId, + value.JumpTypeId, _mapper.Map(value)); } diff --git a/Back/skydiveLogs-api/DataContract/TunnelFlightReq.cs b/Back/skydiveLogs-api/DataContract/TunnelFlightReq.cs index 112646c..44c03de 100644 --- a/Back/skydiveLogs-api/DataContract/TunnelFlightReq.cs +++ b/Back/skydiveLogs-api/DataContract/TunnelFlightReq.cs @@ -8,6 +8,8 @@ namespace skydiveLogs_api.DataContract public int TunnelId { get; set; } + public int JumpTypeId { get; set; } + public int NbMinutes { get; set; } public string Notes { get; set; } diff --git a/Back/skydiveLogs-api/DataContract/TunnelFlightResp.cs b/Back/skydiveLogs-api/DataContract/TunnelFlightResp.cs index 91dc2ed..30db7ff 100644 --- a/Back/skydiveLogs-api/DataContract/TunnelFlightResp.cs +++ b/Back/skydiveLogs-api/DataContract/TunnelFlightResp.cs @@ -8,6 +8,8 @@ namespace skydiveLogs_api.DataContract public int TunnelId { get; set; } + public int JumpTypeId { get; set; } + public int NbMinutes { get; set; } public string Notes { get; set; } diff --git a/Back/skydiveLogs-api/skydiveLogs-api.csproj b/Back/skydiveLogs-api/skydiveLogs-api.csproj index 230f881..fc044a2 100644 --- a/Back/skydiveLogs-api/skydiveLogs-api.csproj +++ b/Back/skydiveLogs-api/skydiveLogs-api.csproj @@ -1,34 +1,34 @@ - + - - net7.0 - InProcess - skydiveLogs_api - 9d7d268e-ee4d-43a2-a9b7-5b00b516f6f8 - + + net7.0 + InProcess + skydiveLogs_api + 9d7d268e-ee4d-43a2-a9b7-5b00b516f6f8 + - - - + + + - - - Never - - + + + Never + + - - - - - - - + + + + + + + - - - - - + + + + +