256 lines
8.2 KiB
C#
256 lines
8.2 KiB
C#
<<<<<<< HEAD
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Threading.Tasks;
|
||
using AutoMapper;
|
||
using BuecherwurmAPI.Data;
|
||
using BuecherwurmAPI.DTOs;
|
||
using Microsoft.AspNetCore.Mvc;
|
||
using Microsoft.AspNetCore.JsonPatch;
|
||
using Microsoft.Extensions.Logging;
|
||
using BuecherwurmAPI.Models;
|
||
|
||
namespace BuecherwurmAPI.Controllers
|
||
{
|
||
[Route("api/leihvorgang")]
|
||
[ApiController]
|
||
public class LendController : ControllerBase
|
||
{
|
||
private readonly IRepository _repository;
|
||
private readonly IMapper _mapper;
|
||
|
||
public LendController(IRepository repository, IMapper mapper)
|
||
{
|
||
_repository = repository;
|
||
_mapper = mapper;
|
||
}
|
||
|
||
//GET api/leihvorgang
|
||
[HttpGet]
|
||
public ActionResult<IEnumerable<Lend>> LendsGet()
|
||
{
|
||
return Ok(_repository.GetAllLends());
|
||
}
|
||
|
||
//POST api/leihvorgang
|
||
[HttpPost]
|
||
public ActionResult<LendReadDTO> LendsPost(Lend lend)
|
||
{
|
||
/*
|
||
Internally a lend is stored with an id
|
||
but the client shouldn't be allowed to set or change it
|
||
therefore the package 'AutoMapper' is used to prevent errors
|
||
that could happen when doing this task manually.
|
||
It takes the information from the client and maps it to the
|
||
corresponding internal object which then will be returned.
|
||
Furthermore it could be used to keep some attributes secret.
|
||
Another nice effect of this is that the implementation could be changed
|
||
while the interface could be retained by some minor changes in the code.
|
||
|
||
DTO stands for Data Transfer Object
|
||
*/
|
||
var item = new Lend
|
||
{
|
||
Id = 256,
|
||
Customer = lend.Customer,
|
||
Returned = lend.Returned,
|
||
ItemId = lend.ItemId,
|
||
ReturnDate = lend.ReturnDate
|
||
};
|
||
return Ok(item);
|
||
//return Ok(_mapper.Map<LendReadDTO>(item));
|
||
}
|
||
|
||
//GET api/leihvorgang/{id}
|
||
[HttpGet("{id}")]
|
||
public ActionResult<Lend> LendById(long id)
|
||
{
|
||
var lend = _repository.GetLendById(id);
|
||
if (!_repository.IdExits(Tables.Table.Lends, id))
|
||
{
|
||
return NotFound();
|
||
}
|
||
return Ok(lend);
|
||
}
|
||
|
||
//PATCH api/leihvorgang/{id}
|
||
[HttpPatch("{id}")]
|
||
public ActionResult LendPatchById(int id, JsonPatchDocument<Lend> patchDocument)
|
||
{
|
||
return Ok();
|
||
}
|
||
}
|
||
}
|
||
||||||| 22e87cd
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Threading.Tasks;
|
||
using AutoMapper;
|
||
using BuecherwurmAPI.Data;
|
||
using BuecherwurmAPI.DTOs;
|
||
using Microsoft.AspNetCore.Mvc;
|
||
using Microsoft.AspNetCore.JsonPatch;
|
||
using Microsoft.Extensions.Logging;
|
||
using BuecherwurmAPI.Models;
|
||
|
||
namespace BuecherwurmAPI.Controllers
|
||
{
|
||
[Route("api/leihvorgang")]
|
||
[ApiController]
|
||
public class LendController : ControllerBase
|
||
{
|
||
private readonly ILendRepo _repository;
|
||
private readonly IMapper _mapper;
|
||
|
||
public LendController(ILendRepo repository, IMapper mapper)
|
||
{
|
||
_repository = repository;
|
||
_mapper = mapper;
|
||
}
|
||
|
||
//GET api/leihvorgang
|
||
[HttpGet]
|
||
public ActionResult<IEnumerable<Lend>> LendsGet()
|
||
{
|
||
return Ok(_repository.GetAllLends());
|
||
}
|
||
|
||
//POST api/leihvorgang
|
||
[HttpPost]
|
||
public ActionResult<LendReadDTO> LendsPost(Lend lend)
|
||
{
|
||
/*
|
||
Internally a lend is stored with an id
|
||
but the client shouldn't be allowed to set or change it
|
||
therefore the package 'AutoMapper' is used to prevent errors
|
||
that could happen when doing this task manually.
|
||
It takes the information from the client and maps it to the
|
||
corresponding internal object which then will be returned.
|
||
Furthermore it could be used to keep some attributes secret.
|
||
Another nice effect of this is that the implementation could be changed
|
||
while the interface could be retained by some minor changes in the code.
|
||
|
||
DTO stands for Data Transfer Object
|
||
*/
|
||
var item = new Lend
|
||
{
|
||
Id = 256,
|
||
Customer = lend.Customer,
|
||
Returned = lend.Returned,
|
||
ItemId = lend.ItemId,
|
||
ReturnDate = lend.ReturnDate
|
||
};
|
||
return Ok(item);
|
||
//return Ok(_mapper.Map<LendReadDTO>(item));
|
||
}
|
||
|
||
//GET api/leihvorgang/{id}
|
||
[HttpGet("{id}")]
|
||
public ActionResult<Lend> LendById(int id)
|
||
{
|
||
var lend = _repository.GetLendById(id);
|
||
return Ok(lend);
|
||
}
|
||
|
||
//PATCH api/leihvorgang/{id}
|
||
[HttpPatch("{id}")]
|
||
public ActionResult LendPatchById(int id, JsonPatchDocument<Lend> patchDocument)
|
||
{
|
||
var lend = _repository.GetLendById(id);
|
||
if (lend == null)
|
||
{
|
||
return NotFound();
|
||
}
|
||
return Ok();
|
||
}
|
||
}
|
||
}
|
||
=======
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Threading.Tasks;
|
||
using AutoMapper;
|
||
using BuecherwurmAPI.Data;
|
||
using BuecherwurmAPI.DTOs;
|
||
using Microsoft.AspNetCore.Mvc;
|
||
using Microsoft.AspNetCore.JsonPatch;
|
||
using Microsoft.Extensions.Logging;
|
||
using BuecherwurmAPI.Models;
|
||
|
||
namespace BuecherwurmAPI.Controllers
|
||
{
|
||
[Route("api/leihvorgang")]
|
||
[ApiController]
|
||
public class LendController : ControllerBase
|
||
{
|
||
private readonly ILendRepo _repository;
|
||
private readonly IMapper _mapper;
|
||
|
||
public LendController(ILendRepo repository, IMapper mapper)
|
||
{
|
||
_repository = repository;
|
||
_mapper = mapper;
|
||
}
|
||
|
||
//GET api/leihvorgang
|
||
[HttpGet]
|
||
public ActionResult<IEnumerable<Lend>> LendsGet()
|
||
{
|
||
return Ok(_repository.GetAllLends());
|
||
}
|
||
|
||
//POST api/leihvorgang
|
||
[HttpPost]
|
||
public ActionResult<LendReadDTO> LendsPost(Lend lend)
|
||
{
|
||
/*
|
||
Internally a lend is stored with an id
|
||
but the client shouldn't be allowed to set or change it
|
||
therefore the package 'AutoMapper' is used to prevent errors
|
||
that could happen when doing this task manually.
|
||
It takes the information from the client and maps it to the
|
||
corresponding internal object which then will be returned.
|
||
Furthermore it could be used to keep some attributes secret.
|
||
Another nice effect of this is that the implementation could be changed
|
||
while the interface could be retained by some minor changes in the code.
|
||
|
||
DTO stands for Data Transfer Object
|
||
*/
|
||
var item = new Lend
|
||
{
|
||
Id = 256,
|
||
Customer = lend.Customer,
|
||
Returned = lend.Returned,
|
||
ItemId = lend.ItemId,
|
||
ReturnDate = lend.ReturnDate
|
||
};
|
||
return Ok(item);
|
||
//return Ok(_mapper.Map<LendReadDTO>(item));
|
||
}
|
||
|
||
//GET api/leihvorgang/{id}
|
||
[HttpGet("{id}")]
|
||
public ActionResult<Lend> LendById(int id)
|
||
{
|
||
var lend = _repository.GetLendById(id);
|
||
return Ok(lend);
|
||
}
|
||
|
||
//PATCH api/leihvorgang/{id}
|
||
[HttpPatch("{id}")]
|
||
public ActionResult LendPatchById(int id, JsonPatchDocument<Lend> patchDocument)
|
||
{
|
||
var lend = _repository.GetLendById(id);
|
||
if (lend == null)
|
||
{
|
||
return NotFound();
|
||
}
|
||
return Ok();
|
||
}
|
||
}
|
||
}
|
||
>>>>>>> 9738f3a239ed469853270f7334714b5cc40afe5c
|