aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels
diff options
context:
space:
mode:
authorVictoria Plitt <Victoria.Plitt@twine-s.com>2020-06-01 10:02:13 +0300
committerVictoria Plitt <Victoria.Plitt@twine-s.com>2020-06-01 10:02:13 +0300
commit0008603819e92278101b84254fce4755a4386538 (patch)
tree4f6e2e77e188bfa956ecec96fb51a8e009858f90 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels
parente295a73a694baf0877cc1c69dcd3aceb85d46e59 (diff)
downloadTango-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.cs75
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();