Add Gear controller/service/repo and relations in db between Jumps and others objects
This commit is contained in:
45
Back/skydiveLogs-api.Business/GearService.cs
Normal file
45
Back/skydiveLogs-api.Business/GearService.cs
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
using skydiveLogs_api.Business.Interface;
|
||||||
|
using skydiveLogs_api.Model;
|
||||||
|
using skydiveLogs_api.Data.Interface;
|
||||||
|
|
||||||
|
|
||||||
|
namespace skydiveLogs_api.Business
|
||||||
|
{
|
||||||
|
public class GearService : IGearService
|
||||||
|
{
|
||||||
|
public GearService(IGearRepository gearRepository)
|
||||||
|
{
|
||||||
|
_gearRepository = gearRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddNewGear(Gear Gear)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void DeleteGearById(int id)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Gear GetGearById(int id)
|
||||||
|
{
|
||||||
|
return _gearRepository.GetById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public IEnumerable<Gear> GetAllGears()
|
||||||
|
{
|
||||||
|
return _gearRepository.GetAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void UpdateGear(int id, Gear Gear)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly IGearRepository _gearRepository;
|
||||||
|
}
|
||||||
|
}
|
||||||
18
Back/skydiveLogs-api.Business/Interface/IGearService.cs
Normal file
18
Back/skydiveLogs-api.Business/Interface/IGearService.cs
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using skydiveLogs_api.Model;
|
||||||
|
|
||||||
|
namespace skydiveLogs_api.Business.Interface
|
||||||
|
{
|
||||||
|
public interface IGearService
|
||||||
|
{
|
||||||
|
IEnumerable<Gear> GetAllGears();
|
||||||
|
|
||||||
|
Gear GetGearById(int id);
|
||||||
|
|
||||||
|
void DeleteGearById(int id);
|
||||||
|
|
||||||
|
void UpdateGear(int id, Gear Gear);
|
||||||
|
|
||||||
|
void AddNewGear(Gear Gear);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,7 +11,11 @@ namespace skydiveLogs_api.Business.Interface
|
|||||||
|
|
||||||
Jump GetJumpById(int id);
|
Jump GetJumpById(int id);
|
||||||
|
|
||||||
void AddNewJump(Jump jump);
|
void AddNewJump(int aircraftId,
|
||||||
|
int dzId,
|
||||||
|
int jumpTypeId,
|
||||||
|
int gearId,
|
||||||
|
Jump jump);
|
||||||
|
|
||||||
void UpdateJump(int id, Jump jump);
|
void UpdateJump(int id, Jump jump);
|
||||||
|
|
||||||
|
|||||||
@@ -10,13 +10,35 @@ namespace skydiveLogs_api.Business
|
|||||||
{
|
{
|
||||||
public class JumpService : IJumpService
|
public class JumpService : IJumpService
|
||||||
{
|
{
|
||||||
public JumpService(IJumpRepository jumpRepository)
|
public JumpService(IJumpTypeService jumpTypeService,
|
||||||
|
IAircraftService aircraftService,
|
||||||
|
IDropZoneService dropZoneService,
|
||||||
|
IGearService gearService,
|
||||||
|
IJumpRepository jumpRepository)
|
||||||
{
|
{
|
||||||
|
_jumpTypeService = jumpTypeService;
|
||||||
|
_aircraftService = aircraftService;
|
||||||
|
_dropZoneService = dropZoneService;
|
||||||
|
_gearService = gearService;
|
||||||
_jumpRepository = jumpRepository;
|
_jumpRepository = jumpRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddNewJump(Jump jump)
|
public void AddNewJump(int aircraftId,
|
||||||
|
int dzId,
|
||||||
|
int jumpTypeId,
|
||||||
|
int gearId,
|
||||||
|
Jump jump)
|
||||||
{
|
{
|
||||||
|
var selectedGear = _gearService.GetGearById(gearId);
|
||||||
|
var selectedJumpType = _jumpTypeService.GetJumpTypeById(jumpTypeId);
|
||||||
|
var selectedAircraft = _aircraftService.GetAircraftById(aircraftId);
|
||||||
|
var selectedDropZone = _dropZoneService.GetDzById(dzId);
|
||||||
|
|
||||||
|
jump.Aircraft = selectedAircraft;
|
||||||
|
jump.JumpType = selectedJumpType;
|
||||||
|
jump.DropZone = selectedDropZone;
|
||||||
|
jump.Gear = selectedGear;
|
||||||
|
|
||||||
_jumpRepository.AddJump(jump);
|
_jumpRepository.AddJump(jump);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,5 +63,13 @@ namespace skydiveLogs_api.Business
|
|||||||
}
|
}
|
||||||
|
|
||||||
private readonly IJumpRepository _jumpRepository;
|
private readonly IJumpRepository _jumpRepository;
|
||||||
|
|
||||||
|
private readonly IJumpTypeService _jumpTypeService;
|
||||||
|
|
||||||
|
private readonly IAircraftService _aircraftService;
|
||||||
|
|
||||||
|
private readonly IDropZoneService _dropZoneService;
|
||||||
|
|
||||||
|
private readonly IGearService _gearService;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,12 @@ namespace skydiveLogs_api.Data
|
|||||||
|
|
||||||
public IEnumerable<Jump> GetAll()
|
public IEnumerable<Jump> GetAll()
|
||||||
{
|
{
|
||||||
return _col.FindAll().ToList();
|
return _col.Include(x => x.Aircraft)
|
||||||
|
.Include(x => x.DropZone)
|
||||||
|
.Include(x => x.Gear)
|
||||||
|
.Include(x => x.JumpType)
|
||||||
|
.FindAll()
|
||||||
|
.ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Jump GetById(int id)
|
public Jump GetById(int id)
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ namespace skydiveLogs_api.Ioc
|
|||||||
//_services.AddSingleton<Services.IPermissionService, Services.PermissionService>();
|
//_services.AddSingleton<Services.IPermissionService, Services.PermissionService>();
|
||||||
|
|
||||||
_services.AddScoped<Business.Interface.IAircraftService, Business.AircraftService>();
|
_services.AddScoped<Business.Interface.IAircraftService, Business.AircraftService>();
|
||||||
|
_services.AddScoped<Business.Interface.IGearService, Business.GearService>();
|
||||||
_services.AddScoped<Business.Interface.IDropZoneService, Business.DropZoneService>();
|
_services.AddScoped<Business.Interface.IDropZoneService, Business.DropZoneService>();
|
||||||
_services.AddScoped<Business.Interface.IJumpService, Business.JumpService>();
|
_services.AddScoped<Business.Interface.IJumpService, Business.JumpService>();
|
||||||
_services.AddScoped<Business.Interface.IJumpTypeService, Business.JumpTypeService>();
|
_services.AddScoped<Business.Interface.IJumpTypeService, Business.JumpTypeService>();
|
||||||
|
|||||||
@@ -6,14 +6,6 @@ namespace skydiveLogs_api.Model
|
|||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
//public int JumpTypeId { get; set; }
|
|
||||||
|
|
||||||
//public int AircraftId { get; set; }
|
|
||||||
|
|
||||||
//public int DropZoneId { get; set; }
|
|
||||||
|
|
||||||
//public int GearId { get; set; }
|
|
||||||
|
|
||||||
public JumpType JumpType { get; set; }
|
public JumpType JumpType { get; set; }
|
||||||
|
|
||||||
public Aircraft Aircraft { get; set; }
|
public Aircraft Aircraft { get; set; }
|
||||||
|
|||||||
66
Back/skydiveLogs-api/Controllers/GearController.cs
Normal file
66
Back/skydiveLogs-api/Controllers/GearController.cs
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using AutoMapper;
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using skydiveLogs_api.Business.Interface;
|
||||||
|
using skydiveLogs_api.DataContract;
|
||||||
|
using skydiveLogs_api.Model;
|
||||||
|
|
||||||
|
namespace skydiveLogs_api.Controllers
|
||||||
|
{
|
||||||
|
[Route("api/[controller]")]
|
||||||
|
[ApiController]
|
||||||
|
public class GearController : ControllerBase
|
||||||
|
{
|
||||||
|
public GearController(IGearService gearService,
|
||||||
|
IMapper mapper)
|
||||||
|
{
|
||||||
|
_gearService = gearService;
|
||||||
|
_mapper = mapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
// GET: api/Gear
|
||||||
|
[HttpGet]
|
||||||
|
public IEnumerable<GearResp> Get()
|
||||||
|
{
|
||||||
|
var result = _gearService.GetAllGears();
|
||||||
|
return _mapper.Map<IEnumerable<GearResp>>(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
// GET: api/Gear/5
|
||||||
|
[HttpGet("{id}")]
|
||||||
|
public GearResp Get(int id)
|
||||||
|
{
|
||||||
|
var result = _gearService.GetGearById(id);
|
||||||
|
return _mapper.Map<GearResp>(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
// POST: api/Gear
|
||||||
|
[HttpPost]
|
||||||
|
public void Post([FromBody] GearReq value)
|
||||||
|
{
|
||||||
|
_gearService.AddNewGear(_mapper.Map<Gear>(value));
|
||||||
|
}
|
||||||
|
|
||||||
|
// PUT: api/Gear/5
|
||||||
|
[HttpPut("{id}")]
|
||||||
|
public void Put(int id, [FromBody] GearReq value)
|
||||||
|
{
|
||||||
|
_gearService.UpdateGear(id, _mapper.Map<Gear>(value));
|
||||||
|
}
|
||||||
|
|
||||||
|
// DELETE: api/ApiWithActions/5
|
||||||
|
[HttpDelete("{id}")]
|
||||||
|
public void Delete(int id)
|
||||||
|
{
|
||||||
|
_gearService.DeleteGearById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly IGearService _gearService;
|
||||||
|
|
||||||
|
private readonly IMapper _mapper;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -42,7 +42,11 @@ namespace skydiveLogs_api.Controllers
|
|||||||
[HttpPost]
|
[HttpPost]
|
||||||
public void Post([FromBody] JumpReq value)
|
public void Post([FromBody] JumpReq value)
|
||||||
{
|
{
|
||||||
_jumpService.AddNewJump(_mapper.Map<Jump>(value));
|
_jumpService.AddNewJump(value.AircraftId,
|
||||||
|
value.DropZoneId,
|
||||||
|
value.JumpTypeId,
|
||||||
|
value.GearId,
|
||||||
|
_mapper.Map<Jump>(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
// PUT: api/Jump/5
|
// PUT: api/Jump/5
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
BIN
Back/skydiveLogs-api/Data/LiteDB.Studio.exe
Normal file
BIN
Back/skydiveLogs-api/Data/LiteDB.Studio.exe
Normal file
Binary file not shown.
Reference in New Issue
Block a user