+
diff --git a/TecniStamp/TecniStamp/Components/Pages/Anagrafiche/Macchinari_Edit.razor b/TecniStamp/TecniStamp/Components/Pages/Anagrafiche/Macchinari_Edit.razor
index 8844f05..41e807a 100644
--- a/TecniStamp/TecniStamp/Components/Pages/Anagrafiche/Macchinari_Edit.razor
+++ b/TecniStamp/TecniStamp/Components/Pages/Anagrafiche/Macchinari_Edit.razor
@@ -41,12 +41,12 @@
-
+
-
+
diff --git a/TecniStamp/TecniStamp/Components/Pages/Tempi/Tempi.razor b/TecniStamp/TecniStamp/Components/Pages/Tempi/Tempi.razor
new file mode 100644
index 0000000..6a501e4
--- /dev/null
+++ b/TecniStamp/TecniStamp/Components/Pages/Tempi/Tempi.razor
@@ -0,0 +1,55 @@
+@page "/tempi"
+@using Microsoft.EntityFrameworkCore
+@using TecniStamp.Model.Tempi
+@using TecniStamp.Model.Common
+@using TecniStamp.Utils
+
+@rendermode InteractiveServer
+@inject AuthenticationStateProvider auth
+
+
Tempi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+@code {
+ List
tempi;
+ RadzenDataGrid tempiGrid;
+ public List BreadcrumbList { get; set; } = new();
+
+ protected override async Task OnInitializedAsync()
+ {
+ await base.OnInitializedAsync();
+
+
+
+ BreadcrumbList = await BreadcrumbUtils.BuildBreadcrumbByFeature(_managerService, "Tempi_Info");
+ }
+
+}
\ No newline at end of file
diff --git a/TecniStamp/TecniStamp/Model/Commesse/ClienteViewModel.cs b/TecniStamp/TecniStamp/Model/Commesse/ClienteViewModel.cs
index 820a190..c3dfaf1 100644
--- a/TecniStamp/TecniStamp/Model/Commesse/ClienteViewModel.cs
+++ b/TecniStamp/TecniStamp/Model/Commesse/ClienteViewModel.cs
@@ -1,18 +1,40 @@
-using TecniStamp.Domain;
+using Microsoft.IdentityModel.Abstractions;
+using System.ComponentModel.DataAnnotations;
+using System.Security.Cryptography;
+using TecniStamp.Domain;
namespace TecniStamp.Model.Commesse;
public class ClienteViewModel : BaseViewModel
{
+ [Required(ErrorMessage = "La ragione sociale è obbligatoria")]
public string RagioneSociale { get; set; }
+
+ [Required(ErrorMessage = "la partita iva è obbligatoria")]
public string PartitaIva { get; set; }
+
+ [Required(ErrorMessage = "il numero di telefono è obbligatorio")]
public string Telefono { get; set; }
+
+ [Required(ErrorMessage = "la mail è obbligatoria")]
+ [EmailAddress(ErrorMessage = "Formato email non valido")]
public string Email { get; set; }
+
+ [Required(ErrorMessage = "il CAP è obbligatoria")]
public string CAP { get; set; }
+
+ [Required(ErrorMessage = "la città è obbligatoria")]
public string Citta { get; set; }
+
+ [Required(ErrorMessage = "il numero civico è obbligatoria")]
public string NumeroCivico { get; set; }
+
+ [Required(ErrorMessage = "la via è obbligatoria")]
public string Via { get; set; }
+
+ [Required(ErrorMessage = "la provincia è obbligatoria")]
public string Provincia { get; set; }
+
public string? Note { get; set; }
public Guid? ComuneId { get; set; }
public ComuneIstatViewModel Comune { get; set; }
@@ -43,4 +65,20 @@ public class ClienteViewModel : BaseViewModel
Id = model.Id
};
}
+
+ public Cliente Map(Cliente model)
+ {
+ model.RagioneSociale = RagioneSociale;
+ model.PartitaIva = PartitaIva;
+ model.Citta = Citta;
+ model.Email = Email;
+ model.Telefono = Telefono;
+ model.Citta = Citta;
+ model.CAP = CAP;
+ model.Provincia = Provincia;
+ model.Via = Via;
+ model.NumeroCivico = NumeroCivico;
+
+ return model;
+ }
}
\ No newline at end of file
diff --git a/TecniStamp/TecniStamp/Model/Tempi/TempiViewModel.cs b/TecniStamp/TecniStamp/Model/Tempi/TempiViewModel.cs
new file mode 100644
index 0000000..90e4281
--- /dev/null
+++ b/TecniStamp/TecniStamp/Model/Tempi/TempiViewModel.cs
@@ -0,0 +1,17 @@
+using TecniStamp.Model.Commesse;
+
+namespace TecniStamp.Model.Tempi;
+
+public class TempiViewModel
+{
+ public string Operatore { get; set; }
+ public string Commessa { get; set; }
+ public string Prodotto { get; set; }
+ public string Lavorazione { get; set; }
+ public DateTime DataInizio { get; set; }
+ public DateTime DataFine { get; set; }
+ public decimal TempoTotale { get; set; }
+
+
+
+}