aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Software/Visual_Studio/Web/Tango.Portal/Utils/StatisticsUtils.cs49
1 files changed, 27 insertions, 22 deletions
diff --git a/Software/Visual_Studio/Web/Tango.Portal/Utils/StatisticsUtils.cs b/Software/Visual_Studio/Web/Tango.Portal/Utils/StatisticsUtils.cs
index 9cf83b717..f8bfcdd6d 100644
--- a/Software/Visual_Studio/Web/Tango.Portal/Utils/StatisticsUtils.cs
+++ b/Software/Visual_Studio/Web/Tango.Portal/Utils/StatisticsUtils.cs
@@ -1,8 +1,10 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Threading.Tasks;
using System.Web;
using Tango.BL.Entities;
+using Tango.Portal.Enumerations;
using Tango.Portal.Models;
namespace Tango.Portal.Utils
@@ -17,27 +19,31 @@ namespace Tango.Portal.Utils
public Statistics GetStats()
{
- if (_stats == null || DateTime.Now > _fetchDate.AddDays(7))
+ if (_stats == null || DateTime.Now > _fetchDate.AddDays(1))
{
_fetchDate = DateTime.Now;
_stats = new Statistics();
- try
+ Task.Factory.StartNew(() =>
{
- using (var db = DbUtils.CreateContext(Enumerations.PortalEnvironment.Test))
+ try
{
- var jobRuns = db.JobRuns.Select(x => new { x.ActualStartPosition, x.ActualEndPosition, x.EndPosition, x.Status })
- .ToList()
- .Select(x => new JobRun()
+ foreach (var env in Enum.GetValues(typeof(PortalEnvironment)).Cast<PortalEnvironment>())
+ {
+ using (var db = DbUtils.CreateContext(env))
{
- ActualStartPosition = x.ActualStartPosition,
- ActualEndPosition = x.ActualEndPosition,
- EndPosition = x.EndPosition,
- Status = x.Status
- })
- .ToList();
+ var jobRuns = db.JobRuns.Select(x => new { x.ActualStartPosition, x.ActualEndPosition, x.EndPosition, x.Status })
+ .ToList()
+ .Select(x => new JobRun()
+ {
+ ActualStartPosition = x.ActualStartPosition,
+ ActualEndPosition = x.ActualEndPosition,
+ EndPosition = x.EndPosition,
+ Status = x.Status
+ })
+ .ToList();
- int[] arr = (new List<BL.Enumerations.TangoUpdateStatuses>()
+ int[] arr = (new List<BL.Enumerations.TangoUpdateStatuses>()
{
BL.Enumerations.TangoUpdateStatuses.DatabaseCompleted,
BL.Enumerations.TangoUpdateStatuses.OfflineFirmwareUpgradeCompleted,
@@ -46,17 +52,16 @@ namespace Tango.Portal.Utils
BL.Enumerations.TangoUpdateStatuses.UpdateCompleted
}).Cast<int>().ToArray();
- var upgrades = db.TangoUpdates.Where(x => arr.Contains(x.Status)).Count();
+ var upgrades = db.TangoUpdates.Where(x => arr.Contains(x.Status)).Count();
- _stats.TotalDyedThread = (int)jobRuns.Sum(x => x.Distance) / 1000;
- _stats.JobsCompleted = jobRuns.Count;
- _stats.SoftwareUpgrades = upgrades;
+ _stats.TotalDyedThread += (int)jobRuns.Sum(x => x.Distance) / 1000;
+ _stats.JobsCompleted += jobRuns.Count;
+ _stats.SoftwareUpgrades += upgrades;
+ }
+ }
}
- }
- catch (Exception)
- {
-
- }
+ catch { }
+ });
}
return _stats;