diff options
| author | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2020-06-01 10:02:13 +0300 |
|---|---|---|
| committer | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2020-06-01 10:02:13 +0300 |
| commit | 0008603819e92278101b84254fce4755a4386538 (patch) | |
| tree | 4f6e2e77e188bfa956ecec96fb51a8e009858f90 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels | |
| parent | e295a73a694baf0877cc1c69dcd3aceb85d46e59 (diff) | |
| download | Tango-0008603819e92278101b84254fce4755a4386538.tar.gz Tango-0008603819e92278101b84254fce4755a4386538.zip | |
Statistic Charts page. Added validation rule to check start date less or equals to end date and enable/disable 'Analyze' button according to validation.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels')
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/ChartsViewVM.cs | 75 |
1 files changed, 13 insertions, 62 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/ChartsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/ChartsViewVM.cs index 38c1cc24a..a98257086 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/ChartsViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/ChartsViewVM.cs @@ -49,30 +49,16 @@ namespace Tango.MachineStudio.Statistics.ViewModels public DateTime StartDate { get { return _startDate; } - set { _startDate = value; RaisePropertyChangedAuto();} + set { _startDate = value; RaisePropertyChangedAuto(); RaisePropertyChanged("EndDate"); } } private DateTime _endDate; public DateTime EndDate { get { return _endDate; } - set { _endDate = value; RaisePropertyChangedAuto();} + set { _endDate = value; RaisePropertyChangedAuto(); RaisePropertyChanged("StartDate"); } } - - private DateTime _minDate; - public DateTime MinDate - { - get { return _minDate; } - set { _minDate = value; RaisePropertyChangedAuto(); } - } - - private DateTime _maxDate; - public DateTime MaxDate - { - get { return _maxDate; } - set { _maxDate = value; RaisePropertyChangedAuto(); } - } - + public RelayCommand LoadJobRunsCommand { get; set; } #endregion @@ -85,41 +71,7 @@ namespace Tango.MachineStudio.Statistics.ViewModels } #region Generate Charts - - //public async void Init() - //{ - //using (_notification.PushTaskItem("Loading statistics...")) - //{ - // IsFree = false; - - // await Task.Factory.StartNew(() => - // { - // _context = ObservablesContext.CreateDefault(); - // //_job_runs = _context.JobRuns.OrderBy(x => x.StartDate).ToList().Select(x => new JobRunStatisticsModel(x)).ToList(); - // //foreach (var run in _job_runs) - // //{ - // // run.LoadMachine(_context).GetAwaiter().GetResult(); - // //} - // }); - - // if (_job_runs.Count > 0) - // { - // MinDate = _job_runs.Min(x => x.StartDate); - // MaxDate = _job_runs.Max(x => x.StartDate); - // } - - // InvokeUIOnIdle(() => - // { - // if (_loaded) - // { - // OnDateRangeChanged(); - // } - // }); - - // _loaded = true; - // IsFree = true; - //} - //} + private async Task LoadJobRuns() { using (_notification.PushTaskItem("Loading statistics...")) @@ -127,25 +79,24 @@ namespace Tango.MachineStudio.Statistics.ViewModels try { IsFree = false; - + await Task.Factory.StartNew(() => { using (var db = ObservablesContext.CreateDefault()) { - _job_runs = db.JobRuns.OrderBy(x => x.StartDate).ToList().Select(x => new JobRunStatisticsModel(x)).ToList(); + DateTime startUtc = new DateTime(StartDate.Year, StartDate.Month, StartDate.Day, 0, 0, 0).ToUniversalTime(); + TimeSpan offsetTime = (EndDate.Date == DateTime.Now.Date) ? DateTime.Now.TimeOfDay : new TimeSpan(23, 59, 59); + DateTime endUtc = EndDate.ToUniversalTime() + offsetTime; + + _job_runs = db.JobRuns.Where(x => (x.StartDate <= endUtc && x.StartDate >= startUtc)).OrderBy(x => x.StartDate).ToList().Select(x => new JobRunStatisticsModel(x)).ToList(); + foreach (var run in _job_runs) { run.LoadMachine(db).GetAwaiter().GetResult(); } - } }); - if (_job_runs.Count > 0) - { - MinDate = _job_runs.Min(x => x.StartDate); - MaxDate = _job_runs.Max(x => x.StartDate); - } - + InvokeUIOnIdle(() => { if (_loaded) @@ -400,7 +351,7 @@ namespace Tango.MachineStudio.Statistics.ViewModels #region Filter by Date public void OnDateRangeChanged() { - if (_job_runs != null && _job_runs.Count > 0)// && _loaded) + if (_job_runs != null)// && _job_runs.Count > 0)// && _loaded) { GenerateTimelineJobStatusChart(); GeneratePieFailedReasonsChart(); |
