From bb4d10daa034aed4e8b7e63d6cc8269913339320 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Thu, 9 Apr 2026 18:39:15 +0200 Subject: [PATCH] Modifica con dettaglio statistiche aggregate + cambio metodo undek a "/" come default --- MP.Data/Services/Utils/StatsAggrService.cs | 4 +- MP.Data/Services/Utils/StatsDetailService.cs | 29 +++++++++++--- MP.IOC/Components/Layout/NavMenu.razor | 8 ++-- MP.IOC/Components/Pages/CallStats.razor | 34 +++++++++++++++-- MP.IOC/Components/Pages/CallStats.razor.cs | 40 ++++++++++++++++++++ MP.IOC/Components/Pages/Index.razor | 24 +++++++++++- MP.IOC/Components/Pages/Index.razor.cs | 36 ++++++++++++++---- MP.IOC/MP.IOC.csproj | 2 +- MP.IOC/Resources/ChangeLog.html | 2 +- MP.IOC/Resources/VersNum.txt | 2 +- MP.IOC/Resources/manifest.xml | 2 +- MP.IOC/Services/RouteManager.cs | 2 +- 12 files changed, 156 insertions(+), 29 deletions(-) create mode 100644 MP.IOC/Components/Pages/CallStats.razor.cs diff --git a/MP.Data/Services/Utils/StatsAggrService.cs b/MP.Data/Services/Utils/StatsAggrService.cs index e99a1e72..c9646966 100644 --- a/MP.Data/Services/Utils/StatsAggrService.cs +++ b/MP.Data/Services/Utils/StatsAggrService.cs @@ -108,7 +108,7 @@ namespace MP.Data.Services.Utils }) .OrderByDescending(x => x.Value) .ToList(); - result.Add("Dest.Request", pDestRequest); + result.Add("Dest.Request (#)", pDestRequest); var pDestDuration = rawData.GroupBy(x => x.Destination) .Select(g => new StatDataDTO @@ -118,7 +118,7 @@ namespace MP.Data.Services.Utils }) .OrderByDescending(x => x.Value) .ToList(); - result.Add("Dest.Duration", pDestDuration); + result.Add("Dest.Duration (ms)", pDestDuration); return result; } diff --git a/MP.Data/Services/Utils/StatsDetailService.cs b/MP.Data/Services/Utils/StatsDetailService.cs index 4c4d8444..52af5707 100644 --- a/MP.Data/Services/Utils/StatsDetailService.cs +++ b/MP.Data/Services/Utils/StatsDetailService.cs @@ -101,7 +101,7 @@ namespace MP.Data.Services.Utils }) .OrderByDescending(x => x.Value) .ToList(); - result.Add("Dest.Request", pDestRequest); + result.Add("Dest.Request (#)", pDestRequest); var pDestDuration = rawData.GroupBy(x => x.Destination) .Select(g => new StatDataDTO { @@ -110,7 +110,7 @@ namespace MP.Data.Services.Utils }) .OrderByDescending(x => x.Value) .ToList(); - result.Add("Dest.Duration", pDestRequest); + result.Add("Dest.Duration (ms)", pDestDuration); var pTypeRequest = rawData.GroupBy(x => x.Type) .Select(g => new StatDataDTO @@ -120,8 +120,7 @@ namespace MP.Data.Services.Utils }) .OrderByDescending(x => x.Value) .ToList(); - result.Add("Type.Request", pTypeRequest); - + result.Add("Type.Request (#)", pTypeRequest); var pTypeDuration = rawData.GroupBy(x => x.Type) .Select(g => new StatDataDTO { @@ -130,7 +129,27 @@ namespace MP.Data.Services.Utils }) .OrderByDescending(x => x.Value) .ToList(); - result.Add("Type.Duration", pTypeDuration); + result.Add("Type.Duration (ms)", pTypeDuration); + + // calcolo le varie statistiche COMPOSTE... + var pDestTypeRequest = rawData.GroupBy(x => new { x.Destination, x.Type }) + .Select(g => new StatDataDTO + { + Label = $"{g.Key.Destination}.{g.Key.Type}", + Value = g.Sum(x => x.RequestCount) + }) + .OrderByDescending(x => x.Value) + .ToList(); + result.Add("DestType.Request (#)", pDestTypeRequest); + var pDestTypeDuration = rawData.GroupBy(x => new { x.Destination, x.Type }) + .Select(g => new StatDataDTO + { + Label = $"{g.Key.Destination}.{g.Key.Type}", + Value = g.Sum(x => x.RequestCount * x.AvgDuration) + }) + .OrderByDescending(x => x.Value) + .ToList(); + result.Add("DestType.Duration (ms)", pDestTypeDuration); return result; } diff --git a/MP.IOC/Components/Layout/NavMenu.razor b/MP.IOC/Components/Layout/NavMenu.razor index 2dc559fa..74f53187 100644 --- a/MP.IOC/Components/Layout/NavMenu.razor +++ b/MP.IOC/Components/Layout/NavMenu.razor @@ -40,12 +40,12 @@ } - @* *@ +
IOC Conversion rate
- +
+ @foreach (var item in paretoWeek) + { +
+
    +
  • + @item.Key +
  • + @foreach (var itemDet in item.Value) + { +
  • +
    + @itemDet.Label +
    +
    + @($"{itemDet.Value:N0}") +
    +
  • + } +
+
+ } +