aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-03-01 12:01:46 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-03-01 12:01:46 +0200
commit93e915dd3fc06ae20b29aa927966676b9f8b7c5a (patch)
treef5c5d5e47513e474c68f295c6abd18f3d18a9c6b /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer
parent9823b433c62ed173671923c32ccccadc1d06c0bd (diff)
downloadTango-93e915dd3fc06ae20b29aa927966676b9f8b7c5a.tar.gz
Tango-93e915dd3fc06ae20b29aa927966676b9f8b7c5a.zip
Lots of work !
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs94
1 files changed, 52 insertions, 42 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
index 58d8de558..99d275744 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
@@ -917,58 +917,68 @@ namespace Tango.MachineStudio.Developer.ViewModels
_navigation.NavigateTo(DeveloperNavigationView.RunningJobView);
- LogManager.Log("Sending job to machine operator...");
- _jobHandler = MachineOperator.Print(ActiveJob, SelectedProcessParametersTable);
-
- _jobHandler.StatusReceived += (x, status) =>
+ try
{
- RunningJobRemainingTime = _runningJobEstimatedDuration - TimeSpan.FromSeconds(RunningJobProgress / (SelectedProcessParametersTable.DyeingSpeed / 100d));
- RunningJobProgress = status.Progress;
+ LogManager.Log("Sending job to machine operator...");
+
+ _jobHandler = MachineOperator.Print(ActiveJob, SelectedProcessParametersTable);
- foreach (var segment in RunningJobSegments)
+ _jobHandler.StatusReceived += (x, status) =>
{
- var previousSegmentsWithThis = RunningJobSegments.Where(s => RunningJobSegments.IndexOf(s) <= RunningJobSegments.IndexOf(segment)).ToList();
- var segmentsDuration = TimeSpan.FromSeconds(previousSegmentsWithThis.Sum(s => s.Length) / (SelectedProcessParametersTable.DyeingSpeed / 100d));
- var segmentDuration = TimeSpan.FromSeconds(segment.Length / (SelectedProcessParametersTable.DyeingSpeed / 100d));
- TimeSpan remaining = segmentsDuration - TimeSpan.FromSeconds(RunningJobProgress / (SelectedProcessParametersTable.DyeingSpeed / 100d));
- if (remaining >= TimeSpan.Zero)
- {
- segment.RemainingTime = remaining;
- }
- if (remaining < segmentDuration)
- {
- segment.Started = true;
- }
- if (remaining <= TimeSpan.Zero)
+ RunningJobRemainingTime = _runningJobEstimatedDuration - TimeSpan.FromSeconds(RunningJobProgress / (SelectedProcessParametersTable.DyeingSpeed / 100d));
+ RunningJobProgress = status.Progress;
+
+ foreach (var segment in RunningJobSegments)
{
- segment.Completed = true;
- segment.Started = false;
+ var previousSegmentsWithThis = RunningJobSegments.Where(s => RunningJobSegments.IndexOf(s) <= RunningJobSegments.IndexOf(segment)).ToList();
+ var segmentsDuration = TimeSpan.FromSeconds(previousSegmentsWithThis.Sum(s => s.Length) / (SelectedProcessParametersTable.DyeingSpeed / 100d));
+ var segmentDuration = TimeSpan.FromSeconds(segment.Length / (SelectedProcessParametersTable.DyeingSpeed / 100d));
+ TimeSpan remaining = segmentsDuration - TimeSpan.FromSeconds(RunningJobProgress / (SelectedProcessParametersTable.DyeingSpeed / 100d));
+ if (remaining >= TimeSpan.Zero)
+ {
+ segment.RemainingTime = remaining;
+ }
+ if (remaining < segmentDuration)
+ {
+ segment.Started = true;
+ }
+ if (remaining <= TimeSpan.Zero)
+ {
+ segment.Completed = true;
+ segment.Started = false;
+ }
}
- }
- };
-
- _jobHandler.Failed += (x, ex) =>
- {
- LogManager.Log(ex, String.Format("Job {0} has failed.", RunningJob.Name));
- SetJobFailed();
+ };
- InvokeUI(() =>
+ _jobHandler.Failed += (x, ex) =>
{
- _notification.ShowError("Job failed. " + ex.Message);
- });
- };
+ LogManager.Log(ex, String.Format("Job {0} has failed.", RunningJob.Name));
+ SetJobFailed();
- _jobHandler.Completed += (x, e) =>
- {
- LogManager.Log(String.Format("Job {0} has completed.", RunningJob.Name));
- SetJobCompleted();
- };
+ InvokeUI(() =>
+ {
+ _notification.ShowError("Job failed. " + ex.Message);
+ });
+ };
- _jobHandler.Canceled += (x, y) =>
+ _jobHandler.Completed += (x, e) =>
+ {
+ LogManager.Log(String.Format("Job {0} has completed.", RunningJob.Name));
+ SetJobCompleted();
+ };
+
+ _jobHandler.Canceled += (x, y) =>
+ {
+ LogManager.Log(String.Format("Job {0} has been canceled.", RunningJob.Name));
+ //Finally Canceled..
+ };
+ }
+ catch (Exception ex)
{
- LogManager.Log(String.Format("Job {0} has been canceled.", RunningJob.Name));
- //Finally Canceled..
- };
+ LogManager.Log(ex);
+ _notification.ShowError("An error occurred while starting the job. " + Environment.NewLine + ex.Message);
+ SetJobFailed();
+ }
}
/// <summary>