aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2019-12-10 00:39:06 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2019-12-10 00:39:06 +0200
commit3f069bb4a5303b2c732ba1263229f62526acc693 (patch)
tree9426ff213bf43e8ed80f3c5265518a98d33cc63f /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels
parentd5827e26ff5ee1b0532530bce4da3533f71a63dd (diff)
downloadTango-3f069bb4a5303b2c732ba1263229f62526acc693.tar.gz
Tango-3f069bb4a5303b2c732ba1263229f62526acc693.zip
Refactored Object mapping extension methods !
Removed FK from JOB_RUNS => JOBS Added MACHINE_GUID to JOB_RUNS Refactored MS Statistics module for the new changes.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/MainViewVM.cs23
1 files changed, 12 insertions, 11 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/MainViewVM.cs
index ef9561d0b..dfbfe2648 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/MainViewVM.cs
@@ -7,20 +7,20 @@ using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using Tango.BL;
-using Tango.BL.Entities;
using Tango.BL.Enumerations;
using Tango.Core.Helpers;
using Tango.MachineStudio.Common;
using Tango.MachineStudio.Statistics.Models;
using System.Data.Entity;
using Tango.MachineStudio.Common.Notifications;
+using Tango.BL.Entities;
namespace Tango.MachineStudio.Statistics.ViewModels
{
public class MainViewVM : StudioViewModel
{
private ObservablesContext _context;
- private List<JobRun> _job_runs;
+ private List<JobRunModel> _job_runs;
private bool rendered;
private INotificationProvider _notification;
private bool _loaded;
@@ -74,7 +74,6 @@ namespace Tango.MachineStudio.Statistics.ViewModels
set { _maxDate = value; RaisePropertyChangedAuto(); }
}
-
public MainViewVM(INotificationProvider notificationProvider)
{
_notification = notificationProvider;
@@ -88,12 +87,12 @@ namespace Tango.MachineStudio.Statistics.ViewModels
}
- private List<JobRun> GetJobRunsByDateRange(DateTime startDate, DateTime endTime, JobRunStatus? status = null)
+ private List<JobRunModel> GetJobRunsByDateRange(DateTime startDate, DateTime endTime, JobRunStatus? status = null)
{
return _job_runs.Where(x => x.StartDate.ToLocalTime() >= startDate && x.StartDate.ToLocalTime() <= endTime && (status == null || x.JobRunStatus == status)).ToList();
}
- private List<JobRun> GetJobRunsByDate(DateTime date, JobRunStatus? status = null)
+ private List<JobRunModel> GetJobRunsByDate(DateTime date, JobRunStatus? status = null)
{
return _job_runs.Where(x => x.StartDate.ToLocalTime().Date == date.Date && (status == null || x.JobRunStatus == status)).ToList();
}
@@ -106,8 +105,6 @@ namespace Tango.MachineStudio.Statistics.ViewModels
}
}
-
-
public override async void OnNavigatedTo()
{
base.OnNavigatedTo();
@@ -124,7 +121,11 @@ namespace Tango.MachineStudio.Statistics.ViewModels
await Task.Factory.StartNew(() =>
{
_context = ObservablesContext.CreateDefault();
- _job_runs = _context.JobRuns.Include(x => x.Job).Include(x => x.Job.Machine).OrderBy(x => x.StartDate).ToList();
+ _job_runs = _context.JobRuns.OrderBy(x => x.StartDate).ToList().Select(x => new JobRunModel(x)).ToList();
+ foreach (var run in _job_runs)
+ {
+ run.LoadMachine(_context).GetAwaiter().GetResult();
+ }
});
if (_job_runs.Count > 0)
@@ -282,12 +283,12 @@ namespace Tango.MachineStudio.Statistics.ViewModels
private void GeneratePrintPerWeekChart()
{
- List<JobRun> range_job_runs = GetJobRunsByDateRange(StartDate, EndDate);
+ List<JobRunModel> range_job_runs = GetJobRunsByDateRange(StartDate, EndDate);
Dictionary<Machine, List<double>> weeks_print_avg = new Dictionary<Machine, List<double>>();
//Init machines weeks averages dictionary.
- foreach (var machine in range_job_runs.Select(x => x.Job.Machine).OrderBy(x => x.Name).DistinctBy(x => x.Guid))
+ foreach (var machine in range_job_runs.Select(x => x.Machine).OrderBy(x => x.Name).DistinctBy(x => x.Guid))
{
weeks_print_avg[machine] = new List<double>();
}
@@ -305,7 +306,7 @@ namespace Tango.MachineStudio.Statistics.ViewModels
{
var week_job_runs = range_job_runs.Where(x => x.EndPosition > 10 && x.StartDate >= current_sunday && x.StartDate <= current_sunday.AddDays(7)).ToList();
- foreach (var machine_job_runs in week_job_runs.GroupBy(x => x.Job.Machine))
+ foreach (var machine_job_runs in week_job_runs.GroupBy(x => x.Machine))
{
weeks_print_avg[machine_job_runs.Key].Add(machine_job_runs.Select(x => x.EndPosition).Average());
}