-
+
+
}
diff --git a/MP-TAB-SERV/Components/SelTempoMSMC.razor b/MP-TAB-SERV/Components/SelTempoMSMC.razor
index e98a4e34..fc5a3392 100644
--- a/MP-TAB-SERV/Components/SelTempoMSMC.razor
+++ b/MP-TAB-SERV/Components/SelTempoMSMC.razor
@@ -1,5 +1,22 @@
-
- Selettore TC MM:SS / M.CC
-
-
-
implementare come altro con selettori tendina, testo libero, switch MC/MS...
+
+
diff --git a/MP-TAB-SERV/Components/SelTempoMSMC.razor.cs b/MP-TAB-SERV/Components/SelTempoMSMC.razor.cs
index 6332e49f..61451f17 100644
--- a/MP-TAB-SERV/Components/SelTempoMSMC.razor.cs
+++ b/MP-TAB-SERV/Components/SelTempoMSMC.razor.cs
@@ -1,31 +1,217 @@
-using global::System;
-using global::System.Collections.Generic;
-using global::System.Linq;
-using global::System.Threading.Tasks;
using global::Microsoft.AspNetCore.Components;
-using System.Net.Http;
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Components.Authorization;
-using Microsoft.AspNetCore.Components.Forms;
-using Microsoft.AspNetCore.Components.Routing;
-using Microsoft.AspNetCore.Components.Web;
-using Microsoft.AspNetCore.Components.Web.Virtualization;
-using Microsoft.JSInterop;
-using MP_TAB_SERV;
-using MP_TAB_SERV.Shared;
-using MP_TAB_SERV.Components;
-using MP.Data;
-using MP.Data.DatabaseModels;
-using MP.Data.DTO;
-using MP.Data.Services;
-using Newtonsoft.Json;
-using NLog;
namespace MP_TAB_SERV.Components
{
public partial class SelTempoMSMC
{
+ #region Public Enums
+
+ ///
+ /// modalità di visualizzazione ed interazione controllo tempo
+ ///
+ public enum timeControlMode
+ {
+ ///
+ /// controllo textbox
+ ///
+ testo = 0,
+
+ ///
+ /// selettori dropdown list
+ ///
+ selettori = 1
+ }
+
+ ///
+ /// modalità tempo principale (Minuti Secondi o Minuti Centesimali=
+ ///
+ public enum timeMode
+ {
+ ///
+ /// Minuti Secondi
+ ///
+ MS = 0,
+
+ ///
+ /// Minuti Centesimali
+ ///
+ MC = 1
+ }
+
+ #endregion Public Enums
+
+ #region Public Properties
+
+ ///
+ /// modalità rendering controllo
+ ///
[Parameter]
- public double TempoMC { get; set; } = 1;
+ public timeControlMode modoControllo { get; set; } = timeControlMode.testo;
+
+ ///
+ /// modalità controllo tempo
+ ///
+ [Parameter]
+ public timeMode modoTempo { get; set; } = timeMode.MC;
+
+ ///
+ /// Valore tempo (centesimale)
+ ///
+ [Parameter]
+ public double TempoMC
+ {
+ get => _tempoMC;
+ set
+ {
+ _tempoMC = value;
+ _tempoMS = minCent2Sec(value);
+ }
+ }
+
+ #endregion Public Properties
+
+ #region Protected Properties
+
+ ///
+ /// tempo min.cent
+ ///
+ protected double _tempoMC { get; set; } = 0;
+
+ ///
+ /// tempo selezionato in formato Minuti Secondi
+ ///
+ protected DateTime selTempoMS
+ {
+ get => DateTime.Today.Add(TempoMS);
+ set => TempoMS = value.Subtract(value.Date);
+ }
+
+ ///
+ /// tempo selezionato in formato Minuti Secondi
+ ///
+ protected TimeSpan TempoMS
+ {
+ get
+ {
+ return _tempoMS;
+ }
+ set
+ {
+ _tempoMS = value;
+ _tempoMC = minSec2Cent(value);
+ }
+ }
+
+ #endregion Protected Properties
+
+ #region Protected Methods
+
+ ///
+ /// conversione da tempo minuti centesimali a minuti/secondi
+ ///
+ ///
+ ///
+ protected TimeSpan minCent2Sec(double valore)
+ {
+ TimeSpan answ = TimeSpan.FromMinutes(valore);
+ return answ;
+ }
+
+ ///
+ /// conversione da tempo minuti/secondi a minuti centesimali
+ ///
+ ///
+ ///
+ protected double minSec2Cent(TimeSpan valore)
+ {
+ double answ = Math.Round(valore.TotalMinutes, 3);
+ return answ;
+ }
+
+ protected override void OnParametersSet()
+ {
+ showControls();
+ }
+
+ #endregion Protected Methods
+
+ #region Private Fields
+
+ private string lblTempo = "";
+ private string txtTempo = "";
+
+ #endregion Private Fields
+
+ #region Private Properties
+
+ ///
+ /// tempo min:sec
+ ///
+ private TimeSpan _tempoMS { get; set; } = TimeSpan.FromSeconds(1);
+
+ ///
+ /// INdica il formato del tempo IN INGRESSO (selezionato)
+ ///
+ private string labelTempoIN
+ {
+ get
+ {
+ string answ = "";
+ if (modoTempo == timeMode.MC)
+ {
+ answ = "min.cent";
+ }
+ else
+ {
+ answ = "min:sec";
+ }
+ return answ;
+ }
+ }
+
+ #endregion Private Properties
+
+ #region Private Methods
+
+ ///
+ /// mostra i controlli secondo richiesta
+ ///
+ private void showControls()
+ {
+ if (modoControllo == timeControlMode.testo)
+ {
+ if (modoTempo == timeMode.MC)
+ {
+ txtTempo = $"{TempoMC:0.000}";
+ }
+ else
+ {
+ txtTempo = $"{TempoMS:mm}:{TempoMS:ss}";
+ }
+ }
+ else
+ {
+ //ddlMinuti.SelectedValue = TempoMS.Minutes.ToString();
+ //if (modoTempo == timeMode.MC)
+ //{
+ // ddlSecondi.SelectedValue = Convert.ToInt32((tempoMC - Math.Floor(tempoMC)) * 100).ToString();
+ //}
+ //else
+ //{
+ // ddlSecondi.SelectedValue = TempoMS.Seconds.ToString();
+ //}
+ }
+ // fix label...
+ if (modoTempo == timeMode.MC)
+ {
+ lblTempo = $"--> {TempoMS:mm}:{TempoMS:ss} (min:sec)";
+ }
+ else
+ {
+ lblTempo = $"--> {TempoMC:0.000} (min.cent)";
+ }
+ }
+
+ #endregion Private Methods
}
}
\ No newline at end of file
diff --git a/MP-TAB-SERV/MP-TAB-SERV.csproj b/MP-TAB-SERV/MP-TAB-SERV.csproj
index 332c4a27..e6037d2d 100644
--- a/MP-TAB-SERV/MP-TAB-SERV.csproj
+++ b/MP-TAB-SERV/MP-TAB-SERV.csproj
@@ -3,7 +3,7 @@
net6.0
enable
- 6.16.2311.620
+ 6.16.2311.708
enable
MP_TAB_SERV
diff --git a/MP-TAB-SERV/Resources/ChangeLog.html b/MP-TAB-SERV/Resources/ChangeLog.html
index 837f478a..72fa0cea 100644
--- a/MP-TAB-SERV/Resources/ChangeLog.html
+++ b/MP-TAB-SERV/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MAPOSPEC
-
Versione: 6.16.2311.620
+
Versione: 6.16.2311.708
Note di rilascio:
-
diff --git a/MP-TAB-SERV/Resources/VersNum.txt b/MP-TAB-SERV/Resources/VersNum.txt
index fc8f09f9..d337feb6 100644
--- a/MP-TAB-SERV/Resources/VersNum.txt
+++ b/MP-TAB-SERV/Resources/VersNum.txt
@@ -1 +1 @@
-6.16.2311.620
+6.16.2311.708
diff --git a/MP-TAB-SERV/Resources/manifest.xml b/MP-TAB-SERV/Resources/manifest.xml
index 36ea59a5..bface0b0 100644
--- a/MP-TAB-SERV/Resources/manifest.xml
+++ b/MP-TAB-SERV/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 6.16.2311.620
+ 6.16.2311.708
https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/MP-TAB-SERV.zip
https://nexus.steamware.net/repository/SWS/MP-TAB-SERV/stable/LAST/ChangeLog.html
false