Files
Samuele Locatelli 4304617181 OK compilazione!
2026-05-14 09:10:27 +02:00

92 lines
3.0 KiB
C#

using GPW.CORE.Data.Mappings;
using GPW.CORE.Dto;
using GPW.CORE.Smart10.Data;
using Microsoft.AspNetCore.Mvc;
namespace GPW.CORE.Smart10.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class TimbratureController : ControllerBase
{
#region Public Constructors
public TimbratureController(CoreSmartDataService dataService)
{
_dataService = dataService;
}
#endregion Public Constructors
#region Public Methods
[HttpDelete("{uid}")]
public async Task<ActionResult<bool>> Delete([FromRoute] string uid)
{
bool result = false;
// in primis ricerco il record...
var dbRec = await _dataService.TimbratureByUidAsync(uid);
// se trovato elimino!
if (dbRec != null)
{
result = await _dataService.TimbratureDelete(dbRec);
}
return Ok(result);
}
[HttpGet("daily-details")]
public async Task<ActionResult<List<DailyDataDto>>> GetDailyDetails([FromQuery] int idxDip, [FromQuery] DateTime dtInizio, [FromQuery] DateTime dtFine)
{
var result = await _dataService.DailyDetails(idxDip, dtInizio, dtFine);
// Conversione modello: da List<GPW.CORE.Data.DTO.DailyDataDTO> a List<GPW.CORE.Dto.DailyDataDto>
return Ok(result.Select(r => r.ToDto()).ToList());
}
[HttpGet("day")]
public async Task<ActionResult<List<TimbraturaDto>>> GetDay([FromQuery] DateTime dateRif, [FromQuery] int idxDip)
{
var models = await _dataService.TimbratureDay(dateRif, idxDip);
return Ok(models.Select(m => m.ToDto()).ToList());
}
[HttpGet("richieste")]
public async Task<ActionResult<List<TimbraturaDto>>> GetRichieste()
{
var models = await _dataService.TimbratureRichieste();
return Ok(models.Select(m => m.ToDto()).ToList());
}
[HttpPost("delete")]
public async Task<ActionResult<bool>> PostDelete([FromBody] TimbraturaDto dto)
{
var model = dto.ToModel();
var result = await _dataService.TimbratureDelete(model);
return Ok(result);
}
[HttpPost("ins-richiesta")]
public async Task<ActionResult<bool>> PostInsRichiesta([FromBody] TimbraturaDto dto)
{
var model = dto.ToModel();
var result = await _dataService.TimbratureInsRichiesta(model);
return Ok(result);
}
[HttpPost("update")]
public async Task<ActionResult<bool>> PostUpdate([FromBody] TimbraturaDto dto)
{
var model = dto.ToModel();
var result = await _dataService.TimbratureUpdate(model);
return Ok(result);
}
#endregion Public Methods
#region Private Fields
private readonly CoreSmartDataService _dataService;
#endregion Private Fields
}
}