From f3ec2981dc479c8c8e01d4ed220fe231aafbab2a Mon Sep 17 00:00:00 2001 From: Marco Audiffredi Date: Wed, 15 Oct 2025 10:01:39 +0200 Subject: [PATCH] refactor Timbrature --- Controllers/TimbratureController.cs | 19 ++++---- Models/TimbraturaVW.cs | 76 +++++++++++++++++++++++++++++ Views/Timbrature/Details.cshtml | 18 ++++--- Views/Timbrature/Index.cshtml | 64 +++--------------------- appsettings.json | 8 +-- 5 files changed, 110 insertions(+), 75 deletions(-) create mode 100644 Models/TimbraturaVW.cs diff --git a/Controllers/TimbratureController.cs b/Controllers/TimbratureController.cs index 35678e3..7ccd991 100644 --- a/Controllers/TimbratureController.cs +++ b/Controllers/TimbratureController.cs @@ -47,20 +47,21 @@ namespace VirtualTask.Controllers ViewBag.Admin = admin; time_sheet = helper.GetStringValue("time_sheet"); ViewBag.TimeSheet = time_sheet; - urlBase = apiUrl + "timbratureList"; + //urlBase = apiUrl + "timbratureList"; + urlBase = apiUrl + "timbratureListVW"; urlBase = urlBase + "?token=" + token; Uri baseAddress = new Uri(urlBase); client = new HttpClient(); client.BaseAddress = baseAddress; - List modelList = new List(); + List modelList = new List(); HttpResponseMessage response = client.GetAsync(baseAddress).Result; if (response.IsSuccessStatusCode) { string data = response.Content.ReadAsStringAsync().Result; - modelList = JsonConvert.DeserializeObject>(data); + modelList = JsonConvert.DeserializeObject>(data); ViewBag.Timbrature = GetCommesse(); @@ -135,25 +136,25 @@ namespace VirtualTask.Controllers apiUrl = helper.GetStringValue("apiUrl"); admin = helper.GetStringValue("admin"); ViewBag.Admin = admin; - urlBase = apiUrl + "timbratureList"; + urlBase = apiUrl + "timbratureListVW"; urlBase = urlBase + "?token=" + token; Uri baseAddress = new Uri(urlBase); client = new HttpClient(); client.BaseAddress = baseAddress; - Timbratura rapp = new Timbratura(); + TimbraturaVW rapp = new TimbraturaVW(); - List modelList = new List(); + List modelList = new List(); HttpResponseMessage response = client.GetAsync(baseAddress).Result; if (response.IsSuccessStatusCode) { string data = response.Content.ReadAsStringAsync().Result; - modelList = JsonConvert.DeserializeObject>(data); + modelList = JsonConvert.DeserializeObject>(data); rapp = modelList.Where(x => x.id.Equals(id)).First(); - string descTecnico = GetDescTecnico(rapp.tecnico); - rapp.tecnico = descTecnico; + //string descTecnico = GetDescTecnico(rapp.tecnico); + //rapp.tecnico = descTecnico; } else diff --git a/Models/TimbraturaVW.cs b/Models/TimbraturaVW.cs new file mode 100644 index 0000000..7d41df1 --- /dev/null +++ b/Models/TimbraturaVW.cs @@ -0,0 +1,76 @@ +using System.ComponentModel.DataAnnotations; + +namespace VirtualTask.Models +{ + public class TimbraturaVW + { + [Display(Name = "Id")] + /// chiave primaria + public int id { get; set; } + + [Display(Name = "Data timbratura")] + /// data + public DateTime? data_timbratura { get; set; } + + [Display(Name = "Ora inzio")] + /// ora inizio + public int ora_ini { get; set; } + + [Display(Name = "Minuti inizio")] + /// minuto inizio + public int min_ini { get; set; } + + [Display(Name = "Ora fine")] + /// ora fine + public int ora_fin { get; set; } + + [Display(Name = "Minuti fine")] + /// minuto fine + public int min_fin { get; set; } + + [Display(Name = "Commessa")] + /// commessa + public string? commessa { get; set; } + + [Display(Name = "Ore viaggio")] + /// ore viaggio + [System.ComponentModel.DataAnnotations.Schema.Column(TypeName = "decimal(7, 2)")] + public decimal? ore_viaggio { get; set; } + + [Display(Name = "Totale ore")] + /// totale ore + [System.ComponentModel.DataAnnotations.Schema.Column(TypeName = "decimal(7, 2)")] + public decimal? tot_ore { get; set; } + + [Display(Name = "Giorno sett.")] + /// giorno settimana + public int? giorno { get; set; } + + [Display(Name = "Azienda")] + /// azienda + public string? azienda { get; set; } + + [Display(Name = "Tecnico")] + /// tecnico + public string? tecnico { get; set; } + + /// cpccchk + public string? cpccchk { get; set; } + + [Display(Name = "Note")] + /// note + public string? note { get; set; } + + [Display(Name = "Descrizione Giorno")] + /// Giorno della settimana descrizione + public string? giodesc { get; set; } + + [Display(Name = "Descrizione Commessa")] + /// Commessa descrizione + public string? commdesc { get; set; } + + [Display(Name = "Descrizione Tecnico")] + /// tecnico descrizione + public string? tecdesc { get; set; } + } +} diff --git a/Views/Timbrature/Details.cshtml b/Views/Timbrature/Details.cshtml index a38793f..e92c772 100644 --- a/Views/Timbrature/Details.cshtml +++ b/Views/Timbrature/Details.cshtml @@ -1,8 +1,14 @@ -@model VirtualTask.Models.Timbratura +@model VirtualTask.Models.TimbraturaVW @{ // ViewData["Title"] = "Dettaglio"; Layout = "~/Views/Shared/_LayoutAreaRiservata.cshtml"; + string giornoStr = "0"; + if (Model != null && Model.giorno != null && Model.giorno>0) + { + giornoStr = Model.giorno.ToString(); + } + }
@@ -27,7 +33,7 @@ @Html.DisplayNameFor(model => model.tecnico) - @Html.DisplayFor(model => model.tecnico) + @Html.DisplayFor(model => model.tecnico) - @Html.DisplayFor(model => model.tecdesc) @@ -43,7 +49,7 @@ Ora fine timbratura - @Html.DisplayFor(model => model.ora_fin):@Html.DisplayFor(model => model.min_fin) + @($"{Model.ora_fin:D2}:{Model.min_fin:D2}") @@ -59,7 +65,7 @@ @Html.DisplayNameFor(model => model.commessa) - @Html.DisplayFor(model => model.commessa) + @Html.DisplayFor(model => model.commessa) - @Html.DisplayFor(model => model.commdesc) @@ -67,7 +73,7 @@ @Html.DisplayNameFor(model => model.ore_viaggio) - @Html.DisplayFor(model => model.ore_viaggio) + @giornoStr @@ -75,7 +81,7 @@ @Html.DisplayNameFor(model => model.giorno) - @Html.DisplayFor(model => model.giorno) + @Html.DisplayFor(model => model.giorno) - @Html.DisplayFor(model => model.giodesc) diff --git a/Views/Timbrature/Index.cshtml b/Views/Timbrature/Index.cshtml index be0a824..021fa6d 100644 --- a/Views/Timbrature/Index.cshtml +++ b/Views/Timbrature/Index.cshtml @@ -1,4 +1,4 @@ -@model IPagedList +@model IPagedList @using X.PagedList; @using X.PagedList.Mvc.Core; @using X.PagedList.Web.Common; @@ -53,30 +53,6 @@
- - @*
-
- Data da: - - @Html.TextBox("dataIni", null, new { type = "date", @class = "agy-form-field require" }) - Data a: - - @Html.TextBox("dataFin", null, new { type = "date", @class = "agy-form-field require" }) - - Commessa: - @Html.DropDownList("commessa", ViewBag.Timbrature, null, new { @class = "agy-form-field require" }) - - Tecnico: - @Html.TextBox("tecnico", null, new { placeholder = "", @class = "agy-form-field require" }) - -
-
- -
 
-
 
-
 
- -
*@ }
@@ -109,11 +85,6 @@
- @* - -
- -
*@ }
@@ -127,22 +98,12 @@ - - - - - - - - + + - + - - - - - + @@ -151,19 +112,10 @@ - - - - - - + - - - - - - + +
Data timbraturaOra inizioMinuti inizioOra fineMinuti fineCommessaOre viaggioData/ora timbraturaOra/min fine Totale oreGiorno sett.Commessa Tecnico
@Html.DisplayFor(modelItem => item.data_timbratura)@Html.DisplayFor(modelItem => item.ora_ini)@Html.DisplayFor(modelItem => item.min_ini)@Html.DisplayFor(modelItem => item.ora_fin)@Html.DisplayFor(modelItem => item.min_fin)@Html.DisplayFor(modelItem => item.commessa)@Html.DisplayFor(modelItem => item.ore_viaggio)@($"{item.ora_fin:D2}:{item.min_fin:D2}") @Html.DisplayFor(modelItem => item.tot_ore)@Html.DisplayFor(modelItem => item.giorno)@Html.DisplayFor(modelItem => item.tecnico)@Html.HiddenFor(modelItem => item.id)@Html.HiddenFor(modelItem => item.azienda)@Html.HiddenFor(modelItem => item.cpccchk)@Html.HiddenFor(modelItem => item.note)@Html.DisplayFor(modelItem => item.commessa)-@Html.DisplayFor(modelItem => item.commdesc)@Html.DisplayFor(modelItem => item.tecnico)-@Html.DisplayFor(modelItem => item.tecdesc) Dettaglio diff --git a/appsettings.json b/appsettings.json index d355d84..572e46a 100644 --- a/appsettings.json +++ b/appsettings.json @@ -8,8 +8,8 @@ "ApplicationInsights": { //PRODUZIONE - "rootUrlApi": "https://api-vt.poloinformatico.it/api/Polo/", - "rootUrlApi2": "https://api-vt.poloinformatico.it/VIRTU/", + //"rootUrlApi": "https://api-vt.poloinformatico.it/api/Polo/", + //"rootUrlApi2": "https://api-vt.poloinformatico.it/VIRTU/", //"rootWebLoghi": "C:\\ZAPIPOLO\\api_polo\\wwwroot\\VIRTU\\", //"rootWebLoghi": "/zucchetti/api/api-vt.poloinformatico.it/app/wwwroot/VIRTU/", "rootWebLoghi": "./wwwroot/VIRTU", @@ -17,8 +17,8 @@ "rootPath": "/mnt/storagebox", //TEST - //"rootUrlApi": "http://testapi.poloinformatico.it:9001/api/Polo/", - //"rootUrlApi2": "http://testapi.poloinformatico.it:9001/VIRTU/", + "rootUrlApi": "http://testapi.poloinformatico.it:9001/api/Polo/", + "rootUrlApi2": "http://testapi.poloinformatico.it:9001/VIRTU/", //"rootWebLoghi": "C:\\Users\\audif\\source\\repos\\VirtualTask\\wwwroot\\VIRTU\\", //"rootUrl": "https://localhost:7140/",