Continua modifica x test su Client dati mappati in DTO (ancora savepoint che non è completo)

This commit is contained in:
Samuele Locatelli
2026-05-14 08:48:33 +02:00
parent d4b2a45e7b
commit 7d6eb7bc60
4 changed files with 165 additions and 40 deletions
@@ -0,0 +1,122 @@
using GPW.CORE.Dto;
namespace GPW.CORE.Data.Mappings
{
public static class DailyDataMappingExtensions
{
public static DailyDataDto ToDto(this GPW.CORE.Data.DTO.DailyDataDTO model)
{
return new DailyDataDto
{
IdxDipendente = model.IdxDipendente,
DtRif = model.DtRif,
ListRA = model.ListRA?.Select(ra => new RegAttivitaDto
{
IdxRa = ra.IdxRa,
IdxDipendente = ra.IdxDipendente,
IdxFase = ra.IdxFase,
Inizio = ra.Inizio,
Fine = ra.Fine,
Descrizione = ra.Descrizione,
OreTot = ra.OreTot,
Importo = ra.Importo
}).ToList(),
ListTimbr = model.ListTimbr?.Select(t => new TimbraturaDto
{
DataOra = t.DataOra,
IdxDipendente = t.IdxDipendente,
Entrata = t.Entrata,
CodTipoTimb = t.CodTipoTimb,
Approv = t.Approv
}).ToList(),
TimbrExpl = model.TimbrExpl != null ? new TimbraturaExplDto
{
DataLav = model.TimbrExpl.DataLav,
IdxDipendente = model.TimbrExpl.IdxDipendente,
CognomeNome = model.TimbrExpl.CognomeNome,
Entrata1 = model.TimbrExpl.Entrata1,
Uscita1 = model.TimbrExpl.Uscita1,
Entrata2 = model.TimbrExpl.Entrata2,
Uscita2 = model.TimbrExpl.Uscita2,
Entrata3 = model.TimbrExpl.Entrata3,
Uscita3 = model.TimbrExpl.Uscita3,
Entrata4 = model.TimbrExpl.Entrata4,
Uscita4 = model.TimbrExpl.Uscita4,
HLav = model.TimbrExpl.HLav,
MinLav = model.TimbrExpl.MinLav,
MinOrd = model.TimbrExpl.MinOrd,
MinNonLav = model.TimbrExpl.MinNonLav,
MinStra = model.TimbrExpl.MinStra,
MinPerm = model.TimbrExpl.MinPerm,
MinFer = model.TimbrExpl.MinFer,
MinMal = model.TimbrExpl.MinMal,
MinFest = model.TimbrExpl.MinFest,
MinCassa = model.TimbrExpl.MinCassa,
Min104 = model.TimbrExpl.Min104,
MinMpp = model.TimbrExpl.MinMpp,
MinArcoPres = model.TimbrExpl.MinArcoPres,
IsOkTim = model.TimbrExpl.IsOkTim,
IsOkApp = model.TimbrExpl.IsOkApp,
Block = model.TimbrExpl.Block,
ChkFunCod = model.TimbrExpl.ChkFunCod,
ChkFunRes = model.TimbrExpl.ChkFunRes,
IsOk = model.TimbrExpl.IsOk,
IsOkLav = model.TimbrExpl.IsOkLav,
HGiust = model.TimbrExpl.HGiust,
TempRil = model.TimbrExpl.TempRil
} : null,
ListRilTemp = model.ListRilTemp?.Select(r => new RilievoTempDto
{
IdxDipendente = r.IdxDipendente,
DtRilievo = r.DtRilievo,
TempRil = r.TempRil
}).ToList(),
ListCheckC19 = model.ListCheckC19?.Select(c => new CheckVc19Dto
{
IdxCheckVc19 = c.IdxCheckVc19,
DtCheck = c.DtCheck,
IdxDipendente = c.IdxDipendente,
Cognome = c.Cognome,
Nome = c.Nome,
Dob = c.Dob,
Payload = c.Payload
}).ToList(),
ListFermateAzienda = model.ListFermateAzienda?.Select(f => new CalFesteFerieDto
{
Data = f.data,
CodGiust = f.codGiust,
Descrizione = f.descrizione
}).ToList(),
ListMalattie = model.ListMalattie?.Select(m => new RegMalattieDto
{
IdxRegMal = m.IdxRegMal,
IdxDipendente = m.IdxDipendente,
DtInizio = m.DtInizio,
NumGG = m.NumGG,
CodCert = m.CodCert,
Conf = m.Conf
}).ToList(),
ListFerieDip = model.ListFerieDip?.Select(r => new RegRichiesteDto
{
IdxRegRich = r.IdxRegRich,
IdxDipendente = r.IdxDipendente,
CodGiust = r.CodGiust,
DtStart = r.DtStart,
DtEnd = r.DtEnd,
Note = r.Note,
Conf = r.Conf
}).ToList(),
ListRichiesteDip = model.ListRichiesteDip?.Select(r => new RegRichiesteDto
{
IdxRegRich = r.IdxRegRich,
IdxDipendente = r.IdxDipendente,
CodGiust = r.CodGiust,
DtStart = r.DtStart,
DtEnd = r.DtEnd,
Note = r.Note,
Conf = r.Conf
}).ToList()
};
}
}
}
@@ -0,0 +1,32 @@
using GPW.CORE.Data.DbModels;
using GPW.CORE.Dto;
namespace GPW.CORE.Data.Mappings
{
public static class TimbratureMappingExtensions
{
public static TimbraturaDto ToDto(this TimbratureModel model)
{
return new TimbraturaDto
{
DataOra = model.DataOra,
IdxDipendente = model.IdxDipendente,
Entrata = model.Entrata,
CodTipoTimb = model.CodTipoTimb,
Approv = model.Approv
};
}
public static TimbratureModel ToModel(this TimbraturaDto dto)
{
return new TimbratureModel
{
DataOra = dto.DataOra,
IdxDipendente = dto.IdxDipendente,
Entrata = dto.Entrata,
CodTipoTimb = dto.CodTipoTimb,
Approv = dto.Approv
};
}
}
}
@@ -54,10 +54,10 @@ namespace GPW.CORE.Smart10.Client.Services
}
/// <inheritdoc />
public async Task<List<TimbraturaDto>> GetDailyDetailsAsync(int idxDip, DateTime dtInizio, DateTime dtFine)
public async Task<List<DailyDataDto>> 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>();
var response = await _httpClient.GetFromJsonAsync<List<DailyDataDto>>($"api/timbrature/daily-details?idxDip={idxDip}&dtInizio={dtInizio:yyyy-MM-dd}&dtFine={dtFine:yyyy-MM-dd}");
return response ?? new List<DailyDataDto>();
}
}
}
@@ -39,29 +39,28 @@ namespace GPW.CORE.Smart10.Controllers
{
var result = await _dataService.DailyDetails(idxDip, dtInizio, dtFine);
// da riscrivere con conversione modello: da List<GPW.CORE.Data.DTO.DailyDataDTO> a List<GPW.CORE.Dto.DailyDataDto>
return Ok(result);
// 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(MapToDto).ToList());
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(MapToDto).ToList());
return Ok(models.Select(m => m.ToDto()).ToList());
}
[HttpPost("delete")]
public async Task<ActionResult<bool>> PostDelete([FromBody] TimbraturaDto dto)
{
var model = MapToModel(dto);
var model = dto.ToModel();
var result = await _dataService.TimbratureDelete(model);
return Ok(result);
}
@@ -69,7 +68,7 @@ namespace GPW.CORE.Smart10.Controllers
[HttpPost("ins-richiesta")]
public async Task<ActionResult<bool>> PostInsRichiesta([FromBody] TimbraturaDto dto)
{
var model = MapToModel(dto);
var model = dto.ToModel();
var result = await _dataService.TimbratureInsRichiesta(model);
return Ok(result);
}
@@ -77,39 +76,11 @@ namespace GPW.CORE.Smart10.Controllers
[HttpPost("update")]
public async Task<ActionResult<bool>> PostUpdate([FromBody] TimbraturaDto dto)
{
var model = MapToModel(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
#region Private Methods
private TimbraturaDto MapToDto(TimbratureModel model) => new TimbraturaDto
{
DataOra = model.DataOra,
IdxDipendente = model.IdxDipendente,
Entrata = model.Entrata,
CodTipoTimb = model.CodTipoTimb,
Approv = model.Approv
};
private TimbratureModel MapToModel(TimbraturaDto dto) => new TimbratureModel
{
DataOra = dto.DataOra,
IdxDipendente = dto.IdxDipendente,
Entrata = dto.Entrata,
CodTipoTimb = dto.CodTipoTimb,
Approv = dto.Approv
};
#endregion Private Methods
}
private readonly CoreSmartDataService _dataService; }
}