aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs19
1 files changed, 17 insertions, 2 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 63cfa10b8..d598e2458 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
@@ -50,6 +50,9 @@ using Tango.Core.ExtensionMethods;
using Tango.ColorConversion;
using Tango.PMR.Exports;
using Microsoft.WindowsAPICodePack.Dialogs;
+using Tango.BL.Enumerations;
+using Tango.BL.DTO;
+using Tango.BL.ActionLogs;
namespace Tango.MachineStudio.Developer.ViewModels
{
@@ -85,6 +88,8 @@ namespace Tango.MachineStudio.Developer.ViewModels
private TaskItem _preparingTaskItem;
private IColorConverter _converter;
private string _current_job_string;
+ private JobDTO _beforeSaveJobDTO;
+ private IActionLogManager _actionLogManager;
#region Properties
@@ -747,7 +752,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
/// </summary>
/// <param name="applicationManager">The application manager.</param>
/// <param name="notificationProvider">The notification provider.</param>
- public MainViewVM(IStudioApplicationManager applicationManager, INotificationProvider notificationProvider, IDiagnosticsFrameProvider diagnosticsFrameProvider, IVideoCaptureProvider videoCaptureProvider, DeveloperNavigationManager navigation, INavigationManager navigationManager, IAuthenticationProvider authentication, IEventLogger eventLogger, ISpeechProvider speech)
+ public MainViewVM(IStudioApplicationManager applicationManager, INotificationProvider notificationProvider, IDiagnosticsFrameProvider diagnosticsFrameProvider, IVideoCaptureProvider videoCaptureProvider, DeveloperNavigationManager navigation, INavigationManager navigationManager, IAuthenticationProvider authentication, IEventLogger eventLogger, ISpeechProvider speech, IActionLogManager actionLogManager)
{
_converter = new DefaultColorConverter();
@@ -756,6 +761,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
AuthenticationProvider = authentication;
+ _actionLogManager = actionLogManager;
_notification = notificationProvider;
_speech = speech;
_navigation = navigation;
@@ -1847,6 +1853,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
//_activeJobDbContext.IdsPacks.Where(x => x.ConfigurationGuid == ActiveJob.Machine.ConfigurationGuid).ToList();
+ _beforeSaveJobDTO = JobDTO.FromObservable(ActiveJob);
LogManager.Log("Setting selected segment...");
@@ -1914,12 +1921,17 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
LogManager.Log(String.Format("Saving the active job {0}...", ActiveJob.Name));
ActiveJob.LastUpdated = DateTime.UtcNow;
+ ActiveJob.IsSynchronized = false;
ActiveJob.Rml = SelectedRML;
ActiveJob.EstimatedDurationMili = (int)EstimatedDuration.TotalMilliseconds;
+ ActiveJob.MarkModified(_activeJobDbContext);
_activeJobDbContext.SaveChanges();
- _machineDbContext.Entry(SelectedMachineJob).Reload();
+ var afterJobDTO = JobDTO.FromObservable(ActiveJob);
+ _actionLogManager.InsertLog(ActionLogType.JobSaved, AuthenticationProvider.CurrentUser, _beforeSaveJobDTO.Name, _beforeSaveJobDTO, afterJobDTO, "Job saved from research module in Machine Studio.").GetAwaiter().GetResult();
+ _beforeSaveJobDTO = afterJobDTO;
+ _machineDbContext.Entry(SelectedMachineJob).Reload();
_machineDbContext.Entry(SelectedMachineJob).Collection(x => x.Segments).Load();
@@ -2210,6 +2222,8 @@ namespace Tango.MachineStudio.Developer.ViewModels
var settings = SettingsManager.Default.GetOrCreate<DeveloperModuleSettings>();
Job newJob = new Job();
+ newJob.LastUpdated = DateTime.UtcNow;
+ newJob.JobSource = JobSource.Remote;
newJob.Name = jobName;
newJob.CreationDate = DateTime.UtcNow;
newJob.UserGuid = AuthenticationProvider.CurrentUser.Guid;
@@ -2602,6 +2616,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
var bytes = File.ReadAllBytes(file);
var jobFile = JobFile.Parser.ParseFrom(bytes);
var job = await Job.FromJobFile(jobFile, SelectedMachine.Guid, AuthenticationProvider.CurrentUser.Guid);
+ job.JobSource = JobSource.Remote;
_machineDbContext.Jobs.Add(job);
}