diff --git a/EgwControlCenter.App/Components/Compo/ApplicationCheck.razor b/EgwControlCenter.App/Components/Compo/ApplicationCheck.razor new file mode 100644 index 0000000..322a4e7 --- /dev/null +++ b/EgwControlCenter.App/Components/Compo/ApplicationCheck.razor @@ -0,0 +1,87 @@ +@using EgwControlCenter.Core +@using EgwControlCenter.Core.Models +@inject AppControlService ACService + + + + + @* *@ + + + + + + + + + @if (ListRecords == null || ListRecords.Count == 0) + { + + + + } + else + { + @foreach (var item in ListRecords) + { + + + + + + + + } + } + +
+ + ApplicazioneInstalledAvailableUpdateNote
+
Nessun aggiornamento disponibile!
+
@item.CodApp@item.VersNumCurr@item.VersNumLast + @if (item.HasUpdate) + { + + } + @item.RelTagsLast
+ +@code { + + + [Parameter] + public bool OnlyUpdate { get; set; } = false; + + private List? ListRecords { get; set; } = null; + + private List CurrRecords + { + get => ACService.ListAppStatus; + // set => ACService.ListAppStatus = value; + } + + protected override void OnParametersSet() + { + // fix parametro visualizzazione solo update + ForceReload(); + } + + protected override void OnInitialized() + { + ACService.EA_StatusUpdated += ACService_EA_StatusUpdated; + } + private void ACService_EA_StatusUpdated() + { + // fermo il timer e lo riavvio... + ForceReload(); + } + + private void ForceReload() + { + // ListRecords = null; + ListRecords = CurrRecords + .Where(x => x.HasUpdate || !OnlyUpdate) + .ToList(); + StateHasChanged(); + } + +} diff --git a/EgwControlCenter.App/Components/Compo/CmpFooter.razor b/EgwControlCenter.App/Components/Compo/CmpFooter.razor index 362ac82..b8c8763 100644 --- a/EgwControlCenter.App/Components/Compo/CmpFooter.razor +++ b/EgwControlCenter.App/Components/Compo/CmpFooter.razor @@ -1,6 +1,9 @@ 
- App Control Center v.@AppVers + + @* @CurrAssembly.Name v.@AppVers *@
@adesso diff --git a/EgwControlCenter.App/Components/Compo/CmpFooter.razor.cs b/EgwControlCenter.App/Components/Compo/CmpFooter.razor.cs index 37df427..1e4a856 100644 --- a/EgwControlCenter.App/Components/Compo/CmpFooter.razor.cs +++ b/EgwControlCenter.App/Components/Compo/CmpFooter.razor.cs @@ -27,6 +27,9 @@ namespace EgwControlCenter.App.Components.Compo #endregion Protected Fields + + [Inject] + protected NavigationManager NavMan { get; set; } = null!; [Inject] protected AppControlService ACService { get; set; } = null!; @@ -46,12 +49,13 @@ namespace EgwControlCenter.App.Components.Compo protected override void OnInitialized() { StartTimer(); + CurrAssembly = System.Reflection.Assembly.GetExecutingAssembly().GetName(); ACService.EA_ConfigUpdated += ACService_EA_ConfigUpdated; } private void ACService_EA_ConfigUpdated() { - //fermo il timer e lo riavvio... + // fermo il timer e lo riavvio... StartTimer(); } @@ -68,8 +72,6 @@ namespace EgwControlCenter.App.Components.Compo aTimer.Stop(); aTimer.Dispose(); } - //int tOutPeriod = 300000; - //int tOutPeriod = 1000; int tOutPeriod = RefreshPeriod < 1000 ? RefreshPeriod * 1000 : RefreshPeriod; aTimer = new System.Timers.Timer(tOutPeriod); aTimer.Elapsed += ElapsedTimer; @@ -100,7 +102,16 @@ namespace EgwControlCenter.App.Components.Compo } } - private System.Reflection.AssemblyName? CurrAssembly { get; set; } = System.Reflection.Assembly.GetExecutingAssembly().GetName(); + private System.Reflection.AssemblyName CurrAssembly { get; set; } = null!; + + private void NavAbout() + { + NavMan.NavigateTo("About"); + } + private void NavContacts() + { + NavMan.NavigateTo("Contacts"); + } #endregion Private Properties } diff --git a/EgwControlCenter.App/Components/Pages/About.razor b/EgwControlCenter.App/Components/Pages/About.razor index 4e205f5..10f25d3 100644 --- a/EgwControlCenter.App/Components/Pages/About.razor +++ b/EgwControlCenter.App/Components/Pages/About.razor @@ -6,7 +6,7 @@
-

About

+

EgwControlCenter.App

@@ -20,48 +20,29 @@
-

Current count: @currentCount

- -
-
-
- -
-
- -
-
- -
+ +
+ Gestione stato aggiornamento applicazioni EgalWare. +
+ Per maggiori informazioni e aggiornamenti del servizio, visitate il sito di riferimento dell'applicazione. +
+
+
+
+
+ +
+
-
-
@code { - private int currentCount = 0; private System.Reflection.AssemblyName? CurrAssembly { get; set; } = System.Reflection.Assembly.GetExecutingAssembly().GetName(); - private void IncrementCount() - { - currentCount++; - } - private void GoTo01() + private void ReturnHome() { NavMan.NavigateTo("Nav01"); } - private void GoTo02() - { - NavMan.NavigateTo("Nav02"); - } - private void GoTo03() - { - NavMan.NavigateTo("Nav03"); - } } diff --git a/EgwControlCenter.App/Components/Pages/Index.razor b/EgwControlCenter.App/Components/Pages/Index.razor index 6a42c90..c45a942 100644 --- a/EgwControlCenter.App/Components/Pages/Index.razor +++ b/EgwControlCenter.App/Components/Pages/Index.razor @@ -8,41 +8,38 @@
-

App Control Center

+
App Control Center
+ @*

EgalWare's App Control Center

*@ +
+ + +
-
- +
+
+ +
+
+ +
-
+
@if (ReqSetup) { } else { -

Current count: @currentCount

- -
-
-
- -
-
- -
-
- -
-
+ }
- *@
diff --git a/EgwControlCenter.App/Components/Pages/Index.razor.cs b/EgwControlCenter.App/Components/Pages/Index.razor.cs index 323e23e..6e4f8ca 100644 --- a/EgwControlCenter.App/Components/Pages/Index.razor.cs +++ b/EgwControlCenter.App/Components/Pages/Index.razor.cs @@ -9,60 +9,44 @@ namespace EgwControlCenter.App.Components.Pages #region Protected Properties [Inject] - protected NavigationManager NavMan { get; set; } = null!; + protected IJSRuntime JSRuntime { get; set; } = null!; #endregion Protected Properties - #region Private Fields - - private int currentCount = 0; - - #endregion Private Fields - - #region Private Properties - - private System.Reflection.AssemblyName? CurrAssembly { get; set; } = System.Reflection.Assembly.GetExecutingAssembly().GetName(); - - #endregion Private Properties - - #region Private Methods - - private void GoTo01() - { - NavMan.NavigateTo("Nav01"); - } - - private void GoTo02() - { - NavMan.NavigateTo("Nav02"); - } - - private void GoTo03() - { - NavMan.NavigateTo("Nav03"); - } - - private void IncrementCount() - { - currentCount++; - } - - [Inject] - protected IJSRuntime JSRuntime { get; set; } = null!; - - private bool ReqSetup { get; set; } = false; - - - private string SetupBtnClass - { - get => ReqSetup ? "btn-info" : "btn-primary"; - } + #region Protected Methods protected void ToggleSetup() { ReqSetup = !ReqSetup; } - #endregion Private Methods + protected void ForceCheck() + { + ACService.ForceCheck(); + } + + #endregion Protected Methods + [Inject] + protected AppControlService ACService { get; set; } = null!; + + #region Private Properties + + protected bool ShowOnlyUpdate { get; set; } = true; + + private System.Reflection.AssemblyName? CurrAssembly { get; set; } = System.Reflection.Assembly.GetExecutingAssembly().GetName(); + private bool ReqSetup { get; set; } = false; + + private string SetupBtnClass + { + get => ReqSetup ? "btn-info" : "btn-primary"; + } + private string ShowUpdateText + { + get => ShowOnlyUpdate ? "Aggiornamenti" : "Mostra Tutti"; + } + + + + #endregion Private Properties } } \ No newline at end of file diff --git a/EgwControlCenter.Core/AppControlService.cs b/EgwControlCenter.Core/AppControlService.cs index 0ca7f40..64fdf11 100644 --- a/EgwControlCenter.Core/AppControlService.cs +++ b/EgwControlCenter.Core/AppControlService.cs @@ -29,6 +29,7 @@ namespace EgwControlCenter.Core #region Public Events public event Action EA_ConfigUpdated = null!; + public event Action EA_StatusUpdated = null!; #endregion Public Events @@ -67,14 +68,34 @@ namespace EgwControlCenter.Core get => CurrCheck.CurrPatrolCont.TargetList; set { - if (CurrCheck.CurrPatrolCont.TargetList != value) - { - CurrCheck.CurrPatrolCont.TargetList = value; - ReportConfigUpd(); - } + CurrCheck.CurrPatrolCont.TargetList = value; + ReportConfigUpd(); } } + public List ListAppStatus + { + get => CurrCheck.ListAppStatus; + set + { + CurrCheck.ListAppStatus = value; + ReportStatusUpd(); + } + } + + public void ForceCheck() + { + //// forzo rilettura... + //CurrCheck = new ReleaseChecker(ConfDir, DataDir); + // effettua un refresh del controllo status... + bool locCheckOk = CurrCheck.UpdateLocalStatus(true); + if (locCheckOk) + { + bool remCheckOk = CurrCheck.CheckRemoteReleases(); + } + ReportStatusUpd(); + } + #endregion Public Properties #region Public Methods @@ -147,6 +168,13 @@ namespace EgwControlCenter.Core EA_ConfigUpdated?.Invoke(); } } + private void ReportStatusUpd() + { + if (EA_StatusUpdated!= null) + { + EA_StatusUpdated?.Invoke(); + } + } #endregion Private Methods } diff --git a/EgwControlCenter.Core/Models/VersStatusDTO.cs b/EgwControlCenter.Core/Models/VersStatusDTO.cs index 324272f..7218920 100644 --- a/EgwControlCenter.Core/Models/VersStatusDTO.cs +++ b/EgwControlCenter.Core/Models/VersStatusDTO.cs @@ -33,6 +33,11 @@ namespace EgwControlCenter.Core.Models /// public string RelTagsLast { get; set; } = ""; + /// + /// indica se esista un update alla versione + /// + public bool HasUpdate { get; set; } = false; + #endregion Public Properties } diff --git a/EgwControlCenter.Core/ReleaseChecker.cs b/EgwControlCenter.Core/ReleaseChecker.cs index e1b54e3..9331530 100644 --- a/EgwControlCenter.Core/ReleaseChecker.cs +++ b/EgwControlCenter.Core/ReleaseChecker.cs @@ -443,13 +443,14 @@ namespace EgwControlCenter.Core } // aggiorno obj calcolato versioni... ListAppStatus = ListStatus - .Where(x => x.HasUpdate()) + //.Where(x => x.HasUpdate()) .Select(x => new VersStatusDTO { CodApp = x.CodApp, VersNumCurr = x.CurrLocal.VersNum, VersNumLast = x.CurrRemote.VersNum, - RelTagsLast = x.CurrRemote.RelTags + RelTagsLast = x.CurrRemote.RelTags, + HasUpdate= x.HasUpdate() }) .ToList(); }