aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-12-18 09:02:04 +0200
committerShlomo Hecht <shlomo@twine-s.com>2019-12-18 09:02:04 +0200
commita61a911d1ebde107ba7bf210af7e753e692d93e2 (patch)
tree95355ea06f74b4a6a685e7fd2b1510b9d72c3d51 /Software/Visual_Studio/MachineStudio
parent1b92f30f6dfa27392ffd8460ebeb17c17550db7b (diff)
parent615bc666c8d0618d93bc4401a74928535c2cc7f6 (diff)
downloadTango-a61a911d1ebde107ba7bf210af7e753e692d93e2.tar.gz
Tango-a61a911d1ebde107ba7bf210af7e753e692d93e2.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/MachineStudio')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs16
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs3
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineUpdateDetailsDialog.xaml3
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineUpdatesView.xaml3
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs3
5 files changed, 26 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 4f517165b..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...");
@@ -1920,6 +1927,10 @@ namespace Tango.MachineStudio.Developer.ViewModels
ActiveJob.MarkModified(_activeJobDbContext);
_activeJobDbContext.SaveChanges();
+ 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();
@@ -2211,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;
@@ -2603,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);
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs
index c1f87b3bb..e1e9ee561 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs
@@ -19,6 +19,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
private INotificationProvider _notification;
private ObservablesContext _context;
+ private const int MAX_UPDATE_ITEMS = 100;
#region Properties
@@ -114,7 +115,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
_context = context;
Machine = machine;
- Updates = (await new TangoUpdatesCollectionBuilder(context).Set(x => x.MachineGuid == machine.Guid).BuildAsync()).OrderByDescending(x => x.StartDate).ToList();
+ Updates = (await new TangoUpdatesCollectionBuilder(context).Set(x => x.MachineGuid == machine.Guid).Query(x => x.OrderByDescending(y => y.StartDate).Take(MAX_UPDATE_ITEMS)).BuildAsync()).ToList();
UpdatesView = CollectionViewSource.GetDefaultView(Updates);
UpdatesView.Filter = UpdatesFilter;
OnFilterChanged();
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineUpdateDetailsDialog.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineUpdateDetailsDialog.xaml
index 804ee456c..1e7b03fed 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineUpdateDetailsDialog.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineUpdateDetailsDialog.xaml
@@ -43,6 +43,9 @@
<DataTrigger Binding="{Binding IsSynchronization}" Value="True">
<Setter Property="Kind" Value="Sync"></Setter>
</DataTrigger>
+ <DataTrigger Binding="{Binding IsOfflineUpdate}" Value="True">
+ <Setter Property="Kind" Value="Sd"></Setter>
+ </DataTrigger>
<DataTrigger Binding="{Binding IsStarted}" Value="True">
<Setter Property="Foreground" Value="{StaticResource OrangeBrush}"></Setter>
</DataTrigger>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineUpdatesView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineUpdatesView.xaml
index 8d1ff8ec8..65a5a569f 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineUpdatesView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineUpdatesView.xaml
@@ -74,6 +74,9 @@
<DataTrigger Binding="{Binding IsSynchronization}" Value="True">
<Setter Property="Kind" Value="Sync"></Setter>
</DataTrigger>
+ <DataTrigger Binding="{Binding IsOfflineUpdate}" Value="True">
+ <Setter Property="Kind" Value="Sd"></Setter>
+ </DataTrigger>
<DataTrigger Binding="{Binding IsStarted}" Value="True">
<Setter Property="Foreground" Value="{StaticResource OrangeBrush}"></Setter>
</DataTrigger>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
index 25843d1c3..a61f14746 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
@@ -1,6 +1,7 @@
using System;
using System.Linq;
using System.Windows;
+using Tango.BL.ActionLogs;
using Tango.Core.DI;
using Tango.Integration.ExternalBridge;
using Tango.Logging;
@@ -70,6 +71,7 @@ namespace Tango.MachineStudio.UI
TangoIOC.Default.Unregister<IDispatcherProvider>();
TangoIOC.Default.Unregister<IFirmwareUpgrader>();
TangoIOC.Default.Unregister<MachineStudioWebClient>();
+ TangoIOC.Default.Unregister<IActionLogManager>();
@@ -93,6 +95,7 @@ namespace Tango.MachineStudio.UI
TangoIOC.Default.Register<IEventLogger, DefaultEventLogger>();
TangoIOC.Default.Register<ISpeechProvider, DefaultSpeechProvider>();
TangoIOC.Default.Register<IFirmwareUpgrader, DefaultFirmwareUpgrader>();
+ TangoIOC.Default.Register<IActionLogManager, DefaultActionLogManager>(new DefaultActionLogManager() { ThrowExceptions = false });
TangoIOC.Default.Register<TeamFoundationServiceExtendedClient>(new TeamFoundationServiceExtendedClient("https://twinetfs.visualstudio.com", String.Empty, "szzfokrceo4rhd4eqi5qpmxn3pa5iwl3q7tlqd36l2m7smz2ynoa"));