Update servizio e controller x timbrature
This commit is contained in:
@@ -42,5 +42,14 @@ namespace GPW.CORE.Smart10.Client.Services
|
||||
/// <param name="uid">L'UID della timbratura da eliminare.</param>
|
||||
/// <returns>True se l'operazione è andata a buon fine, altrimenti false.</returns>
|
||||
Task<bool> DeleteByUidAsync(string uid);
|
||||
|
||||
/// <summary>
|
||||
/// Recupera i dettagli delle timbrature per un dipendente in un intervallo di date.
|
||||
/// </summary>
|
||||
/// <param name="idxDip">L'indice identificativo del dipendente.</param>
|
||||
/// <param name="dtInizio">Data inizio intervallo.</param>
|
||||
/// <param name="dtFine">Data fine intervallo.</param>
|
||||
/// <returns>Una lista di oggetti <see cref="TimbraturaDto"/>.</returns>
|
||||
Task<List<TimbraturaDto>> GetDailyDetailsAsync(int idxDip, DateTime dtInizio, DateTime dtFine);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,5 +52,12 @@ namespace GPW.CORE.Smart10.Client.Services
|
||||
var response = await _httpClient.DeleteAsync($"api/timbrature/{uid}");
|
||||
return response.IsSuccessStatusCode;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<List<TimbraturaDto>> GetDailyDetailsAsync(int idxDip, DateTime dtInizio, DateTime dtFine)
|
||||
{
|
||||
var response = await _httpClient.GetFromJsonAsync<List<TimbraturaDto>>($"api/timbrature/daily-details?idxDip={idxDip}&dtInizio={dtInizio:yyyy-MM-dd}&dtFine={dtFine:yyyy-MM-dd}");
|
||||
return response ?? new List<TimbraturaDto>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using GPW.CORE.Data.DbModels;
|
||||
using GPW.CORE.Data.DTO;
|
||||
using GPW.CORE.Dto;
|
||||
using GPW.CORE.Smart10.Data;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
@@ -9,13 +10,86 @@ namespace GPW.CORE.Smart10.Controllers
|
||||
[Route("api/[controller]")]
|
||||
public class TimbratureController : ControllerBase
|
||||
{
|
||||
private readonly CoreSmartDataService _dataService;
|
||||
#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);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[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(MapToDto).ToList());
|
||||
}
|
||||
|
||||
[HttpGet("richieste")]
|
||||
public async Task<ActionResult<List<TimbraturaDto>>> GetRichieste()
|
||||
{
|
||||
var models = await _dataService.TimbratureRichieste();
|
||||
return Ok(models.Select(MapToDto).ToList());
|
||||
}
|
||||
|
||||
[HttpPost("delete")]
|
||||
public async Task<ActionResult<bool>> PostDelete([FromBody] TimbraturaDto dto)
|
||||
{
|
||||
var model = MapToModel(dto);
|
||||
var result = await _dataService.TimbratureDelete(model);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost("ins-richiesta")]
|
||||
public async Task<ActionResult<bool>> PostInsRichiesta([FromBody] TimbraturaDto dto)
|
||||
{
|
||||
var model = MapToModel(dto);
|
||||
var result = await _dataService.TimbratureInsRichiesta(model);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost("update")]
|
||||
public async Task<ActionResult<bool>> PostUpdate([FromBody] TimbraturaDto dto)
|
||||
{
|
||||
var model = MapToModel(dto);
|
||||
var result = await _dataService.TimbratureUpdate(model);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private readonly CoreSmartDataService _dataService;
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private TimbraturaDto MapToDto(TimbratureModel model) => new TimbraturaDto
|
||||
{
|
||||
DataOra = model.DataOra,
|
||||
@@ -34,57 +108,6 @@ namespace GPW.CORE.Smart10.Controllers
|
||||
Approv = dto.Approv
|
||||
};
|
||||
|
||||
[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(MapToDto).ToList());
|
||||
}
|
||||
|
||||
[HttpGet("richieste")]
|
||||
public async Task<ActionResult<List<TimbraturaDto>>> GetRichieste()
|
||||
{
|
||||
var models = await _dataService.TimbratureRichieste();
|
||||
return Ok(models.Select(MapToDto).ToList());
|
||||
}
|
||||
|
||||
[HttpPost("ins-richiesta")]
|
||||
public async Task<ActionResult<bool>> PostInsRichiesta([FromBody] TimbraturaDto dto)
|
||||
{
|
||||
var model = MapToModel(dto);
|
||||
var result = await _dataService.TimbratureInsRichiesta(model);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost("update")]
|
||||
public async Task<ActionResult<bool>> PostUpdate([FromBody] TimbraturaDto dto)
|
||||
{
|
||||
var model = MapToModel(dto);
|
||||
var result = await _dataService.TimbratureUpdate(model);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost("delete")]
|
||||
public async Task<ActionResult<bool>> PostDelete([FromBody] TimbraturaDto dto)
|
||||
{
|
||||
var model = MapToModel(dto);
|
||||
var result = await _dataService.TimbratureDelete(model);
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[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);
|
||||
}
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -57,6 +57,13 @@ namespace GPW.CORE.Smart10.Client.Services
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<List<TimbraturaDto>> GetDailyDetailsAsync(int idxDip, DateTime dtInizio, DateTime dtFine)
|
||||
{
|
||||
var models = await _dataService.DailyDetails(idxDip, dtInizio, dtFine);
|
||||
return models.Select(MapToDto).ToList();
|
||||
}
|
||||
|
||||
private TimbraturaDto MapToDto(GPW.CORE.Data.DbModels.TimbratureModel model) => new TimbraturaDto
|
||||
{
|
||||
DataOra = model.DataOra,
|
||||
|
||||
Reference in New Issue
Block a user