From 7d6eb7bc60aa34df48df4fa1db9a2a771f592d31 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Thu, 14 May 2026 08:48:33 +0200 Subject: [PATCH] =?UTF-8?q?Continua=20modifica=20x=20test=20su=20Client=20?= =?UTF-8?q?dati=20mappati=20in=20DTO=20(ancora=20savepoint=20che=20non=20?= =?UTF-8?q?=C3=A8=20completo)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Mappings/DailyDataMappingExtensions.cs | 122 ++++++++++++++++++ .../Mappings/TimbratureMappingExtensions.cs | 32 +++++ .../Services/TimbraturesService.cs | 6 +- .../Controllers/TimbratureController.cs | 45 ++----- 4 files changed, 165 insertions(+), 40 deletions(-) create mode 100644 GPW.CORE.Data/Mappings/DailyDataMappingExtensions.cs create mode 100644 GPW.CORE.Data/Mappings/TimbratureMappingExtensions.cs diff --git a/GPW.CORE.Data/Mappings/DailyDataMappingExtensions.cs b/GPW.CORE.Data/Mappings/DailyDataMappingExtensions.cs new file mode 100644 index 0000000..2cbcf34 --- /dev/null +++ b/GPW.CORE.Data/Mappings/DailyDataMappingExtensions.cs @@ -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() + }; + } + } +} diff --git a/GPW.CORE.Data/Mappings/TimbratureMappingExtensions.cs b/GPW.CORE.Data/Mappings/TimbratureMappingExtensions.cs new file mode 100644 index 0000000..fe6d025 --- /dev/null +++ b/GPW.CORE.Data/Mappings/TimbratureMappingExtensions.cs @@ -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 + }; + } + } +} diff --git a/GPW.CORE.Smart10.Client/Services/TimbraturesService.cs b/GPW.CORE.Smart10.Client/Services/TimbraturesService.cs index 3802cc3..227cdc8 100644 --- a/GPW.CORE.Smart10.Client/Services/TimbraturesService.cs +++ b/GPW.CORE.Smart10.Client/Services/TimbraturesService.cs @@ -54,10 +54,10 @@ namespace GPW.CORE.Smart10.Client.Services } /// - public async Task> GetDailyDetailsAsync(int idxDip, DateTime dtInizio, DateTime dtFine) + public async Task> GetDailyDetailsAsync(int idxDip, DateTime dtInizio, DateTime dtFine) { - var response = await _httpClient.GetFromJsonAsync>($"api/timbrature/daily-details?idxDip={idxDip}&dtInizio={dtInizio:yyyy-MM-dd}&dtFine={dtFine:yyyy-MM-dd}"); - return response ?? new List(); + var response = await _httpClient.GetFromJsonAsync>($"api/timbrature/daily-details?idxDip={idxDip}&dtInizio={dtInizio:yyyy-MM-dd}&dtFine={dtFine:yyyy-MM-dd}"); + return response ?? new List(); } } } diff --git a/GPW.CORE.Smart10/Controllers/TimbratureController.cs b/GPW.CORE.Smart10/Controllers/TimbratureController.cs index bb504b2..ef9fd35 100644 --- a/GPW.CORE.Smart10/Controllers/TimbratureController.cs +++ b/GPW.CORE.Smart10/Controllers/TimbratureController.cs @@ -39,29 +39,28 @@ namespace GPW.CORE.Smart10.Controllers { var result = await _dataService.DailyDetails(idxDip, dtInizio, dtFine); - // da riscrivere con conversione modello: da List a List - - return Ok(result); + // 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(MapToDto).ToList()); + return Ok(models.Select(m => m.ToDto()).ToList()); } [HttpGet("richieste")] public async Task>> 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> 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> 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> 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; } } \ No newline at end of file