From c272cdaaa43f7bf2fefcb36bbfe49624fc4a5ff1 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Tue, 20 Nov 2018 13:27:36 +0200 Subject: Added job runs logger to machine studio. --- .../JobRunsLogging/DefaultJobRunsLogger.cs | 110 +++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/JobRunsLogging/DefaultJobRunsLogger.cs (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/JobRunsLogging/DefaultJobRunsLogger.cs') diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/JobRunsLogging/DefaultJobRunsLogger.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/JobRunsLogging/DefaultJobRunsLogger.cs new file mode 100644 index 000000000..fb01e3aa8 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/JobRunsLogging/DefaultJobRunsLogger.cs @@ -0,0 +1,110 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.BL; +using Tango.BL.Entities; +using Tango.BL.Enumerations; +using Tango.Core; +using Tango.Core.DI; +using Tango.Integration.ExternalBridge; +using Tango.Integration.Operation; +using Tango.MachineStudio.Common.StudioApplication; + +namespace Tango.MachineStudio.Common.JobRunsLogging +{ + public class DefaultJobRunsLogger : ExtendedObject, IJobRunsLogger + { + private ObservablesContext _context; + private DateTime _start_date; + private Job _job; + private IStudioApplicationManager applicationManager; + + public void Init(IStudioApplicationManager appManager) + { + applicationManager = appManager; + _context = ObservablesContext.CreateDefault(); + applicationManager.ConnectedMachineChanged += ApplicationManager_ConnectedMachineChanged; + } + + private void ApplicationManager_ConnectedMachineChanged(object sender, IExternalBridgeClient machine) + { + if (machine != null) + { + machine.PrintingStarted -= Machine_PrintingStarted; + machine.PrintingStarted += Machine_PrintingStarted; + machine.PrintingCompleted -= Machine_PrintingCompleted; + machine.PrintingCompleted += Machine_PrintingCompleted; + machine.PrintingAborted -= Machine_PrintingAborted; + machine.PrintingAborted += Machine_PrintingAborted; + machine.PrintingFailed -= Machine_PrintingFailed; + machine.PrintingFailed += Machine_PrintingFailed; + } + } + + private void Machine_PrintingFailed(object sender, PrintingFailedEventArgs e) + { + if (e.Job.Guid == _job.Guid) + { + Task.Factory.StartNew(() => + { + _context.JobRuns.Add(new JobRun() + { + StartDate = _start_date, + EndDate = DateTime.UtcNow, + JobGuid = _job.Guid, + JobRunStatus = JobRunStatus.Failed, + FailedMessage = e.Exception.Message, + }); + + _context.SaveChanges(); + }); + } + } + + private void Machine_PrintingAborted(object sender, PrintingEventArgs e) + { + if (e.Job.Guid == _job.Guid) + { + Task.Factory.StartNew(() => + { + _context.JobRuns.Add(new JobRun() + { + StartDate = _start_date, + EndDate = DateTime.UtcNow, + JobGuid = _job.Guid, + JobRunStatus = JobRunStatus.Aborted, + }); + + _context.SaveChanges(); + }); + } + } + + private void Machine_PrintingCompleted(object sender, PrintingEventArgs e) + { + if (e.Job.Guid == _job.Guid) + { + Task.Factory.StartNew(() => + { + _context.JobRuns.Add(new JobRun() + { + StartDate = _start_date, + EndDate = DateTime.UtcNow, + JobGuid = _job.Guid, + JobRunStatus = JobRunStatus.Completed, + }); + + _context.SaveChanges(); + }); + } + } + + private void Machine_PrintingStarted(object sender, PrintingEventArgs e) + { + _job = e.Job; + _start_date = DateTime.UtcNow; + } + } +} -- cgit v1.3.1 From c1e73344c3b1306582fef137931fcd70edcd6d4b Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Tue, 20 Nov 2018 17:03:15 +0200 Subject: Fixed some issues with machine studio. Started working on statistics module. --- Software/DB/Tango.mdf | Bin 75497472 -> 75497472 bytes Software/DB/Tango_log.ldf | Bin 15400960 -> 15400960 bytes .../Graphics/Machine Studio Modules/statistics.png | Bin 0 -> 235422 bytes .../Views/JobView.xaml | 4 +- .../Views/JobView.xaml.cs | 11 ++ .../Tango.MachineStudio.Statistics/App.config | 61 +++++++++ .../Images/statistics.png | Bin 0 -> 235422 bytes .../Models/LabeledSeriesCollection.cs | 57 ++++++++ .../Properties/AssemblyInfo.cs | 19 +++ .../Properties/Resources.Designer.cs | 62 +++++++++ .../Properties/Resources.resx | 117 ++++++++++++++++ .../Properties/Settings.Designer.cs | 30 +++++ .../Properties/Settings.settings | 7 + .../StatisticsModule.cs | 62 +++++++++ .../Tango.MachineStudio.Statistics.csproj | 150 +++++++++++++++++++++ .../ViewModelLocator.cs | 29 ++++ .../ViewModels/MainViewVM.cs | 87 ++++++++++++ .../Views/MainView.xaml | 32 +++++ .../Views/MainView.xaml.cs | 28 ++++ .../Tango.MachineStudio.Statistics/packages.config | 9 ++ .../JobRunsLogging/DefaultJobRunsLogger.cs | 3 + .../TFS/TeamFoundationServiceExtendedClient.cs | 6 + .../Tango.MachineStudio.UI.csproj | 4 + Software/Visual_Studio/Tango.BL/Entities/JobRun.cs | 30 +++++ .../Visual_Studio/Tango.Core/IO/TemporaryFile.cs | 9 ++ .../Visual_Studio/Tango.Core/IO/TemporaryFolder.cs | 9 ++ .../Visual_Studio/Tango.Core/IO/TemporaryItem.cs | 6 + .../Visual_Studio/Tango.DAL.Remote/DB/JOB_RUNS.cs | 1 + .../Tango.DAL.Remote/DB/RemoteADO.edmx | 3 + .../Tango.DAL.Remote/DB/RemoteADO.edmx.diagram | 150 ++++++++++----------- Software/Visual_Studio/Tango.sln | 55 +++++++- 31 files changed, 958 insertions(+), 83 deletions(-) create mode 100644 Software/Graphics/Machine Studio Modules/statistics.png create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/App.config create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Images/statistics.png create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Models/LabeledSeriesCollection.cs create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Properties/AssemblyInfo.cs create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Properties/Resources.Designer.cs create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Properties/Resources.resx create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Properties/Settings.Designer.cs create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Properties/Settings.settings create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/StatisticsModule.cs create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Tango.MachineStudio.Statistics.csproj create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModelLocator.cs create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/MainViewVM.cs create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/MainView.xaml create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/MainView.xaml.cs create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/packages.config (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/JobRunsLogging/DefaultJobRunsLogger.cs') diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf index 947bb2bdb..dd7e45fd2 100644 Binary files a/Software/DB/Tango.mdf and b/Software/DB/Tango.mdf differ diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf index c0f243190..7fae29a6a 100644 Binary files a/Software/DB/Tango_log.ldf and b/Software/DB/Tango_log.ldf differ diff --git a/Software/Graphics/Machine Studio Modules/statistics.png b/Software/Graphics/Machine Studio Modules/statistics.png new file mode 100644 index 000000000..a43b585e4 Binary files /dev/null and b/Software/Graphics/Machine Studio Modules/statistics.png differ diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml index 884f60875..9151cbaa0 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml @@ -311,7 +311,7 @@ - +