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);
|
||||
|
||||
void AddNewJump(Jump jump);
|
||||
void AddNewJump(int aircraftId,
|
||||
int dzId,
|
||||
int jumpTypeId,
|
||||
int gearId,
|
||||
Jump jump);
|
||||
|
||||
void UpdateJump(int id, Jump jump);
|
||||
|
||||
|
||||
@@ -10,13 +10,35 @@ namespace skydiveLogs_api.Business
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -41,5 +63,13 @@ namespace skydiveLogs_api.Business
|
||||
}
|
||||
|
||||
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()
|
||||
{
|
||||
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)
|
||||
|
||||
@@ -20,6 +20,7 @@ namespace skydiveLogs_api.Ioc
|
||||
//_services.AddSingleton<Services.IPermissionService, Services.PermissionService>();
|
||||
|
||||
_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.IJumpService, Business.JumpService>();
|
||||
_services.AddScoped<Business.Interface.IJumpTypeService, Business.JumpTypeService>();
|
||||
|
||||
@@ -6,14 +6,6 @@ namespace skydiveLogs_api.Model
|
||||
{
|
||||
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 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]
|
||||
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
|
||||
|
||||
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