aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/JobRunsViewVM.cs
diff options
context:
space:
mode:
authorVictoria Plitt <Victoria.Plitt@twine-s.com>2020-03-15 16:12:26 +0200
committerVictoria Plitt <Victoria.Plitt@twine-s.com>2020-03-15 16:12:26 +0200
commit56678ae530fe45b0880053793ab46f47051e4dc6 (patch)
tree5098da59f675127fdb6c820b7ead4b990751a0e2 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/JobRunsViewVM.cs
parentd76fc5e1d3172a255d7de9446710c8764cd7335b (diff)
downloadTango-56678ae530fe45b0880053793ab46f47051e4dc6.tar.gz
Tango-56678ae530fe45b0880053793ab46f47051e4dc6.zip
MS Statistics Job Runs page. Added comments.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/JobRunsViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/JobRunsViewVM.cs59
1 files changed, 45 insertions, 14 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/JobRunsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/JobRunsViewVM.cs
index d57a1c96c..ed52c2352 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/JobRunsViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/JobRunsViewVM.cs
@@ -177,7 +177,7 @@ namespace Tango.MachineStudio.Statistics.ViewModels
private Job _selectedJob;
/// <summary>
- /// Gets or sets the job. Used as Sele
+ /// Gets or sets the job.
/// </summary>
public Job SelectedJob
{
@@ -188,7 +188,10 @@ namespace Tango.MachineStudio.Statistics.ViewModels
RaisePropertyChangedAuto();
}
}
-
+
+ /// <summary>
+ /// Gets or sets the statistics value collection. Class - container included calculated statistic values.
+ /// </summary>
public StatisticsValueCollection StatisticsValueCollection { get; set; }
#endregion
@@ -356,26 +359,37 @@ namespace Tango.MachineStudio.Statistics.ViewModels
}
}
+ #region GenerateS_StatisticsValueCollection
+
+ /// <summary>
+ /// Generates the statistics.
+ /// </summary>
protected void GenerateStatistics()
{
StatisticsValueCollection.Clean();
GenerateTotalRunsLength();
GenerateRunsDuration();
- GenerateUploadDuration();
- GenerateHeatingDuration();
+ GenerateAverageUploadDuration();
+ GenerateAverageHeatingDuration();
GenerateTotalThreadConsumption();
GeneratePieCharts();
CreateThreadConsumptionPerThread();
GenerateAllLiquidQuantities();
}
-
+
+ /// <summary>
+ /// Generates the total length of the job runs.
+ /// </summary>
protected void GenerateTotalRunsLength()
{
double val = JobRuns.Where(z => z.JobRun.EndPosition > 0).Sum(x => x.JobRun.JobLength);
StatisticsValueCollection.AddStatisticsValue("Total Runs Length", val, " m");
}
+ /// <summary>
+ /// Generates the duration and average of the job runs.
+ /// </summary>
protected void GenerateRunsDuration()
{
var selection = JobRuns.Where(z => z.JobRun.EndPosition > 0 && z.JobRun.EndDate != null && z.JobRun.ActualStartDate != null);
@@ -385,26 +399,36 @@ namespace Tango.MachineStudio.Statistics.ViewModels
StatisticsValueCollection.AddStatisticsValue("Average Runs Duration", average, " hours");
}
- protected void GenerateUploadDuration()
+ /// <summary>
+ /// Generates the average upload duration of the job runs.
+ /// </summary>
+ protected void GenerateAverageUploadDuration()
{
- var val = JobRuns.Where(z => z.JobRun.EndPosition > 0 && z.UploadDuration != null).Average(x => x.UploadDuration.Value.Ticks);
- TimeSpan ts = new TimeSpan(Convert.ToInt64(val));
- StatisticsValueCollection.AddStatisticsValue("Average Upload Duration", Math.Max(ts.TotalMinutes, 0), " minutes");
+ var average = JobRuns.Where(z => z.JobRun.EndPosition > 0 && z.UploadDuration != null && z.UploadDuration.Value.Ticks > 0).Average(x => x.UploadDuration.Value.TotalMinutes);
+ StatisticsValueCollection.AddStatisticsValue("Average Upload Duration", Math.Max(average, 0), " minutes");
}
- protected void GenerateHeatingDuration()
+ /// <summary>
+ /// Generates the average duration heating of the job runs.
+ /// </summary>
+ protected void GenerateAverageHeatingDuration()
{
- var val = JobRuns.Where(z => z.JobRun.EndPosition > 0 && z.HeatingDuration != null).Average(x => x.HeatingDuration.Value.Ticks);
- TimeSpan ts = new TimeSpan(Convert.ToInt64(val));
- StatisticsValueCollection.AddStatisticsValue("Average Heating Duration", Math.Max(ts.TotalMinutes, 0), " minutes");
+ var average = JobRuns.Where(z => z.JobRun.EndPosition > 0 && z.HeatingDuration != null && z.HeatingDuration.Value.Ticks > 0).Average(x => x.HeatingDuration.Value.TotalMinutes);
+ StatisticsValueCollection.AddStatisticsValue("Average Heating Duration", Math.Max(average, 0), " minutes");
}
+ /// <summary>
+ /// Generates the total thread consumption by EndPosition.
+ /// </summary>
protected void GenerateTotalThreadConsumption()
{
double val = JobRuns.Where(z => z.JobRun.EndPosition > 0).Sum(x => x.JobRun.EndPosition);
StatisticsValueCollection.AddStatisticsValue("Total Thread Consumption", val, " m");
}
+ /// <summary>
+ /// Generates the pie charts in percentage: JobSource, JobRunStatus, Gradient.
+ /// </summary>
protected void GeneratePieCharts()
{
int PPCCount = JobRuns.Count(x => x.JobRun.Source == JobSource.Local);
@@ -422,6 +446,9 @@ namespace Tango.MachineStudio.Statistics.ViewModels
}
+ /// <summary>
+ /// Creates the thread consumption per thread.
+ /// </summary>
protected void CreateThreadConsumptionPerThread()
{
var temp = JobRuns.Where(z => z.JobRun.EndPosition > 0 && z.Rml != null).GroupBy(x => x.Rml.Name);
@@ -429,6 +456,9 @@ namespace Tango.MachineStudio.Statistics.ViewModels
StatisticsValueCollection.CreateThreadConsumptionPerThread(result);
}
+ /// <summary>
+ /// Generates all liquid quantities.
+ /// </summary>
protected void GenerateAllLiquidQuantities()
{
var db_liquidQuantities = JobRuns.Where(z => z.JobRun.EndPosition > 0 && z.JobRun.LiquidQuantities.Count > 0).Select(y=> y.JobRun.LiquidQuantities).ToList();
@@ -436,13 +466,14 @@ namespace Tango.MachineStudio.Statistics.ViewModels
foreach (LiquidTypes ltype in (LiquidTypes[])Enum.GetValues(typeof(LiquidTypes)))
{
- var liquidQuantityByTypeList = db_liquidQuantities.Select(x => x.SingleOrDefault(y => y.LiquidType == ltype)).Where(x=>x!=null);
+ var liquidQuantityByTypeList = db_liquidQuantities.Select(x => x.FirstOrDefault(y => y.LiquidType == ltype)).Where(x=>x!=null);
var count = liquidQuantityByTypeList != null ? liquidQuantityByTypeList.Sum(x => x.Quantity) : 0;
JobRunLiquidQuantity lq = new JobRunLiquidQuantity() { LiquidType = ltype, Quantity = count };
allLiquidQuantities.Add(lq);
}
StatisticsValueCollection.GenerateStatisticsLiquidQuantity(allLiquidQuantities);
}
+ #endregion
}
}