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> 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>> GetDailyDetails([FromQuery] int idxDip, [FromQuery] DateTime dtInizio, [FromQuery] DateTime dtFine) { var result = await _dataService.DailyDetails(idxDip, dtInizio, dtFine); // Conversione modello: da List a List return Ok(result.Select(r => r.ToDto()).ToList()); } [HttpGet("day")] public async Task>> 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>> GetRichieste() { var models = await _dataService.TimbratureRichieste(); return Ok(models.Select(m => m.ToDto()).ToList()); } [HttpPost("delete")] public async Task> PostDelete([FromBody] TimbraturaDto dto) { var model = dto.ToModel(); var result = await _dataService.TimbratureDelete(model); return Ok(result); } [HttpPost("ins-richiesta")] public async Task> PostInsRichiesta([FromBody] TimbraturaDto dto) { var model = dto.ToModel(); var result = await _dataService.TimbratureInsRichiesta(model); return Ok(result); } [HttpPost("update")] public async Task> 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 } }