aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2018-08-26 10:55:44 +0300
committerShlomo Hecht <shlomo@twine-s.com>2018-08-26 10:55:44 +0300
commit6e2fbaffeec9d6e3518ea9706eea107a4f1b348c (patch)
treef50b3d8962dd37188061f8f52c1a7aeff1642232 /Software/Visual_Studio/MachineStudio
parentdb3dc558ec5fe5f3584081795865cd22f912da7d (diff)
parente6704dce7a2b7f6d5f9bbf1b8374cc7f00ea061e (diff)
downloadTango-6e2fbaffeec9d6e3518ea9706eea107a4f1b348c.tar.gz
Tango-6e2fbaffeec9d6e3518ea9706eea107a4f1b348c.zip
merge
Diffstat (limited to 'Software/Visual_Studio/MachineStudio')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Tango.MachineStudio.ColorLab.csproj2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/MainViewVM.cs131
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Views/MainView.xaml6
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Tango.MachineStudio.DB.csproj2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MainViewVM.cs77
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/MainDBView.xaml14
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/Tango.MachineStudio.DataCapture.csproj11
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/app.config14
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/packages.config1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Navigation/DeveloperNavigationManager.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj14
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModelLocator.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs470
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml6
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MachineJobSelectionView.xaml271
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/app.config4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs755
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml78
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/App.config4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Tango.MachineStudio.Logging.csproj2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/EventsViewVM.cs74
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/AutoComplete/MachineVersionsProvider.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/AutoComplete/MachinesProvider.cs29
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj16
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineVersionDialogVM.cs4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs268
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineView.xaml1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml9
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config14
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/packages.config1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Tango.MachineStudio.Stubs.csproj11
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs7
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/app.config10
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/packages.config1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Tango.MachineStudio.Synchronization.csproj2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/BlowerElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/BreakSensorElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ControllerElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DancerElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DigitalInElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DigitalOutElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/JobRunnerElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MeterElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MonitorElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorGroupElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MultiGraphElementEditor.xaml17
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/PidElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ProcessParametersElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/SingleGraphElementEditor.xaml17
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/SpeedSensorElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ThreadMotionElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/WinderElementEditor.xaml19
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/JobRunnerTemplate.xaml4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/ProcessParametersTemplate.xaml2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Tango.MachineStudio.Technician.csproj11
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/BlowerItem.cs3
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/BreakSensorItem.cs3
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DancerItem.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/JobRunnerItem.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorGroupItem.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorItem.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/PidItem.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/ProcessParametersItem.cs18
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/SpeedSensorItem.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItem.cs4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/WinderItem.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs159
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Views/MachineTechView.xaml.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/app.config10
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/packages.config1
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Tango.MachineStudio.UsersAndRoles.csproj2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs50
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/AutoComplete/MachinesProvider.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/LoadingPanel.cs37
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging/DefaultEventLogger.cs1
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/IStudioViewModel.cs22
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Modules/IStudioModuleLoader.cs5
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationBlocker.cs28
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationManager.cs98
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationObjectReceiver.cs21
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationResultProvider.cs28
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/MaterialDesign.xaml1
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioApplication/IStudioApplicationManager.cs12
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioViewModel.cs175
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj15
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Themes/Generic.xaml31
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Threading/IDispatcherProvider.cs26
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/app.config4
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Installer/Tango.MachineStudio.Installer.vdproj5204
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Publisher/App.config8
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Publisher/Tango.MachineStudio.Publisher.csproj2
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.config12
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs15
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Authentication/DefaultAuthenticationProvider.cs43
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml2
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs25
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Navigation/DefaultNavigationManager.cs369
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs47
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj10
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Threading/DefaultDispatcherProvider.cs46
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs6
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs9
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs41
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineSerialViewVM.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs38
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/UpdateViewVM.cs4
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoginView.xaml43
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml3
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml.cs14
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ResolvedIssuesView.xaml18
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/Tango.MachineStudio.UpdateService.csproj2
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/Web.config9
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/MainWindow.xaml.cs39
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/Properties/AssemblyInfo.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/Tango.MachineStudio.Updater.csproj2
133 files changed, 3815 insertions, 5692 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Properties/AssemblyInfo.cs
index bda64c925..77d9cc0d8 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio Color Lab Module")]
-[assembly: AssemblyVersion("2.0.8.1633")]
+[assembly: AssemblyVersion("2.0.10.1159")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Tango.MachineStudio.ColorLab.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Tango.MachineStudio.ColorLab.csproj
index a0d471522..7e8a9e126 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Tango.MachineStudio.ColorLab.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Tango.MachineStudio.ColorLab.csproj
@@ -8,7 +8,7 @@
<OutputType>library</OutputType>
<RootNamespace>Tango.MachineStudio.ColorLab</RootNamespace>
<AssemblyName>Tango.MachineStudio.ColorLab</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/MainViewVM.cs
index 5b317e6d2..02f496b1f 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/MainViewVM.cs
@@ -25,7 +25,7 @@ using Tango.SharedUI.Controls;
namespace Tango.MachineStudio.ColorLab.ViewModels
{
- public class MainViewVM : StudioViewModel<ColorLabModule>
+ public class MainViewVM : StudioViewModel
{
private ObservablesContext _dbContext;
private INotificationProvider _notification;
@@ -239,34 +239,57 @@ namespace Tango.MachineStudio.ColorLab.ViewModels
#endregion
+ #region Constructors
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="MainViewVM"/> class.
+ /// </summary>
+ /// <param name="notification">The notification.</param>
public MainViewVM(INotificationProvider notification) : base()
{
_notification = notification;
- _dbContext = ObservablesContext.CreateDefault();
-
CCT = new Cct();
SourceColor = new RgbVM();
SourceColor.ColorChanged += SourceColor_ColorChanged;
- Machines = _dbContext.Machines.ToObservableCollection();
- ColorSpaces = _dbContext.ColorSpaces.ToObservableCollection();
- Rmls = _dbContext.Rmls.ToObservableCollection();
- ImportForwardDataCommand = new RelayCommand(ImportForwardData, () => SelectedRML != null);
- ImportInverseDataCommand = new RelayCommand(ImportInverseData, () => SelectedRML != null);
+ ImportForwardDataCommand = new RelayCommand(ImportForwardData, () => SelectedRML != null && IsFree);
+ ImportInverseDataCommand = new RelayCommand(ImportInverseData, () => SelectedRML != null && IsFree);
- ExportForwardDataCommand = new RelayCommand(ExportForwardData, () => SelectedRML != null && CCT != null && CCT.ForwardFileName != null);
- ExportInverseDataCommand = new RelayCommand(ExportInverseData, () => SelectedRML != null && CCT != null && CCT.InverseFileName != null);
+ ExportForwardDataCommand = new RelayCommand(ExportForwardData, () => SelectedRML != null && CCT != null && CCT.ForwardFileName != null && IsFree);
+ ExportInverseDataCommand = new RelayCommand(ExportInverseData, () => SelectedRML != null && CCT != null && CCT.InverseFileName != null && IsFree);
- SaveCommand = new RelayCommand(Save, () => SelectedRML != null);
+ SaveCommand = new RelayCommand(Save, () => SelectedRML != null && IsFree);
}
+ #endregion
+
+ #region Event Handlers
+
private void SourceColor_ColorChanged(object sender, Color e)
{
GetHiveSuggestions();
}
+ #endregion
+
+ #region Application Ready
+
+ public override void OnApplicationReady()
+ {
+ Task.Factory.StartNew(() =>
+ {
+ _dbContext = ObservablesContext.CreateDefault();
+
+ Machines = _dbContext.Machines.ToObservableCollection();
+ ColorSpaces = _dbContext.ColorSpaces.ToObservableCollection();
+ Rmls = _dbContext.Rmls.ToObservableCollection();
+ });
+ }
+
+ #endregion
+
#region ColorLab
private void GetHiveSuggestions()
@@ -417,6 +440,10 @@ namespace Tango.MachineStudio.ColorLab.ViewModels
{
if (SelectedMachine != null)
{
+ IsFree = false;
+
+ _dbContext.Adapter.GetConfiguration(x => x.Guid == SelectedMachine.ConfigurationGuid);
+
LiquidVolumes = SelectedMachine.Configuration.NoneEmptyIdsPacks.OrderBy(x => x.PackIndex).Select(x => new LiquidVolumeVM()
{
Color = x.LiquidType.Color,
@@ -424,12 +451,17 @@ namespace Tango.MachineStudio.ColorLab.ViewModels
IdsPack = x,
}).ToObservableCollection();
+
+ LiquidVolumes.EnableCrossThreadOperations();
+
LiquidVolumes.ToList().ForEach(x => x.VolumeChanged += (s, e) => OnLiquidVolumeChanged());
InvalidateLiquidFactorsCalibrationData();
SelectedMachine.Modified -= SelectedMachine_Modified;
SelectedMachine.Modified += SelectedMachine_Modified;
+
+ IsFree = true;
}
}
@@ -515,42 +547,61 @@ namespace Tango.MachineStudio.ColorLab.ViewModels
#region RML
- private void InvalidateLiquidFactorsCalibrationData()
+ private async void InvalidateLiquidFactorsCalibrationData()
{
if (SelectedRML != null && SelectedMachine != null)
{
- LiquidTypesRmls = SelectedMachine.Configuration.NoneEmptyIdsPacks.OrderBy(x => x.PackIndex).Select(x => x.LiquidType).SelectMany(x => x.LiquidTypesRmls).Where(x => x.Rml.Guid == SelectedRML.Guid).ToList();
- //RmlProcessParametersTableGroup = SelectedRML.ProcessParametersTablesGroups.ToList().SingleOrDefault(x => x.Active);
-
- LiquidsCalibrationData = new ObservableCollection<CalibrationDataVM>();
+ IsFree = false;
- foreach (var idsPack in SelectedMachine.Configuration.NoneEmptyIdsPacks.OrderBy(x => x.PackIndex))
+ await Task.Factory.StartNew(() =>
{
- CalibrationDataVM vm = new CalibrationDataVM();
- vm.Name = idsPack.LiquidType.Name;
- vm.Color = idsPack.LiquidType.Color;
- vm.IdsPack = idsPack;
+ using (_notification.PushTaskItem("Loading RML data..."))
+ {
+ _dbContext.Adapter.GetConfiguration(x => x.Guid == SelectedMachine.ConfigurationGuid);
+ _dbContext.Adapter.GetRmlCCTs(SelectedRML.Guid);
+ _dbContext.Adapter.GetRmlCATs(SelectedRML.Guid, SelectedMachine.Guid);
+ _dbContext.Adapter.GetRmlLiquidTypes(SelectedRML.Guid);
- var cat = idsPack.LiquidType.Cats.FirstOrDefault(x => x.Machine == SelectedMachine && x.Rml == SelectedRML);
+ LiquidTypesRmls = SelectedMachine.Configuration.NoneEmptyIdsPacks.OrderBy(x => x.PackIndex).Select(x => x.LiquidType).SelectMany(x => x.LiquidTypesRmls).Where(x => x.Rml.Guid == SelectedRML.Guid).ToList();
+ //RmlProcessParametersTableGroup = SelectedRML.ProcessParametersTablesGroups.ToList().SingleOrDefault(x => x.Active);
- if (cat != null)
- {
- var calData = cat.GetCalibrationData();
- vm.CalibrationPoints = calData.CalibrationPoints.Select(x => new CalibrationDataPointVM(x.X, x.Y)).ToObservableCollection();
- }
+ LiquidsCalibrationData = new ObservableCollection<CalibrationDataVM>();
+ LiquidsCalibrationData.EnableCrossThreadOperations();
- LiquidsCalibrationData.Add(vm);
- }
+ foreach (var idsPack in SelectedMachine.Configuration.NoneEmptyIdsPacks.OrderBy(x => x.PackIndex))
+ {
+ CalibrationDataVM vm = new CalibrationDataVM();
+ vm.Name = idsPack.LiquidType.Name;
+ vm.Color = idsPack.LiquidType.Color;
+ vm.IdsPack = idsPack;
- _isNewCCT = false;
- CCT = SelectedRML.Ccts.FirstOrDefault();
+ var cat = idsPack.LiquidType.Cats.FirstOrDefault(x => x.Machine == SelectedMachine && x.Rml == SelectedRML);
- if (CCT == null)
- {
- CCT = new Cct();
- CCT.Rml = SelectedRML;
- _isNewCCT = true;
- }
+ if (cat != null)
+ {
+ var calData = cat.GetCalibrationData();
+ vm.CalibrationPoints = calData.CalibrationPoints.Select(x => new CalibrationDataPointVM(x.X, x.Y)).ToObservableCollection();
+ }
+
+ InvokeUINow(() =>
+ {
+ LiquidsCalibrationData.Add(vm);
+ });
+ }
+
+ _isNewCCT = false;
+ CCT = SelectedRML.Ccts.FirstOrDefault();
+
+ if (CCT == null)
+ {
+ CCT = new Cct();
+ CCT.Rml = SelectedRML;
+ _isNewCCT = true;
+ }
+ }
+ });
+
+ IsFree = true;
}
}
@@ -564,6 +615,8 @@ namespace Tango.MachineStudio.ColorLab.ViewModels
{
try
{
+ IsFree = false;
+
if (_isNewCCT)
{
_dbContext.Ccts.Add(CCT);
@@ -601,6 +654,10 @@ namespace Tango.MachineStudio.ColorLab.ViewModels
{
_notification.ShowError(LogManager.Log(ex, "An error occurred while trying to save to data base.").Message + Environment.NewLine + ex.Message);
}
+ finally
+ {
+ IsFree = true;
+ }
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Views/MainView.xaml
index d8ef015be..78eaf04e8 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Views/MainView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Views/MainView.xaml
@@ -35,7 +35,7 @@
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
- <Grid Background="#B1FFFFFF">
+ <Grid Background="#B1FFFFFF" IsEnabled="{Binding IsFree}">
<DockPanel>
<Grid DockPanel.Dock="Bottom" Margin="20">
<Button Height="60" Command="{Binding SaveCommand}" Width="200" HorizontalAlignment="Right">
@@ -269,7 +269,7 @@
</StackPanel>
</StackPanel>
- <ItemsControl ItemsSource="{Binding LiquidVolumes}" VerticalAlignment="Center" MinWidth="420">
+ <ItemsControl ItemsSource="{Binding LiquidVolumes}" VerticalAlignment="Center" MinWidth="420" IsEnabled="{Binding IsFree}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel VerticalAlignment="Center" Orientation="Horizontal" IsItemsHost="True"></StackPanel>
@@ -361,7 +361,7 @@
</Grid>
<Grid Margin="0 20 0 0">
- <ItemsControl DockPanel.Dock="Top" ItemsSource="{Binding LiquidsCalibrationData}">
+ <ItemsControl DockPanel.Dock="Top" ItemsSource="{Binding LiquidsCalibrationData}" IsEnabled="{Binding IsFree}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="1" />
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Properties/AssemblyInfo.cs
index 3b589e28b..fe6b7a013 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio DB Module")]
-[assembly: AssemblyVersion("2.0.7.1633")]
+[assembly: AssemblyVersion("2.0.9.1159")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Tango.MachineStudio.DB.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Tango.MachineStudio.DB.csproj
index 393c4e491..259f2f652 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Tango.MachineStudio.DB.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Tango.MachineStudio.DB.csproj
@@ -8,7 +8,7 @@
<OutputType>library</OutputType>
<RootNamespace>Tango.MachineStudio.DB</RootNamespace>
<AssemblyName>Tango.MachineStudio.DB</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MainViewVM.cs
index 727436306..9503e4c38 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MainViewVM.cs
@@ -7,6 +7,7 @@ using System.Threading.Tasks;
using System.Windows;
using Tango.BL;
using Tango.BL.Entities;
+using Tango.Core.Commands;
using Tango.Core.DI;
using Tango.MachineStudio.Common;
using Tango.MachineStudio.Common.StudioApplication;
@@ -14,36 +15,72 @@ using Tango.SharedUI;
namespace Tango.MachineStudio.DB.ViewModels
{
- public class MainViewVM : StudioViewModel<DBModule>
+ public class MainViewVM : StudioViewModel
{
- public MainViewVM() : base()
+ private bool _isLoading;
+ public bool IsLoading
{
+ get { return _isLoading; }
+ set { _isLoading = value; RaisePropertyChangedAuto(); }
+ }
+ private bool _notLoaded;
+ public bool NotLoaded
+ {
+ get { return _notLoaded; }
+ set { _notLoaded = value; RaisePropertyChangedAuto(); }
}
- public override void OnModuleRequest(params object[] args)
+ public RelayCommand LoadCommand { get; set; }
+
+ public MainViewVM() : base()
{
- if (args != null && args.Length > 0 && args[0] is IObservableEntity)
- {
- var arg = args[0];
+ NotLoaded = true;
+ LoadCommand = new RelayCommand(LoadAdapter,() => !IsLoading);
+ }
- String vmName = arg.GetType().Name + "sViewVM";
+ private async void LoadAdapter()
+ {
+ IsLoading = true;
+ InvalidateRelayCommands();
- Type vmType = Assembly.GetAssembly(typeof(MainViewVM)).GetTypes().SingleOrDefault(x => x.Name == vmName);
+ await Task.Factory.StartNew(() =>
+ {
+ ObservablesEntitiesAdapter.Instance.Initialize();
+ });
- if (vmType == null)
- {
- vmName = arg.GetType().BaseType.Name + "sViewVM";
- vmType = Assembly.GetAssembly(typeof(MainViewVM)).GetTypes().SingleOrDefault(x => x.Name == vmName);
- }
+ IsLoading = false;
+ NotLoaded = false;
+ }
- if (vmType != null)
- {
- var vm = TangoIOC.Default.GetInstance(vmType);
- vmType.GetProperty("SelectedEntity").SetValue(vm, arg);
- vmType.GetMethod("OnEdit", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(vm, new object[] { });
- }
- }
+ public override void OnApplicationReady()
+ {
+
}
+
+ //public override void OnModuleRequest(params object[] args)
+ //{
+ // if (args != null && args.Length > 0 && args[0] is IObservableEntity)
+ // {
+ // var arg = args[0];
+
+ // String vmName = arg.GetType().Name + "sViewVM";
+
+ // Type vmType = Assembly.GetAssembly(typeof(MainViewVM)).GetTypes().SingleOrDefault(x => x.Name == vmName);
+
+ // if (vmType == null)
+ // {
+ // vmName = arg.GetType().BaseType.Name + "sViewVM";
+ // vmType = Assembly.GetAssembly(typeof(MainViewVM)).GetTypes().SingleOrDefault(x => x.Name == vmName);
+ // }
+
+ // if (vmType != null)
+ // {
+ // var vm = TangoIOC.Default.GetInstance(vmType);
+ // vmType.GetProperty("SelectedEntity").SetValue(vm, arg);
+ // vmType.GetMethod("OnEdit", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(vm, new object[] { });
+ // }
+ // }
+ //}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/MainDBView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/MainDBView.xaml
index a6edd80da..050ce5f31 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/MainDBView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/MainDBView.xaml
@@ -6,6 +6,7 @@
xmlns:dockablz="clr-namespace:Dragablz.Dockablz;assembly=Dragablz"
xmlns:dragablz="clr-namespace:Dragablz;assembly=Dragablz"
xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
+ xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:managers="clr-namespace:Tango.MachineStudio.DB.Managers"
@@ -154,5 +155,18 @@
<Thumb HorizontalAlignment="Left" Opacity="0" Width="5" VerticalAlignment="Stretch" Cursor="SizeWE" DragDelta="Thumb_DragDelta"></Thumb>
</Grid>
+
+ <Grid Background="#C9000000" Visibility="{Binding NotLoaded,Converter={StaticResource BoolToVisConverter}}">
+ <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 20 0 0">
+ <TextBlock TextAlignment="Center" FontSize="16" Foreground="Gainsboro">
+ <Run>The Database module is considered obsolete and will be removed in the future.</Run>
+ <LineBreak/>
+ <Run>Loading the module will require some time and memory.</Run>
+ </TextBlock>
+
+ <Button Height="50" Width="200" Margin="0 40 0 0" Command="{Binding LoadCommand}">LOAD</Button>
+ <mahapps:ProgressRing Margin="0 20 0 0" IsActive="{Binding IsLoading}" />
+ </StackPanel>
+ </Grid>
</Grid>
</UserControl>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/Properties/AssemblyInfo.cs
index 51246a5d1..01b5df038 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio Data Capturing Module")]
-[assembly: AssemblyVersion("2.0.8.1633")]
+[assembly: AssemblyVersion("2.0.10.1159")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/Tango.MachineStudio.DataCapture.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/Tango.MachineStudio.DataCapture.csproj
index a8cd6b1cd..15df43f6e 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/Tango.MachineStudio.DataCapture.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/Tango.MachineStudio.DataCapture.csproj
@@ -8,7 +8,7 @@
<OutputType>library</OutputType>
<RootNamespace>Tango.MachineStudio.DataCapture</RootNamespace>
<AssemblyName>Tango.MachineStudio.DataCapture</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
@@ -31,6 +31,12 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
+ <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.dll</HintPath>
+ </Reference>
+ <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
+ </Reference>
<Reference Include="Google.Protobuf, Version=3.4.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Google.Protobuf.3.4.1\lib\net45\Google.Protobuf.dll</HintPath>
</Reference>
@@ -44,6 +50,7 @@
<HintPath>..\..\..\packages\MaterialDesignThemes.2.3.1.953\lib\net45\MaterialDesignThemes.Wpf.dll</HintPath>
</Reference>
<Reference Include="System" />
+ <Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -188,7 +195,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
+ <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/app.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/app.config
index 5d794b958..0e58ccf54 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/app.config
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/app.config
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
+ <configSections>
+ <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+ <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+ </configSections>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
@@ -46,6 +50,16 @@
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ </dependentAssembly>
</assemblyBinding>
</runtime>
+ <entityFramework>
+ <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
+ <providers>
+ <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+ </providers>
+ </entityFramework>
</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/packages.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/packages.config
index 73dae1a0c..d1cf6cd7a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/packages.config
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DataCapture/packages.config
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="CommonServiceLocator" version="1.3" targetFramework="net46" />
+ <package id="EntityFramework" version="6.0.0" targetFramework="net472" />
<package id="Expression.Blend.Sdk" version="1.0.2" targetFramework="net46" />
<package id="Google.Protobuf" version="3.4.1" targetFramework="net46" />
<package id="MahApps.Metro" version="1.5.0" targetFramework="net46" />
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Navigation/DeveloperNavigationManager.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Navigation/DeveloperNavigationManager.cs
index ff8b0320d..b1039c2c5 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Navigation/DeveloperNavigationManager.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Navigation/DeveloperNavigationManager.cs
@@ -16,7 +16,7 @@ namespace Tango.MachineStudio.Developer.Navigation
public void NavigateTo(DeveloperNavigationView view)
{
LogManager.Log(String.Format("Navigating to view {0}...", view.ToString()));
- MainView.Instance.TransitionControl.NavigateTo(view.ToString());
+ MainView.Instance.NavigationControl.NavigateTo(view.ToString());
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Properties/AssemblyInfo.cs
index 66e36649b..c29c487ae 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio Developer Module")]
-[assembly: AssemblyVersion("2.0.15.1633")]
+[assembly: AssemblyVersion("2.0.17.1159")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj
index bd7484de8..cc9831ad9 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Tango.MachineStudio.Developer.csproj
@@ -8,7 +8,7 @@
<OutputType>library</OutputType>
<RootNamespace>Tango.MachineStudio.Developer</RootNamespace>
<AssemblyName>Tango.MachineStudio.Developer</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
@@ -196,6 +196,10 @@
<Project>{b9ae25d6-be35-492f-9079-21a7f3e6f7cc}</Project>
<Name>RealTimeGraphEx</Name>
</ProjectReference>
+ <ProjectReference Include="..\..\..\SideChains\Tango.AutoComplete\Tango.AutoComplete.csproj">
+ <Project>{BB2ABB74-BA58-4812-83AA-EC8171F42DF4}</Project>
+ <Name>Tango.AutoComplete</Name>
+ </ProjectReference>
<ProjectReference Include="..\..\..\Tango.BL\Tango.BL.csproj">
<Project>{f441feee-322a-4943-b566-110e12fd3b72}</Project>
<Name>Tango.BL</Name>
@@ -264,10 +268,6 @@
<Project>{fc337a7f-1214-41d8-9992-78092a3b961e}</Project>
<Name>Tango.MachineStudio.DataCapture</Name>
</ProjectReference>
- <ProjectReference Include="..\Tango.MachineStudio.DB\Tango.MachineStudio.DB.csproj">
- <Project>{94f7acf8-55e1-4a02-b9bc-a818413fdbbf}</Project>
- <Name>Tango.MachineStudio.DB</Name>
- </ProjectReference>
<ProjectReference Include="..\Tango.MachineStudio.Logging\Tango.MachineStudio.Logging.csproj">
<Project>{1674f726-0e66-414f-b9fd-c6f20d7f07c7}</Project>
<Name>Tango.MachineStudio.Logging</Name>
@@ -276,10 +276,6 @@
<Project>{d0ce8122-077d-42a2-9490-028ae4769b52}</Project>
<Name>Tango.MachineStudio.MachineDesigner</Name>
</ProjectReference>
- <ProjectReference Include="..\Tango.MachineStudio.Technician\Tango.MachineStudio.Technician.csproj">
- <Project>{5d39c1e1-3ecd-4634-bd1b-2bcf71c54a15}</Project>
- <Name>Tango.MachineStudio.Technician</Name>
- </ProjectReference>
</ItemGroup>
<ItemGroup>
<Resource Include="Images\rgb.png" />
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModelLocator.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModelLocator.cs
index ebf2f2446..5f82984a4 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModelLocator.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModelLocator.cs
@@ -16,8 +16,8 @@ namespace Tango.MachineStudio.Developer
/// </summary>
static ViewModelLocator()
{
- TangoIOC.Default.Register<MainViewVM>();
TangoIOC.Default.Register<DeveloperNavigationManager, DeveloperNavigationManager>();
+ TangoIOC.Default.Register<MainViewVM>();
}
public static MainViewVM MainViewVM
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 dace2ceac..60c2e65f9 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
@@ -41,6 +41,9 @@ using Tango.MachineStudio.Common;
using Tango.BL.ColorConversion;
using Tango.MachineStudio.Logging.ViewModels;
using Tango.MachineStudio.Logging.Views;
+using Tango.AutoComplete.Editors;
+using System.Data.Entity;
+using System.Runtime.ExceptionServices;
namespace Tango.MachineStudio.Developer.ViewModels
{
@@ -48,7 +51,8 @@ namespace Tango.MachineStudio.Developer.ViewModels
/// Represents the developer module main view, view model.
/// </summary>
/// <seealso cref="Tango.SharedUI.ViewModel" />
- public class MainViewVM : StudioViewModel<DeveloperModule>
+ [TangoCreateWhenRegistered]
+ public class MainViewVM : StudioViewModel
{
private static object _syncLock = new object();
private const string EMB_FORMATS_EXPORT = "Baby Lock (PES)|*.pes|Tajima (DST)|*.dst|EXP|*.exp|PCS|*.pcs|HUS|*.hus|KSM|*.ksm";
@@ -71,6 +75,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
private bool _hiveOpened;
private bool _color_changed_from_hive;
private bool _dialog_shown;
+ private bool _disable_gamut_check;
#region Properties
@@ -104,16 +109,6 @@ namespace Tango.MachineStudio.Developer.ViewModels
set { _runningJobStatus = value; RaisePropertyChangedAuto(); }
}
- private ObservableCollection<Machine> _machines;
- /// <summary>
- /// Gets or sets the machines.
- /// </summary>
- public ObservableCollection<Machine> Machines
- {
- get { return _machines; }
- set { _machines = value; RaisePropertyChangedAuto(); }
- }
-
private ObservableCollection<ColorSpace> _colorSpaces;
/// <summary>
/// Gets or sets the color spaces.
@@ -173,19 +168,32 @@ namespace Tango.MachineStudio.Developer.ViewModels
get { return _selectedMachine; }
set
{
- _selectedMachine = value;
- OnSelectedMachineChanged();
- RaisePropertyChangedAuto();
- InvalidateRelayCommands();
-
- if (_selectedMachine != null)
+ if (value != null && _selectedMachine != value)
{
- _selectedMachine.Modified -= SelectedMachine_Modified;
- _selectedMachine.Modified += SelectedMachine_Modified;
+ _selectedMachine = value;
+ OnSelectedMachineChanged();
+ RaisePropertyChangedAuto();
+ InvalidateRelayCommands();
+
+ if (_selectedMachine != null)
+ {
+ _selectedMachine.Modified -= SelectedMachine_Modified;
+ _selectedMachine.Modified += SelectedMachine_Modified;
+ }
}
}
}
+ private bool _canWork;
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is loading machine.
+ /// </summary>
+ public bool CanWork
+ {
+ get { return _canWork; }
+ set { _canWork = value; RaisePropertyChangedAuto(); }
+ }
+
private List<LiquidTypesRml> _liquidTypesRmls;
/// <summary>
/// Gets or sets the liquid types RMLS.
@@ -248,7 +256,6 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
_activeJob = value;
RaisePropertyChangedAuto();
- OnActiveJobChanged();
}
}
@@ -322,7 +329,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
set
{
_selectedRML = value;
- InvalidateLiquidFactorsAndProcessTables();
+ OnSelectedRMLChanged();
RaisePropertyChangedAuto();
InvalidateRelayCommands();
}
@@ -504,6 +511,11 @@ namespace Tango.MachineStudio.Developer.ViewModels
set { _selectedJobEvent = value; RaisePropertyChangedAuto(); OnSelectedJobEventChanged(); }
}
+ /// <summary>
+ /// Gets or sets the machines providers.
+ /// </summary>
+ public ISuggestionProvider MachinesProvider { get; set; }
+
#endregion
#region Commands
@@ -643,28 +655,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
/// <param name="notificationProvider">The notification provider.</param>
public MainViewVM(IStudioApplicationManager applicationManager, INotificationProvider notificationProvider, IDiagnosticsFrameProvider diagnosticsFrameProvider, IVideoCaptureProvider videoCaptureProvider, DeveloperNavigationManager navigation, IAuthenticationProvider authentication, IEventLogger eventLogger, ISpeechProvider speech)
{
- _settings = SettingsManager.Default.GetOrCreate<DeveloperModuleSettings>();
-
- SelectedJobs = new ObservableCollection<Job>();
-
- JobEvents = new ObservableCollection<MachinesEvent>();
-
- LogManager.Log("Initializing machine Db context...");
- _machineDbContext = ObservablesContext.CreateDefault();
-
- Machines = _machineDbContext.Machines.ToObservableCollection();
-
- if (_settings.LastSelectedMachineGuid != null)
- {
- LogManager.Log("Setting last selected machine from settings...");
- SelectedMachine = _machineDbContext.Machines.SingleOrDefault(x => x.Guid == _settings.LastSelectedMachineGuid);
- }
-
- if (_settings.LastSelectedJobGuid != null && SelectedMachine != null)
- {
- LogManager.Log("Setting last selected job from settings...");
- SelectedMachineJob = SelectedMachine.Jobs.SingleOrDefault(x => x.Guid == _settings.LastSelectedJobGuid);
- }
+ CanWork = true;
_authentication = authentication;
@@ -684,36 +675,76 @@ namespace Tango.MachineStudio.Developer.ViewModels
});
//Initialize Commands...
- EditMachineCommand = new RelayCommand(EditMachine, () => SelectedMachine != null);
- EditRMLCommand = new RelayCommand(EditRML, () => SelectedRML != null);
+ EditMachineCommand = new RelayCommand(EditMachine, () => SelectedMachine != null && CanWork);
+ EditRMLCommand = new RelayCommand(EditRML, () => SelectedRML != null && CanWork);
ToggleSideBarCommand = new RelayCommand(() => IsSideBarOpened = !IsSideBarOpened);
- SaveLiquidFactorsCommand = new RelayCommand(SaveLiquidFactors, () => SelectedRML != null);
- AddSegmentCommand = new RelayCommand(AddSegment, () => ActiveJob != null);
- RemoveSegmentCommand = new RelayCommand(RemoveSelectedSegments, () => SelectedSegment != null);
- AddJobCommand = new RelayCommand(AddJob, () => SelectedMachine != null);
- RemoveJobCommand = new RelayCommand(RemoveSelectedJobs, () => SelectedMachineJob != null);
- AddBrushStopCommand = new RelayCommand(AddBrushStop, () => SelectedSegment != null);
- RemoveBrushStopCommand = new RelayCommand(RemoveSelectedBrushStops, () => SelectedBrushStop != null);
- SaveJobCommand = new RelayCommand(SaveActiveJob, () => SelectedMachine != null);
- DiscardJobCommand = new RelayCommand(BackToJobs, () => SelectedMachine != null);
- StartJobCommand = new RelayCommand(StartJob, () => ActiveJob != null && !IsJobRunning && MachineOperator != null && !MachineOperator.MachineEventsStateProvider.Events.ToList().Exists(x => x.ActionTypes.Contains(BL.Enumerations.ActionTypes.PreventJobExecution)));
+ SaveLiquidFactorsCommand = new RelayCommand(SaveLiquidFactors, () => SelectedRML != null && CanWork);
+ AddSegmentCommand = new RelayCommand(AddSegment, () => ActiveJob != null && CanWork);
+ RemoveSegmentCommand = new RelayCommand(RemoveSelectedSegments, () => SelectedSegment != null && CanWork);
+ AddJobCommand = new RelayCommand(AddJob, () => SelectedMachine != null && CanWork);
+ RemoveJobCommand = new RelayCommand(RemoveSelectedJobs, () => SelectedMachineJob != null && CanWork);
+ AddBrushStopCommand = new RelayCommand(AddBrushStop, () => SelectedSegment != null && CanWork);
+ RemoveBrushStopCommand = new RelayCommand(RemoveSelectedBrushStops, () => SelectedBrushStop != null && CanWork);
+ SaveJobCommand = new RelayCommand(SaveActiveJob, () => SelectedMachine != null && CanWork);
+ DiscardJobCommand = new RelayCommand(BackToJobs, () => SelectedMachine != null && CanWork);
+ StartJobCommand = new RelayCommand(StartJob, () => ActiveJob != null && CanWork && !IsJobRunning && MachineOperator != null && !MachineOperator.MachineEventsStateProvider.Events.ToList().Exists(x => x.ActionTypes.Contains(BL.Enumerations.ActionTypes.PreventJobExecution)));
StartJobAndRecordCommand = new RelayCommand(StartJobAndRecord, () => _dataCaptureVM != null && !_dataCaptureVM.Recorder.IsRecording && !_dataCaptureVM.Player.IsPlaying && ActiveJob != null && !IsJobRunning && MachineOperator != null && !MachineOperator.MachineEventsStateProvider.Events.ToList().Exists(x => x.ActionTypes.Contains(BL.Enumerations.ActionTypes.PreventJobExecution)));
- StopJobCommand = new RelayCommand(StopJob, () => IsJobRunning);
+ StopJobCommand = new RelayCommand(StopJob, () => IsJobRunning && CanWork);
CloseJobCompletionStatusCommand = new RelayCommand(CloseJobCompletionStatusBar);
- LoadJobCommand = new RelayCommand(LoadSelectedJob, () => SelectedMachineJob != null);
- DuplicateJobCommand = new RelayCommand(DuplicateSelectedJobs, () => SelectedMachineJob != null);
- DuplicateSegmentCommand = new RelayCommand(DuplicateSelectedSegments, () => SelectedSegment != null);
- DuplicateBrushStopCommand = new RelayCommand(DuplicateSelectedBrushStops, () => SelectedBrushStop != null);
- SaveProcessParametersCommand = new RelayCommand(SaveProcessParameters, () => SelectedRML != null && SelectedRML.ProcessParametersTablesGroups.Count > 0);
- PushProcessParametersCommand = new RelayCommand(PushProcessParameters, () => SelectedRML != null && SelectedRML.ProcessParametersTablesGroups.Count > 0 && SelectedProcessParametersTable != null && MachineOperator != null);
- ImportEmbroideryFileCommand = new RelayCommand(ImportEmbroideryFile, () => SelectedMachine != null);
- DisplayJobEmbroideryFileCommand = new RelayCommand<Job>(DisplayJobEmbroideryFile);
- ReloadMachinesCommand = new RelayCommand(ReloadMachine);
+ LoadJobCommand = new RelayCommand(LoadSelectedJob, () => SelectedMachineJob != null && CanWork);
+ DuplicateJobCommand = new RelayCommand(DuplicateSelectedJobs, () => SelectedMachineJob != null && CanWork);
+ DuplicateSegmentCommand = new RelayCommand(DuplicateSelectedSegments, () => SelectedSegment != null && CanWork);
+ DuplicateBrushStopCommand = new RelayCommand(DuplicateSelectedBrushStops, () => SelectedBrushStop != null && CanWork);
+ SaveProcessParametersCommand = new RelayCommand(SaveProcessParameters, () => SelectedRML != null && CanWork && SelectedRML.ProcessParametersTablesGroups.Count > 0);
+ PushProcessParametersCommand = new RelayCommand(PushProcessParameters, () => SelectedRML != null && CanWork && SelectedRML.ProcessParametersTablesGroups.Count > 0 && SelectedProcessParametersTable != null && MachineOperator != null);
+ ImportEmbroideryFileCommand = new RelayCommand(ImportEmbroideryFile, () => SelectedMachine != null && CanWork);
+ DisplayJobEmbroideryFileCommand = new RelayCommand<Job>(DisplayJobEmbroideryFile, () => CanWork);
+ ReloadMachinesCommand = new RelayCommand(() => LoadMachine(), () => CanWork && SelectedMachine != null);
ApplicationManager.ConnectedMachineChanged += ApplicationManager_ConnectedMachineChanged;
_eventLogger.NewLog += _eventLogger_NewLog;
+
+ MachinesProvider = new SuggestionProvider((filter) =>
+ {
+ try
+ {
+ return _machineDbContext.Machines.Where(x => x.SerialNumber.StartsWith(filter)).ToList();
+ }
+ catch
+ {
+ return null;
+ }
+ });
+ }
+
+ #endregion
+
+ #region Application Ready
+
+ public override void OnApplicationReady()
+ {
+ _settings = SettingsManager.Default.GetOrCreate<DeveloperModuleSettings>();
+
+ SelectedJobs = new ObservableCollection<Job>();
+ JobEvents = new ObservableCollection<MachinesEvent>();
+
+ LogManager.Log("Initializing machine Db context...");
+ _machineDbContext = ObservablesContext.CreateDefault();
+
+ if (_settings.LastSelectedMachineGuid != null)
+ {
+ LogManager.Log("Setting last selected machine from settings...");
+ SelectedMachine = _machineDbContext.Machines.SingleOrDefault(x => x.Guid == _settings.LastSelectedMachineGuid);
+ }
+
+ if (_settings.LastSelectedJobGuid != null && SelectedMachine != null)
+ {
+ LogManager.Log("Setting last selected job from settings...");
+ SelectedMachineJob = SelectedMachine.Jobs.SingleOrDefault(x => x.Guid == _settings.LastSelectedJobGuid);
+ }
+
_colorConversionThread = new Thread(ColorConversionThreadMethod);
_colorConversionThread.IsBackground = true;
_colorConversionThread.Start();
@@ -723,37 +754,42 @@ namespace Tango.MachineStudio.Developer.ViewModels
#region Color Conversion
+ [HandleProcessCorruptedStateExceptions]
private void ColorConversionThreadMethod()
{
while (true)
{
- if (IsVisible && ActiveJob != null && ActiveJob.Segments != null)
+ if (!_disable_gamut_check && IsVisible && ActiveJob != null && ActiveJob.Segments != null)
{
- var stops = ActiveJob.Segments.SelectMany(x => x.BrushStops).ToList();
-
- foreach (var stop in stops)
+ try
{
- if (stop.ColorSpace.Code == BL.Enumerations.ColorSpaces.Volume.ToInt32() && !stop.IsLiquidVolumesOutOfRange)
+ var stops = ActiveJob.Segments.SelectMany(x => x.BrushStops).ToList();
+
+ foreach (var stop in stops)
{
- try
+ if (stop.ColorSpace.Code == BL.Enumerations.ColorSpaces.Volume.ToInt32() && !stop.IsLiquidVolumesOutOfRange)
{
- var output = TangoColorConverter.GetSuggestions(stop);
+ try
+ {
+ var output = TangoColorConverter.GetSuggestions(stop);
- stop.Red = output.SingleCoordinates.Red;
- stop.Green = output.SingleCoordinates.Green;
- stop.Blue = output.SingleCoordinates.Blue;
+ stop.Red = output.SingleCoordinates.Red;
+ stop.Green = output.SingleCoordinates.Green;
+ stop.Blue = output.SingleCoordinates.Blue;
+ }
+ catch { }
}
- catch { }
- }
- else if (stop.ColorSpace.Code == BL.Enumerations.ColorSpaces.RGB.ToInt32() && !stop.Corrected)
- {
- try
+ else if (stop.ColorSpace.Code == BL.Enumerations.ColorSpaces.RGB.ToInt32() && !stop.Corrected)
{
- stop.IsOutOfGamut = TangoColorConverter.IsOutOfGamut(stop);
+ try
+ {
+ stop.IsOutOfGamut = TangoColorConverter.IsOutOfGamut(stop);
+ }
+ catch { }
}
- catch { }
}
}
+ catch { }
}
Thread.Sleep(500);
@@ -950,9 +986,12 @@ namespace Tango.MachineStudio.Developer.ViewModels
if (RmlProcessParametersTableGroup != null && RmlProcessParametersTableGroup.ProcessParametersTables.Count > 0)
{
LogManager.Log("Process parameters group changed...");
- SelectedProcessParametersTable = RmlProcessParametersTableGroup.ProcessParametersTables.OrderBy(x => x.TableIndex).FirstOrDefault();
- UpdateEstimatedDuration();
+ InvokeUI(() =>
+ {
+ SelectedProcessParametersTable = RmlProcessParametersTableGroup.ProcessParametersTables.OrderBy(x => x.TableIndex).FirstOrDefault();
+ UpdateEstimatedDuration();
+ });
}
}
@@ -992,9 +1031,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
if (SelectedMachine != null)
{
LogManager.Log(String.Format("Machine {0} changed.", SelectedMachine.SerialNumber));
- ReloadMachine();
- JobsCollectionView = CollectionViewSource.GetDefaultView(SelectedMachine.Jobs);
- JobsCollectionView.SortDescriptions.Add(new SortDescription(nameof(Job.LastUpdated), ListSortDirection.Descending));
+ LoadMachine();
}
}
@@ -1018,19 +1055,6 @@ namespace Tango.MachineStudio.Developer.ViewModels
};
}
- /// <summary>
- /// Called when the active job has changed.
- /// </summary>
- protected virtual void OnActiveJobChanged()
- {
- if (ActiveJob != null)
- {
- LogManager.Log(String.Format("Active job {0} changed.", ActiveJob.Name));
- SegmentsCollectionView = CollectionViewSource.GetDefaultView(ActiveJob.Segments);
- SegmentsCollectionView.SortDescriptions.Add(new SortDescription(nameof(Segment.SegmentIndex), ListSortDirection.Ascending));
- }
- }
-
#endregion
#region Drag & Drop
@@ -1297,12 +1321,21 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
if (SelectedRML != null)
{
+ CanWork = false;
+
using (_notification.PushTaskItem("Saving Liquid Factors..."))
{
LogManager.Log(String.Format("Saving liquid factors for RML {0}...", SelectedRML.Name));
await SelectedRML.SaveAsync(_activeJobDbContext);
- InvalidateLiquidFactorsAndProcessTables();
+ LiquidTypesRmls = ActiveJob.Machine.Configuration.NoneEmptyIdsPacks.Where(x => !x.IsEmpty).OrderBy(x => x.PackIndex).Select(x => x.LiquidType).SelectMany(x => x.LiquidTypesRmls).Where(x => x.Rml.Guid == SelectedRML.Guid).ToList();
+
+ if (SelectedSegment != null)
+ {
+ SetSegmentBrushStopsLiquidVolumes(SelectedSegment);
+ }
}
+
+ CanWork = true;
}
}
@@ -1312,7 +1345,6 @@ namespace Tango.MachineStudio.Developer.ViewModels
private void EditRML()
{
LogManager.Log(String.Format("Requesting DB module for RML {0} editing...", SelectedRML.Name));
- ApplicationManager.RequestModule("Data Base", SelectedRML);
}
/// <summary>
@@ -1323,7 +1355,10 @@ namespace Tango.MachineStudio.Developer.ViewModels
if (SelectedRML != null && SelectedMachine != null)
{
LogManager.Log("Invalidating liquid factors, process parameters and process group history...");
- LiquidTypesRmls = SelectedMachine.Configuration.NoneEmptyIdsPacks.Where(x => !x.IsEmpty).OrderBy(x => x.PackIndex).Select(x => x.LiquidType).SelectMany(x => x.LiquidTypesRmls).Where(x => x.Rml.Guid == SelectedRML.Guid).ToList();
+ LiquidTypesRmls = ActiveJob.Machine.Configuration.NoneEmptyIdsPacks.Where(x => !x.IsEmpty).OrderBy(x => x.PackIndex).Select(x => x.LiquidType).SelectMany(x => x.LiquidTypesRmls).Where(x => x.Rml.Guid == SelectedRML.Guid).ToList();
+
+ _activeJobDbContext.ProcessParametersTablesGroups.Where(x => x.RmlGuid == SelectedRML.Guid).Include(x => x.ProcessParametersTables).ToList();
+
RmlProcessParametersTableGroup = SelectedRML.ProcessParametersTablesGroups.ToList().SingleOrDefault(x => x.Active);
var selectedHistory = RmlProcessParametersTableGroup;
@@ -1334,11 +1369,26 @@ namespace Tango.MachineStudio.Developer.ViewModels
RmlProcessParametersTableGroup.ProcessParametersTables = RmlProcessParametersTableGroup.ProcessParametersTables.OrderBy(x => x.TableIndex).ToObservableCollection();
}
- GroupsHistory = SelectedRML.ProcessParametersTablesGroups.OrderByDescending(x => x.SaveDate).OrderBy(x => !x.Active).ToObservableCollection();
+ GroupsHistory = SelectedRML.ProcessParametersTablesGroups.OrderByDescending(x => x.SaveDate).OrderBy(x => !x.Active).ToObservableCollection();
_selectedGroupHistory = selectedHistory;
- RaisePropertyChangedAuto(nameof(SelectedGroupHistory));
+ InvokeUI(() =>
+ {
+ RaisePropertyChanged(nameof(SelectedGroupHistory));
+ RaisePropertyChanged(nameof(RmlProcessParametersTableGroup));
+ });
+ }
+ }
+
+ private async void OnSelectedRMLChanged()
+ {
+ using (_notification.PushTaskItem("Loading RML..."))
+ {
+ await Task.Factory.StartNew(() =>
+ {
+ InvalidateLiquidFactorsAndProcessTables();
+ });
}
}
@@ -1375,6 +1425,8 @@ namespace Tango.MachineStudio.Developer.ViewModels
if (response == null) return;
+ CanWork = false;
+
using (_notification.PushTaskItem("Saving Parameters Group..."))
{
LogManager.Log(String.Format("Saving process parameters group under the name {0}...", response));
@@ -1408,6 +1460,8 @@ namespace Tango.MachineStudio.Developer.ViewModels
InvalidateLiquidFactorsAndProcessTables();
}
+
+ CanWork = true;
}
#endregion
@@ -1417,84 +1471,138 @@ namespace Tango.MachineStudio.Developer.ViewModels
/// <summary>
/// Loads the selected job.
/// </summary>
- private void LoadSelectedJob()
+ private async void LoadSelectedJob()
{
if (SelectedMachineJob != null)
{
+ CanWork = false;
+
using (_notification.PushTaskItem("Loading job details..."))
{
- LogManager.Log(String.Format("Loading job {0}...", SelectedMachineJob.Name));
- SelectedSegments = new ObservableCollection<Segment>();
- SelectedBrushStops = new ObservableCollection<BrushStop>();
- SelectedRML = null;
- SelectedSegment = null;
- SelectedGroupHistory = null;
- SelectedBrushStop = null;
- SelectedProcessParametersTable = null;
- RmlProcessParametersTableGroup = null;
+ await Task.Factory.StartNew(() =>
+ {
+ _disable_gamut_check = true;
+ LogManager.Log(String.Format("Loading job {0}...", SelectedMachineJob.Name));
+ SelectedSegments = new ObservableCollection<Segment>();
+ SelectedBrushStops = new ObservableCollection<BrushStop>();
+ SelectedRML = null;
+ SelectedSegment = null;
+ SelectedGroupHistory = null;
+ SelectedBrushStop = null;
+ SelectedProcessParametersTable = null;
+ RmlProcessParametersTableGroup = null;
- _blockInvalidateCommands = false;
+ _blockInvalidateCommands = false;
- LogManager.Log("Creating active job DB context...");
- _activeJobDbContext = ObservablesContext.CreateDefault();
- _activeJobDbContext.Configuration.LazyLoadingEnabled = true;
+ LogManager.Log("Creating active job DB context...");
+ _activeJobDbContext = ObservablesContext.CreateDefault();
- LogManager.Log("Initializing available color spaces, RMLs & Winding methods...");
- var processParamsGroups = _activeJobDbContext.ProcessParametersTablesGroups.ToList();
- var processParams = _activeJobDbContext.ProcessParametersTables.ToList();
- ColorSpaces = _activeJobDbContext.ColorSpaces.ToObservableCollection();
- Rmls = _activeJobDbContext.Rmls.ToObservableCollection();
- WindingMethods = _activeJobDbContext.WindingMethods.ToObservableCollection();
- SpoolTypes = _activeJobDbContext.SpoolTypes.ToObservableCollection();
+ LogManager.Log("Initializing available color spaces, RMLs & Winding methods...");
+ //var processParamsGroups = _activeJobDbContext.ProcessParametersTablesGroups.ToList();
+ //var processParams = _activeJobDbContext.ProcessParametersTables.ToList();
- LogManager.Log("Setting active job...");
- _activeJob = _activeJobDbContext.Jobs.SingleOrDefault(x => x.Guid == SelectedMachineJob.Guid);
+ ColorSpaces = _activeJobDbContext.ColorSpaces.ToObservableCollection();
+ Rmls = _activeJobDbContext.Rmls.ToObservableCollection();
+ WindingMethods = _activeJobDbContext.WindingMethods.ToObservableCollection();
+ SpoolTypes = _activeJobDbContext.SpoolTypes.ToObservableCollection();
- _selectedRML = ActiveJob.Rml;
+ LogManager.Log("Setting active job...");
+ ActiveJob = _activeJobDbContext.Jobs.Include(x => x.Rml).Include(x => x.Segments).Include(x => x.Segments.Select(y => y.BrushStops)).SingleOrDefault(x => x.Guid == SelectedMachineJob.Guid);
- LogManager.Log("Setting selected segment...");
- _selectedSegment = ActiveJob.Segments.FirstOrDefault();
+ _activeJobDbContext.Ccts.Where(x => x.RmlGuid == ActiveJob.RmlGuid).ToList();
+ _activeJobDbContext.Cats.Where(x => x.RmlGuid == ActiveJob.RmlGuid).ToList();
+ _activeJobDbContext.Machines.SingleOrDefault(x => x.Guid == ActiveJob.MachineGuid);
+ _activeJobDbContext.Configurations.SingleOrDefault(x => x.Guid == ActiveJob.Machine.ConfigurationGuid);
- ActiveJob.LengthChanged -= ActiveJob_LengthChanged;
- ActiveJob.LengthChanged += ActiveJob_LengthChanged;
+ _activeJobDbContext.LiquidTypesRmls.ToList();
- ActiveJob = _activeJob;
+ _activeJobDbContext.IdsPackFormulas.ToList();
+ _activeJobDbContext.LiquidTypes.ToList();
+ _activeJobDbContext.MidTankTypes.ToList();
+ _activeJobDbContext.DispenserTypes.ToList();
- SelectedRML = _selectedRML;
- SelectedSegment = _selectedSegment;
+ _activeJobDbContext.IdsPacks.Where(x => x.ConfigurationGuid == ActiveJob.Machine.ConfigurationGuid).ToList();
- UpdateEstimatedDuration();
- _blockInvalidateCommands = false;
- InvalidateRelayCommands();
+
+ LogManager.Log("Setting selected segment...");
+ _selectedSegment = ActiveJob.Segments.FirstOrDefault();
+
+ ActiveJob.LengthChanged -= ActiveJob_LengthChanged;
+ ActiveJob.LengthChanged += ActiveJob_LengthChanged;
+
+ _selectedRML = ActiveJob.Rml;
+ InvalidateLiquidFactorsAndProcessTables();
+ RaisePropertyChanged(nameof(SelectedRML));
+
+ UpdateEstimatedDuration();
+
+ _blockInvalidateCommands = false;
+ InvalidateRelayCommands();
+
+ _disable_gamut_check = false;
+ });
+
+ SegmentsCollectionView = CollectionViewSource.GetDefaultView(ActiveJob.Segments);
+ SegmentsCollectionView.SortDescriptions.Add(new SortDescription(nameof(Segment.SegmentIndex), ListSortDirection.Ascending));
+
+ SelectedSegment = _selectedSegment;
UIHelper.DoEvents();
_navigation.NavigateTo(DeveloperNavigationView.JobView);
-
}
+
+ CanWork = true;
}
}
/// <summary>
/// Saves the active job.
/// </summary>
- private void SaveActiveJob()
+ private async void SaveActiveJob()
{
if (ActiveJob != null)
{
+ CanWork = false;
+
using (_notification.PushTaskItem("Saving job details..."))
{
- LogManager.Log(String.Format("Saving the active job {0}...", ActiveJob.Name));
- ActiveJob.LastUpdated = DateTime.UtcNow;
- ActiveJob.Rml = SelectedRML;
- ActiveJob.EstimatedDurationMili = (int)EstimatedDuration.TotalMilliseconds;
+ await Task.Factory.StartNew(() =>
+ {
+ LogManager.Log(String.Format("Saving the active job {0}...", ActiveJob.Name));
+ ActiveJob.LastUpdated = DateTime.UtcNow;
+ ActiveJob.Rml = SelectedRML;
+ ActiveJob.EstimatedDurationMili = (int)EstimatedDuration.TotalMilliseconds;
+ _activeJobDbContext.SaveChanges();
+
+ _machineDbContext.Entry(SelectedMachineJob).Reload();
+
+
+ _machineDbContext.Entry(SelectedMachineJob).Collection(x => x.Segments).Load();
+
+ foreach (var segment in SelectedMachineJob.Segments.ToList())
+ {
+ _machineDbContext.Entry(segment).Collection(x => x.BrushStops).Load();
- _activeJobDbContext.SaveChanges();
- ReloadMachine();
- SelectedMachineJob = SelectedMachine.Jobs.SingleOrDefault(x => x.Guid == ActiveJob.Guid);
+ foreach (var brushStop in segment.BrushStops.ToList())
+ {
+ _machineDbContext.Entry(brushStop).Reload();
+ }
+
+ _machineDbContext.Entry(segment).Reload();
+ }
+
+ InvokeUI(() =>
+ {
+ SelectedMachineJob.Segments = SelectedMachineJob.Segments;
+ });
+
+ });
}
+
+ CanWork = true;
}
}
@@ -1527,19 +1635,51 @@ namespace Tango.MachineStudio.Developer.ViewModels
#region Private Methods
- private void ReloadMachine()
+ private async void LoadMachine()
{
- LogManager.Log("Reloading selected machine...");
- _machineDbContext.Dispose();
- _machineDbContext = ObservablesContext.CreateDefault();
- _machineDbContext.Configuration.LazyLoadingEnabled = true;
- String machineGuid = _selectedMachine.Guid;
- Machines = _machineDbContext.Machines.ToObservableCollection();
- _selectedMachine = Machines.SingleOrDefault(x => x.Guid == machineGuid);
- RaisePropertyChanged(nameof(SelectedMachine));
+ try
+ {
+ LogManager.Log("Loading selected machine...");
+
+ CanWork = false;
+
+ using (_notification.PushTaskItem("Loading selected machine..."))
+ {
+ await _machineDbContext.Jobs.Where(x => x.MachineGuid == SelectedMachine.Guid).Include(x => x.User).Include(x => x.User.Contact).LoadAsync();
+ await _machineDbContext.Configurations.SingleOrDefaultAsync(x => x.Guid == SelectedMachine.ConfigurationGuid);
+
+ await _machineDbContext.ColorSpaces.LoadAsync();
+
+ SelectedMachine.Configuration.IdsPacks.EnableCrossThreadOperations();
+
+ await _machineDbContext.IdsPacks.OrderBy(x => x.PackIndex).Where(x => x.ConfigurationGuid == SelectedMachine.ConfigurationGuid).
+ Include(x => x.CartridgeType).
+ Include(x => x.DispenserType).
+ Include(x => x.LiquidType).
+ Include(x => x.IdsPackFormula).
+ Include(x => x.MidTankType).LoadAsync();
+
+ RaisePropertyChanged(nameof(SelectedMachine));
+
+ JobsCollectionView = CollectionViewSource.GetDefaultView(SelectedMachine.Jobs);
+ JobsCollectionView.SortDescriptions.Add(new SortDescription(nameof(Job.LastUpdated), ListSortDirection.Descending));
+ }
- JobsCollectionView = CollectionViewSource.GetDefaultView(SelectedMachine.Jobs);
- JobsCollectionView.SortDescriptions.Add(new SortDescription(nameof(Job.LastUpdated), ListSortDirection.Descending));
+ CanWork = true;
+
+ foreach (var job in SelectedMachine.Jobs.OrderByDescending(x => x.LastUpdated))
+ {
+ if (!CanWork) break;
+ job.Segments.EnableCrossThreadOperations();
+ await _machineDbContext.Segments.Where(x => x.JobGuid == job.Guid).Include(x => x.BrushStops).OrderBy(x => x.SegmentIndex).LoadAsync();
+ }
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex);
+ _notification.ShowError("An error occurred while trying to load the selected machine.");
+ CanWork = true;
+ }
}
private void UpdateEstimatedDuration()
@@ -1557,7 +1697,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
LogManager.Log("Setting segment brush stops liquid volumes...");
foreach (var stop in segment.BrushStops)
{
- stop.SetLiquidVolumes(SelectedMachine.Configuration, SelectedRML, SelectedProcessParametersTable);
+ stop.SetLiquidVolumes(ActiveJob.Machine.Configuration, SelectedRML, SelectedProcessParametersTable);
}
}
}
@@ -1568,7 +1708,6 @@ namespace Tango.MachineStudio.Developer.ViewModels
private void EditMachine()
{
LogManager.Log(String.Format("Requesting machine designer module for machine {0} editing...", SelectedMachine.SerialNumber));
- ApplicationManager.RequestModule("Machine Designer", SelectedMachine);
}
#endregion
@@ -1713,14 +1852,15 @@ namespace Tango.MachineStudio.Developer.ViewModels
newJob.Rml = _machineDbContext.Rmls.FirstOrDefault();
newJob.WindingMethod = _machineDbContext.WindingMethods.FirstOrDefault();
newJob.SpoolType = _machineDbContext.SpoolTypes.FirstOrDefault();
+ newJob.ColorSpace = _machineDbContext.ColorSpaces.FirstOrDefault();
newJob.Machine = SelectedMachine;
SelectedMachine.Jobs.Add(newJob);
+ newJob.AddSolidSegment();
LogManager.Log("Saving selected machine to database...");
await SelectedMachine.SaveAsync(_machineDbContext);
SelectedMachineJob = newJob;
LoadSelectedJob();
- AddSegment();
}
}
}
@@ -1769,7 +1909,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
stop.OffsetPercent = 100;
stop.Segment = SelectedSegment;
- stop.ColorSpace = _activeJobDbContext.ColorSpaces.FirstOrDefault();
+ stop.ColorSpace = ColorSpaces.FirstOrDefault();
stop.Color = Colors.Black;
stop.SetLiquidVolumes(SelectedMachine.Configuration, SelectedRML, SelectedProcessParametersTable);
SelectedSegment.BrushStops.Add(stop);
@@ -1821,6 +1961,8 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
using (_notification.PushTaskItem("Cloning selected jobs..."))
{
+ CanWork = false;
+
LogManager.LogFormat("Duplicating {0} jobs...", SelectedJobs.Count);
int index = SelectedMachine.Jobs.Max(x => x.JobIndex);
@@ -1834,6 +1976,8 @@ namespace Tango.MachineStudio.Developer.ViewModels
LogManager.Log("Saving selected machine to database...");
await SelectedMachine.SaveAsync(_machineDbContext);
+
+ CanWork = true;
}
}
}
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 1b96b27ce..016718075 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
@@ -11,11 +11,9 @@
xmlns:hive="clr-namespace:Tango.Hive;assembly=Tango.Hive"
xmlns:automation="clr-namespace:Tango.MachineStudio.Common.Automation;assembly=Tango.MachineStudio.Common"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
- xmlns:techViews="clr-namespace:Tango.MachineStudio.Technician.Views;assembly=Tango.MachineStudio.Technician"
xmlns:colorPicker="clr-namespace:Tango;assembly=Tango.ColorPicker"
xmlns:dispensing="clr-namespace:Tango.BL.Dispensing;assembly=Tango.BL"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
- xmlns:db="clr-namespace:Tango.MachineStudio.DB.Views.DBViews;assembly=Tango.MachineStudio.DB"
xmlns:commonControls="clr-namespace:Tango.MachineStudio.Common.Controls;assembly=Tango.MachineStudio.Common"
xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
xmlns:designer="clr-namespace:Tango.MachineStudio.MachineDesigner.Views;assembly=Tango.MachineStudio.MachineDesigner"
@@ -1495,9 +1493,9 @@
</Grid>
</Grid>
</Expander>
- <Expander Header="CONTROL PARAMETERS" IsExpanded="False" Background="#8EFFFFFF">
+ <!--<Expander Header="CONTROL PARAMETERS" IsExpanded="False" Background="#8EFFFFFF">
- </Expander>
+ </Expander>-->
</StackPanel>
</ScrollViewer>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs
index bb17a502d..2942d36af 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/JobView.xaml.cs
@@ -64,7 +64,7 @@ namespace Tango.MachineStudio.Developer.Views
if (_vm != null && _vm.ActiveJob != null)
{
List<Segment> segments = new List<Segment>();
- foreach (var s in _vm.ActiveJob.Segments)
+ foreach (var s in _vm.ActiveJob.Segments.OrderBy(x => x.SegmentIndex))
{
segments.Add(s);
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MachineJobSelectionView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MachineJobSelectionView.xaml
index c151b62bc..279a9daf3 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MachineJobSelectionView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MachineJobSelectionView.xaml
@@ -6,6 +6,7 @@
xmlns:global="clr-namespace:Tango.MachineStudio.Developer"
xmlns:designer="clr-namespace:Tango.MachineStudio.MachineDesigner.Views;assembly=Tango.MachineStudio.MachineDesigner"
xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:autoComplete="clr-namespace:Tango.AutoComplete.Editors;assembly=Tango.AutoComplete"
xmlns:automation="clr-namespace:Tango.MachineStudio.Common.Automation;assembly=Tango.MachineStudio.Common"
xmlns:localConverters="clr-namespace:Tango.MachineStudio.Developer.Converters"
xmlns:vm="clr-namespace:Tango.MachineStudio.Developer.ViewModels"
@@ -13,6 +14,7 @@
xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
xmlns:observables="clr-namespace:Tango.BL.Entities;assembly=Tango.BL"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:commonControls="clr-namespace:Tango.MachineStudio.Common.Controls;assembly=Tango.MachineStudio.Common"
xmlns:local="clr-namespace:Tango.MachineStudio.Developer.Views"
mc:Ignorable="d"
x:Name="control" d:DesignHeight="1080" d:DesignWidth="1920" Background="Transparent" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">
@@ -23,6 +25,7 @@
<localConverters:MillisecondsToTimeSpanConverter x:Key="MillisecondsToTimeSpanConverter" />
<converters:GreaterThanToBooleanConverter x:Key="GreaterThanToBooleanConverter" />
<converters:MathOperatorConverter x:Key="MathOperatorConverter" />
+ <converters:BooleanInverseConverter x:Key="BooleanInverseConverter" />
</UserControl.Resources>
<Grid>
@@ -36,20 +39,20 @@
<StackPanel>
<TextBlock Margin="40 20" FontSize="30" FontWeight="SemiBold" FontStyle="Italic">TARGET MACHINE</TextBlock>
- <DockPanel Margin="40 0 40 0">
+ <DockPanel Margin="40 0 40 0" IsEnabled="{Binding CanWork}">
<Button Command="{Binding ReloadMachinesCommand}" DockPanel.Dock="Right" ToolTip="Reload" Foreground="#404040" Margin="20 0 0 0" Padding="0" Width="40" Height="Auto" Style="{StaticResource MaterialDesignFlatButton}">
<materialDesign:PackIcon Kind="Refresh" Width="24" Height="24" />
</Button>
- <ComboBox ItemsSource="{Binding Machines}" FontSize="20" SelectedItem="{Binding SelectedMachine}" materialDesign:HintAssist.Hint="Serial Number">
- <ComboBox.ItemTemplate>
+ <autoComplete:AutoCompleteTextBox Provider="{Binding MachinesProvider}" LoadingContent="Loading..." FontSize="20" SelectedItem="{Binding SelectedMachine,Mode=TwoWay}" materialDesign:HintAssist.Hint="Serial Number" DisplayMember="SerialNumber">
+ <autoComplete:AutoCompleteTextBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding SerialNumber}" FontWeight="Bold" FontStyle="Italic"></TextBlock>
<TextBlock FontSize="11" Text="{Binding Name}" Foreground="Gray"></TextBlock>
</StackPanel>
</DataTemplate>
- </ComboBox.ItemTemplate>
- </ComboBox>
+ </autoComplete:AutoCompleteTextBox.ItemTemplate>
+ </autoComplete:AutoCompleteTextBox>
</DockPanel>
<designer:MachineView Width="600" IsHitTestVisible="False" Margin="0 40 0 0" DataContext="{Binding SelectedMachine}" />
<Button Command="{Binding EditMachineCommand}" HorizontalAlignment="Right" Margin="0 10 20 20" Style="{StaticResource MaterialDesignFlatButton}">
@@ -127,141 +130,139 @@
</Grid>
<Grid Margin="0 20 0 0">
- <controls:MultiSelectDataGrid MouseDoubleClick="MultiSelectDataGrid_MouseDoubleClick" AutomationProperties.AutomationId="{x:Static automation:Developer.JobsDataGrid}" Style="{StaticResource {x:Type DataGrid}}" CanUserAddRows="False" CanUserDeleteRows="False" CanUserResizeColumns="True" CanUserSortColumns="True" AutoGenerateColumns="False" Background="Transparent" ItemsSource="{Binding JobsCollectionView}" SelectedItem="{Binding SelectedMachineJob}" SelectedItemsList="{Binding SelectedJobs,Mode=TwoWay}">
- <DataGrid.CellStyle>
- <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
- <Setter Property="BorderThickness" Value="0"/>
- <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
- <Setter Property="VerticalContentAlignment" Value="Center"></Setter>
- </Style>
- </DataGrid.CellStyle>
- <DataGrid.Columns>
- <DataGridTemplateColumn>
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate DataType="{x:Type observables:Job}">
- <ContentControl>
- <ContentControl.Style>
- <Style TargetType="ContentControl">
- <Setter Property="Content">
- <Setter.Value>
- <Image Source="../Images/rgb.png" Width="40" Margin="5"></Image>
- </Setter.Value>
- </Setter>
- <Style.Triggers>
- <DataTrigger Binding="{Binding HasEmbroideryFile}" Value="True">
- <Setter Property="Content">
- <Setter.Value>
- <Button ToolTip="Press to display the attached embroidery file information" Style="{StaticResource emptyButton}" Cursor="Hand" Command="{Binding DataContext.DisplayJobEmbroideryFileCommand, Source={x:Reference control}}" CommandParameter="{Binding}">
- <Image Source="../Images/job-emb.png" Width="40" Margin="5"></Image>
- </Button>
- </Setter.Value>
- </Setter>
- </DataTrigger>
- </Style.Triggers>
- </Style>
- </ContentControl.Style>
- </ContentControl>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- <DataGridTemplateColumn Header="NAME" CanUserSort="True" SortMemberPath="Name">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock Text="{Binding Name}" VerticalAlignment="Center" FontSize="14"></TextBlock>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- <DataGridTemplateColumn Header="CREATION DATE" Width="150" CanUserSort="True" SortMemberPath="CreationDate">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock Text="{Binding CreationDate,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" VerticalAlignment="Center" FontSize="14"></TextBlock>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- <DataGridTemplateColumn Header="LAST MODIFIED" Width="150" CanUserSort="True" SortMemberPath="LastUpdated">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock Text="{Binding LastUpdated,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" VerticalAlignment="Center" FontSize="14"></TextBlock>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- <DataGridTemplateColumn Header="LAST RUN" Width="150" CanUserSort="True" SortMemberPath="LastRun">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock Text="{Binding LastRun,Converter={StaticResource DateTimeUTCToShortDateTimeConverter},FallbackValue='Never',TargetNullValue='Never'}" VerticalAlignment="Center" FontSize="14"></TextBlock>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- <DataGridTemplateColumn Header="USER" Width="100" CanUserSort="True" SortMemberPath="User">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock Text="{Binding User.Contact.FirstName}" VerticalAlignment="Center" FontSize="14"></TextBlock>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- <DataGridTemplateColumn Header="LENGTH" Width="100" CanUserSort="True" SortMemberPath="Length">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock VerticalAlignment="Center" FontSize="14">
- <Run Text="{Binding Length,Mode=OneWay,StringFormat=N2}"></Run>
- <Run Text="m" Foreground="Gray"></Run>
- </TextBlock>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- <DataGridTemplateColumn Header="DURATION" Width="100" CanUserSort="True" SortMemberPath="EstimatedDurationMili">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <TextBlock VerticalAlignment="Center" FontSize="14">
- <Run Text="{Binding EstimatedDurationMili,Converter={StaticResource MillisecondsToTimeSpanConverter},Mode=OneWay,StringFormat=hh\\:mm\\:ss,TargetNullValue='Unknown'}"></Run>
- </TextBlock>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- <DataGridTemplateColumn Width="1*" Header="SEGMENTS" CanUserSort="True" SortMemberPath="Segments.Count">
- <DataGridTemplateColumn.CellTemplate>
- <DataTemplate>
- <StackPanel Orientation="Horizontal">
- <ItemsControl HorizontalAlignment="Right" ItemsSource="{Binding Segments}">
- <ItemsControl.ItemsPanel>
- <ItemsPanelTemplate>
- <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" MaxWidth="110">
-
- </StackPanel>
- </ItemsPanelTemplate>
- </ItemsControl.ItemsPanel>
- <ItemsControl.ItemTemplate>
- <DataTemplate>
- <Border Width="25" Height="25" Margin="10 0 0 0" BorderThickness="1" BorderBrush="DimGray" CornerRadius="3">
- <Border.Background>
- <MultiBinding Converter="{StaticResource SegmentToBrushConverterMulti}">
- <Binding Path="."></Binding>
- </MultiBinding>
- </Border.Background>
- </Border>
- </DataTemplate>
- </ItemsControl.ItemTemplate>
- </ItemsControl>
- <StackPanel Orientation="Horizontal" Margin="0 0 0 0" VerticalAlignment="Center">
- <StackPanel.Style>
- <Style TargetType="StackPanel">
- <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <commonControls:LoadingPanel IsLoading="{Binding CanWork,Converter={StaticResource BooleanInverseConverter}}">
+ <controls:MultiSelectDataGrid MouseDoubleClick="MultiSelectDataGrid_MouseDoubleClick" AutomationProperties.AutomationId="{x:Static automation:Developer.JobsDataGrid}" Style="{StaticResource {x:Type DataGrid}}" CanUserAddRows="False" CanUserDeleteRows="False" CanUserResizeColumns="True" CanUserSortColumns="True" AutoGenerateColumns="False" Background="Transparent" ItemsSource="{Binding JobsCollectionView}" SelectedItem="{Binding SelectedMachineJob}" SelectedItemsList="{Binding SelectedJobs,Mode=TwoWay}">
+ <DataGrid.CellStyle>
+ <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
+ <Setter Property="BorderThickness" Value="0"/>
+ <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
+ <Setter Property="VerticalContentAlignment" Value="Center"></Setter>
+ </Style>
+ </DataGrid.CellStyle>
+ <DataGrid.Columns>
+ <DataGridTemplateColumn>
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate DataType="{x:Type observables:Job}">
+ <ContentControl>
+ <ContentControl.Style>
+ <Style TargetType="ContentControl">
+ <Setter Property="Content">
+ <Setter.Value>
+ <Image Source="../Images/rgb.png" Width="40" Margin="5"></Image>
+ </Setter.Value>
+ </Setter>
<Style.Triggers>
- <DataTrigger Binding="{Binding Segments.Count,Converter={StaticResource GreaterThanToBooleanConverter},ConverterParameter=3}" Value="True">
- <Setter Property="Visibility" Value="Visible"></Setter>
+ <DataTrigger Binding="{Binding HasEmbroideryFile}" Value="True">
+ <Setter Property="Content">
+ <Setter.Value>
+ <Button ToolTip="Press to display the attached embroidery file information" Style="{StaticResource emptyButton}" Cursor="Hand" Command="{Binding DataContext.DisplayJobEmbroideryFileCommand, Source={x:Reference control}}" CommandParameter="{Binding}">
+ <Image Source="../Images/job-emb.png" Width="40" Margin="5"></Image>
+ </Button>
+ </Setter.Value>
+ </Setter>
</DataTrigger>
</Style.Triggers>
</Style>
- </StackPanel.Style>
- <materialDesign:PackIcon Kind="Plus" Width="18" Height="18" VerticalAlignment="Center" />
- <TextBlock Margin="0 -3 0 0" Text="{Binding Segments.Count,Converter={StaticResource MathOperatorConverter},ConverterParameter='-3'}" FontSize="16" VerticalAlignment="Center" FontWeight="SemiBold" FontStyle="Italic"></TextBlock>
+ </ContentControl.Style>
+ </ContentControl>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ <DataGridTemplateColumn Header="NAME" CanUserSort="True" SortMemberPath="Name">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <TextBlock Text="{Binding Name}" VerticalAlignment="Center" FontSize="14"></TextBlock>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ <DataGridTemplateColumn Header="CREATION DATE" Width="150" CanUserSort="True" SortMemberPath="CreationDate">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <TextBlock Text="{Binding CreationDate,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" VerticalAlignment="Center" FontSize="14"></TextBlock>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ <DataGridTemplateColumn Header="LAST MODIFIED" Width="150" CanUserSort="True" SortMemberPath="LastUpdated">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <TextBlock Text="{Binding LastUpdated,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" VerticalAlignment="Center" FontSize="14"></TextBlock>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ <DataGridTemplateColumn Header="LAST RUN" Width="150" CanUserSort="True" SortMemberPath="LastRun">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <TextBlock Text="{Binding LastRun,Converter={StaticResource DateTimeUTCToShortDateTimeConverter},FallbackValue='Never',TargetNullValue='Never'}" VerticalAlignment="Center" FontSize="14"></TextBlock>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ <DataGridTemplateColumn Header="USER" Width="100" CanUserSort="True" SortMemberPath="User">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <TextBlock Text="{Binding User.Contact.FirstName}" VerticalAlignment="Center" FontSize="14"></TextBlock>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ <DataGridTemplateColumn Header="LENGTH" Width="100" CanUserSort="True" SortMemberPath="Length">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <TextBlock VerticalAlignment="Center" FontSize="14">
+ <Run Text="{Binding Length,Mode=OneWay,StringFormat=N2}"></Run>
+ <Run Text="m" Foreground="Gray"></Run>
+ </TextBlock>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ <DataGridTemplateColumn Header="DURATION" Width="100" CanUserSort="True" SortMemberPath="EstimatedDurationMili">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <TextBlock VerticalAlignment="Center" FontSize="14">
+ <Run Text="{Binding EstimatedDurationMili,Converter={StaticResource MillisecondsToTimeSpanConverter},Mode=OneWay,StringFormat=hh\\:mm\\:ss,TargetNullValue='Unknown'}"></Run>
+ </TextBlock>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ <DataGridTemplateColumn Width="1*" Header="SEGMENTS" CanUserSort="True" SortMemberPath="Segments.Count">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <StackPanel Orientation="Horizontal">
+ <ItemsControl HorizontalAlignment="Right" ItemsSource="{Binding Segments}">
+ <ItemsControl.ItemsPanel>
+ <ItemsPanelTemplate>
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" MaxWidth="110">
+
+ </StackPanel>
+ </ItemsPanelTemplate>
+ </ItemsControl.ItemsPanel>
+ <ItemsControl.ItemTemplate>
+ <DataTemplate>
+ <Border Width="25" Height="25" Margin="10 0 0 0" BorderThickness="1" BorderBrush="DimGray" CornerRadius="3" Background="{Binding SegmentBrush}">
+
+ </Border>
+ </DataTemplate>
+ </ItemsControl.ItemTemplate>
+ </ItemsControl>
+ <StackPanel Orientation="Horizontal" Margin="0 0 0 0" VerticalAlignment="Center">
+ <StackPanel.Style>
+ <Style TargetType="StackPanel">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding Segments.Count,Converter={StaticResource GreaterThanToBooleanConverter},ConverterParameter=3}" Value="True">
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </StackPanel.Style>
+ <materialDesign:PackIcon Kind="Plus" Width="18" Height="18" VerticalAlignment="Center" />
+ <TextBlock Margin="0 -3 0 0" Text="{Binding Segments.Count,Converter={StaticResource MathOperatorConverter},ConverterParameter='-3'}" FontSize="16" VerticalAlignment="Center" FontWeight="SemiBold" FontStyle="Italic"></TextBlock>
+ </StackPanel>
</StackPanel>
- </StackPanel>
- </DataTemplate>
- </DataGridTemplateColumn.CellTemplate>
- </DataGridTemplateColumn>
- </DataGrid.Columns>
- </controls:MultiSelectDataGrid>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ </DataGrid.Columns>
+ </controls:MultiSelectDataGrid>
+ </commonControls:LoadingPanel>
</Grid>
</DockPanel>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml
index a7348d869..68cd65ad4 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/MainView.xaml
@@ -575,7 +575,7 @@
<Grid Grid.Row="1">
- <controls:NavigationControl x:Name="TransitionControl" TransitionType="Slide" KeepElementsAttached="True">
+ <controls:NavigationControl x:Name="NavigationControl" TransitionType="Slide" KeepElementsAttached="True">
<local:MachineJobSelectionView controls:NavigationControl.NavigationName="MachineJobSelectionView" />
<local:JobView controls:NavigationControl.NavigationName="JobView" />
<local:RunningJobView controls:NavigationControl.NavigationName="RunningJobView" />
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/app.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/app.config
index 77b7003e2..0e58ccf54 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/app.config
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/app.config
@@ -50,6 +50,10 @@
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ </dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Properties/AssemblyInfo.cs
index 54e27ec27..6807ed5c8 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio Hardware Designer Module")]
-[assembly: AssemblyVersion("2.0.8.1633")]
+[assembly: AssemblyVersion("2.0.10.1159")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj
index 89942c6d6..efa7a669c 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Tango.MachineStudio.HardwareDesigner.csproj
@@ -8,7 +8,7 @@
<OutputType>library</OutputType>
<RootNamespace>Tango.MachineStudio.HardwareDesigner</RootNamespace>
<AssemblyName>Tango.MachineStudio.HardwareDesigner</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs
index 3dd4e62a3..6ba28cb72 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/MainViewVM.cs
@@ -11,118 +11,15 @@ using Tango.SharedUI;
using Tango.BL;
using Tango.SharedUI.Components;
using System.Runtime.CompilerServices;
+using Tango.MachineStudio.Common;
namespace Tango.MachineStudio.HardwareDesigner.ViewModels
{
- public class MainViewVM : ViewModel
+ public class MainViewVM : StudioViewModel
{
private INotificationProvider _notification;
private bool _isNew;
-
- private ObservablesEntitiesAdapter _adapter;
- public ObservablesEntitiesAdapter Adapter
- {
- get { return _adapter; }
- set { _adapter = value; RaisePropertyChangedAuto(); }
- }
-
- private SelectedObjectCollection<HardwareMotorType> _motorTypes;
- public SelectedObjectCollection<HardwareMotorType> MotorTypes
- {
- get { return _motorTypes; }
- set { _motorTypes = value; RaisePropertyChangedAuto(); }
- }
-
- private ObservableCollection<HardwareMotorType> _selectedMotorTypes;
- public ObservableCollection<HardwareMotorType> SelectedMotorTypes
- {
- get { return _selectedMotorTypes; }
- set { _selectedMotorTypes = value; RaisePropertyChangedAuto(); }
- }
-
- private SelectedObjectCollection<HardwareDancerType> _dancerTypes;
- public SelectedObjectCollection<HardwareDancerType> DancerTypes
- {
- get { return _dancerTypes; }
- set { _dancerTypes = value; RaisePropertyChangedAuto(); }
- }
-
- private ObservableCollection<HardwareDancerType> _selectedDancerTypes;
- public ObservableCollection<HardwareDancerType> SelectedDancerTypes
- {
- get { return _selectedDancerTypes; }
- set { _selectedDancerTypes = value; RaisePropertyChangedAuto(); }
- }
-
- private SelectedObjectCollection<HardwarePidControlType> _pidControlTypes;
- public SelectedObjectCollection<HardwarePidControlType> PidControlTypes
- {
- get { return _pidControlTypes; }
- set { _pidControlTypes = value; RaisePropertyChangedAuto(); }
- }
-
- private ObservableCollection<HardwarePidControlType> _selectedPidControlTypes;
- public ObservableCollection<HardwarePidControlType> SelectedPidControlTypes
- {
- get { return _selectedPidControlTypes; }
- set { _selectedPidControlTypes = value; RaisePropertyChangedAuto(); }
- }
-
- private SelectedObjectCollection<HardwareWinderType> _winderTypes;
- public SelectedObjectCollection<HardwareWinderType> WinderTypes
- {
- get { return _winderTypes; }
- set { _winderTypes = value; RaisePropertyChangedAuto(); }
- }
-
- private ObservableCollection<HardwareWinderType> _selectedWinderTypes;
- public ObservableCollection<HardwareWinderType> SelectedWinderTypes
- {
- get { return _selectedWinderTypes; }
- set { _selectedWinderTypes = value; RaisePropertyChangedAuto(); }
- }
-
- private SelectedObjectCollection<HardwareSpeedSensorType> _speedSensorTypes;
- public SelectedObjectCollection<HardwareSpeedSensorType> SpeedSensorTypes
- {
- get { return _speedSensorTypes; }
- set { _speedSensorTypes = value; RaisePropertyChangedAuto(); }
- }
-
- private ObservableCollection<HardwareSpeedSensorType> _selectedSpeedSensorTypes;
- public ObservableCollection<HardwareSpeedSensorType> SelectedSpeedSensorTypes
- {
- get { return _selectedSpeedSensorTypes; }
- set { _selectedSpeedSensorTypes = value; RaisePropertyChangedAuto(); }
- }
-
- private SelectedObjectCollection<HardwareBlowerType> _blowerTypes;
- public SelectedObjectCollection<HardwareBlowerType> BlowerTypes
- {
- get { return _blowerTypes; }
- set { _blowerTypes = value; RaisePropertyChangedAuto(); }
- }
-
- private ObservableCollection<HardwareBlowerType> _selectedBlowerTypes;
- public ObservableCollection<HardwareBlowerType> SelectedBlowerTypes
- {
- get { return _selectedBlowerTypes; }
- set { _selectedBlowerTypes = value; RaisePropertyChangedAuto(); }
- }
-
- private SelectedObjectCollection<HardwareBreakSensorType> _breakSensorTypes;
- public SelectedObjectCollection<HardwareBreakSensorType> BreakSensorTypes
- {
- get { return _breakSensorTypes; }
- set { _breakSensorTypes = value; RaisePropertyChangedAuto(); }
- }
-
- private ObservableCollection<HardwareBreakSensorType> _selectedBreakSensorTypes;
- public ObservableCollection<HardwareBreakSensorType> SelectedBreakSensorTypes
- {
- get { return _selectedBreakSensorTypes; }
- set { _selectedBreakSensorTypes = value; RaisePropertyChangedAuto(); }
- }
+ private ObservablesContext _db;
private HardwareVersion _selectedVersion;
public HardwareVersion SelectedVersion
@@ -144,25 +41,16 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels
get { return _selectedHardwareObject; }
set
{
- _selectedHardwareObject = null;
- RaisePropertyChangedAuto();
_selectedHardwareObject = value;
RaisePropertyChangedAuto();
}
}
- private Object _selectedHardwareObjectType;
- public Object SelectedHardwareObjectType
+ private ObservableCollection<HardwareVersion> _hardwareVersions;
+ public ObservableCollection<HardwareVersion> HardwareVersions
{
- get { return _selectedHardwareObjectType; }
- set
- {
- _selectedHardwareObjectType = null;
- RaisePropertyChangedAuto();
- _selectedHardwareObjectType = value;
- RaisePropertyChangedAuto();
- OnSelectedHardwareObjectTypeChanged();
- }
+ get { return _hardwareVersions; }
+ set { _hardwareVersions = value; RaisePropertyChangedAuto(); }
}
public RelayCommand SaveCommand { get; set; }
@@ -179,429 +67,242 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels
{
_notification = notification;
- Adapter = ObservablesEntitiesAdapter.Instance;
- SaveCommand = new RelayCommand(Save, () => SelectedVersion != null);
- NewCommand = new RelayCommand(New);
- DeleteCommand = new RelayCommand(Delete, () => !_isNew && SelectedVersion != null);
+ CurrentVersion = new HardwareVersion();
+
+ SaveCommand = new RelayCommand(Save, () => SelectedVersion != null && IsFree);
+ NewCommand = new RelayCommand(New, () => IsFree);
+ DeleteCommand = new RelayCommand(Delete, () => !_isNew && SelectedVersion != null && IsFree);
CurrentVersion = new HardwareVersion();
- CreateTemplate(CurrentVersion);
- CopyParametersCommand = new RelayCommand(CopyParameters, (x) => SelectedVersion != null && SelectedHardwareObjectType != null);
- CloneCommand = new RelayCommand(CloneCurrentVersion, () => SelectedVersion != null);
+ CopyParametersCommand = new RelayCommand(CopyParameters, (x) => SelectedVersion != null && IsFree);
+ CloneCommand = new RelayCommand(CloneCurrentVersion, () => SelectedVersion != null && IsFree);
+ }
+
+ public override void OnApplicationReady()
+ {
+ Task.Factory.StartNew(() =>
+ {
+ RefreshVersions();
+ CreateDefaultView();
+ });
}
private void CopyParameters(object obj)
{
- IObservableEntity source = obj.GetType().GetProperty("Data").GetValue(obj) as IObservableEntity;
- IObservableEntity target = null;
+ obj.MapPrimitivesTo(SelectedHardwareObject,
+ (prop) =>
+ !prop.PropertyType.IsEnum
+ &&
+ !prop.Name.ToLower().Contains("guid"));
+ }
- if (source is HardwareMotorType)
- {
- target = CurrentVersion.HardwareMotors.SingleOrDefault(x => x.HardwareMotorType == source);
- }
- else if (source is HardwareDancerType)
- {
- target = CurrentVersion.HardwareDancers.SingleOrDefault(x => x.HardwareDancerType == source);
- }
- else if (source is HardwarePidControlType)
- {
- target = CurrentVersion.HardwarePidControls.SingleOrDefault(x => x.HardwarePidControlType == source);
- }
- else if (source is HardwareWinderType)
- {
- target = CurrentVersion.HardwareWinders.SingleOrDefault(x => x.HardwareWinderType == source);
- }
- else if (source is HardwareSpeedSensorType)
- {
- target = CurrentVersion.HardwareSpeedSensors.SingleOrDefault(x => x.HardwareSpeedSensorType == source);
- }
- else if (source is HardwareBlowerType)
- {
- target = CurrentVersion.HardwareBlowers.SingleOrDefault(x => x.HardwareBlowerType == source);
- }
- else if (source is HardwareBreakSensorType)
- {
- target = CurrentVersion.HardwareBreakSensors.SingleOrDefault(x => x.HardwareBreakSensorType == source);
- }
+ private void CreateDefaultView()
+ {
+ if (_db != null) _db.Dispose();
- target.MapPrimitivesTo(SelectedHardwareObject);
+ _db = ObservablesContext.CreateDefault();
+
+ CurrentVersion.HardwareMotors = _db.HardwareMotorTypes.ToList().Select(x => new HardwareMotor() { HardwareMotorType = x }).ToObservableCollection();
+ CurrentVersion.HardwareDancers = _db.HardwareDancerTypes.ToList().Select(x => new HardwareDancer() { HardwareDancerType = x }).ToObservableCollection();
+ CurrentVersion.HardwarePidControls = _db.HardwarePidControlTypes.ToList().Select(x => new HardwarePidControl() { HardwarePidControlType = x }).ToObservableCollection();
+ CurrentVersion.HardwareWinders = _db.HardwareWinderTypes.ToList().Select(x => new HardwareWinder() { HardwareWinderType = x }).ToObservableCollection();
+ CurrentVersion.HardwareSpeedSensors = _db.HardwareSpeedSensorTypes.ToList().Select(x => new HardwareSpeedSensor() { HardwareSpeedSensorType = x }).ToObservableCollection();
+ CurrentVersion.HardwareBlowers = _db.HardwareBlowerTypes.ToList().Select(x => new HardwareBlower() { HardwareBlowerType = x }).ToObservableCollection();
+ CurrentVersion.HardwareBreakSensors = _db.HardwareBreakSensorTypes.ToList().Select(x => new HardwareBreakSensor() { HardwareBreakSensorType = x }).ToObservableCollection();
}
- private void OnSelectedHardwareObjectTypeChanged()
+ private void RefreshVersions()
{
- if (SelectedHardwareObjectType != null)
+ using (var db = ObservablesContext.CreateDefault())
{
- if (SelectedHardwareObjectType is SelectedObject<HardwareMotorType>)
+ _hardwareVersions = db.HardwareVersions.ToObservableCollection();
+ InvokeUI(() =>
{
- var type = (SelectedHardwareObjectType as SelectedObject<HardwareMotorType>).Data;
- var hardwareObj = CurrentVersion.HardwareMotors.SingleOrDefault(x => x.HardwareMotorType == type);
+ RaisePropertyChanged(nameof(HardwareVersions));
+ });
+ }
+ }
- if (hardwareObj != null)
- {
- SelectedHardwareObject = hardwareObj;
- }
- else
- {
- hardwareObj = new HardwareMotor() { HardwareMotorType = type };
- CurrentVersion.HardwareMotors.Add(hardwareObj);
- SelectedHardwareObject = hardwareObj;
- }
- }
- else if (SelectedHardwareObjectType is SelectedObject<HardwareDancerType>)
- {
- var type = (SelectedHardwareObjectType as SelectedObject<HardwareDancerType>).Data;
- var hardwareObj = CurrentVersion.HardwareDancers.SingleOrDefault(x => x.HardwareDancerType == type);
+ private void CreateVersionView(HardwareVersion selectedVersion)
+ {
+ if (_db != null) _db.Dispose();
- if (hardwareObj != null)
- {
- SelectedHardwareObject = hardwareObj;
- }
- else
- {
- hardwareObj = new HardwareDancer() { HardwareDancerType = type };
- CurrentVersion.HardwareDancers.Add(hardwareObj);
- SelectedHardwareObject = hardwareObj;
- }
- }
- else if (SelectedHardwareObjectType is SelectedObject<HardwarePidControlType>)
- {
- var type = (SelectedHardwareObjectType as SelectedObject<HardwarePidControlType>).Data;
- var hardwareObj = CurrentVersion.HardwarePidControls.SingleOrDefault(x => x.HardwarePidControlType == type);
+ _db = ObservablesContext.CreateDefault();
- if (hardwareObj != null)
- {
- SelectedHardwareObject = hardwareObj;
- }
- else
- {
- hardwareObj = new HardwarePidControl() { HardwarePidControlType = type };
- CurrentVersion.HardwarePidControls.Add(hardwareObj);
- SelectedHardwareObject = hardwareObj;
- }
- }
- else if (SelectedHardwareObjectType is SelectedObject<HardwareWinderType>)
- {
- var type = (SelectedHardwareObjectType as SelectedObject<HardwareWinderType>).Data;
- var hardwareObj = CurrentVersion.HardwareWinders.SingleOrDefault(x => x.HardwareWinderType == type);
+ CurrentVersion = _db.Adapter.GetHardwareVersion(x => x.Guid == selectedVersion.Guid);
- if (hardwareObj != null)
- {
- SelectedHardwareObject = hardwareObj;
- }
- else
- {
- hardwareObj = new HardwareWinder() { HardwareWinderType = type };
- CurrentVersion.HardwareWinders.Add(hardwareObj);
- SelectedHardwareObject = hardwareObj;
- }
- }
- else if (SelectedHardwareObjectType is SelectedObject<HardwareSpeedSensorType>)
- {
- var type = (SelectedHardwareObjectType as SelectedObject<HardwareSpeedSensorType>).Data;
- var hardwareObj = CurrentVersion.HardwareSpeedSensors.SingleOrDefault(x => x.HardwareSpeedSensorType == type);
- if (hardwareObj != null)
- {
- SelectedHardwareObject = hardwareObj;
- }
- else
- {
- hardwareObj = new HardwareSpeedSensor() { HardwareSpeedSensorType = type };
- CurrentVersion.HardwareSpeedSensors.Add(hardwareObj);
- SelectedHardwareObject = hardwareObj;
- }
- }
- else if (SelectedHardwareObjectType is SelectedObject<HardwareBlowerType>)
+ InvokeUINow(() =>
+ {
+ ObservablesStaticCollections.Instance.HardwareMotorTypes.Where(x => !CurrentVersion.HardwareMotors.ToList().Exists(y => y.HardwareMotorType.Code == x.Code)).ToList().ForEach(x =>
{
- var type = (SelectedHardwareObjectType as SelectedObject<HardwareBlowerType>).Data;
- var hardwareObj = CurrentVersion.HardwareBlowers.SingleOrDefault(x => x.HardwareBlowerType == type);
+ CurrentVersion.HardwareMotors.Add(new HardwareMotor()
+ {
+ HardwareMotorType = _db.HardwareMotorTypes.SingleOrDefault(y => y.Code == x.Code),
+ });
+ });
- if (hardwareObj != null)
+ CurrentVersion.HardwareMotors = CurrentVersion.HardwareMotors.OrderBy(x => x.HardwareMotorType.Code).ToObservableCollection();
+
+ ObservablesStaticCollections.Instance.HardwareDancerTypes.Where(x => !CurrentVersion.HardwareDancers.ToList().Exists(y => y.HardwareDancerType.Code == x.Code)).ToList().ForEach(x =>
+ {
+ CurrentVersion.HardwareDancers.Add(new HardwareDancer()
{
- SelectedHardwareObject = hardwareObj;
- }
- else
+ HardwareDancerType = _db.HardwareDancerTypes.SingleOrDefault(y => y.Code == x.Code)
+ });
+ });
+
+ CurrentVersion.HardwareDancers = CurrentVersion.HardwareDancers.OrderBy(x => x.HardwareDancerType.Code).ToObservableCollection();
+
+ ObservablesStaticCollections.Instance.HardwarePidControlTypes.Where(x => !CurrentVersion.HardwarePidControls.ToList().Exists(y => y.HardwarePidControlType.Code == x.Code)).ToList().ForEach(x =>
+ {
+ CurrentVersion.HardwarePidControls.Add(new HardwarePidControl()
{
- hardwareObj = new HardwareBlower() { HardwareBlowerType = type };
- CurrentVersion.HardwareBlowers.Add(hardwareObj);
- SelectedHardwareObject = hardwareObj;
- }
- }
- else if (SelectedHardwareObjectType is SelectedObject<HardwareBreakSensorType>)
+ HardwarePidControlType = _db.HardwarePidControlTypes.SingleOrDefault(y => y.Code == x.Code)
+ });
+ });
+
+ CurrentVersion.HardwarePidControls = CurrentVersion.HardwarePidControls.OrderBy(x => x.HardwarePidControlType.Code).ToObservableCollection();
+
+ ObservablesStaticCollections.Instance.HardwareWinderTypes.Where(x => !CurrentVersion.HardwareWinders.ToList().Exists(y => y.HardwareWinderType.Code == x.Code)).ToList().ForEach(x =>
{
- var type = (SelectedHardwareObjectType as SelectedObject<HardwareBreakSensorType>).Data;
- var hardwareObj = CurrentVersion.HardwareBreakSensors.SingleOrDefault(x => x.HardwareBreakSensorType == type);
+ CurrentVersion.HardwareWinders.Add(new HardwareWinder()
+ {
+ HardwareWinderType = _db.HardwareWinderTypes.SingleOrDefault(y => y.Code == x.Code)
+ });
+ });
+
+ CurrentVersion.HardwareWinders = CurrentVersion.HardwareWinders.OrderBy(x => x.HardwareWinderType.Code).ToObservableCollection();
- if (hardwareObj != null)
+ ObservablesStaticCollections.Instance.HardwareSpeedSensorTypes.Where(x => !CurrentVersion.HardwareSpeedSensors.ToList().Exists(y => y.HardwareSpeedSensorType.Code == x.Code)).ToList().ForEach(x =>
+ {
+ CurrentVersion.HardwareSpeedSensors.Add(new HardwareSpeedSensor()
{
- SelectedHardwareObject = hardwareObj;
- }
- else
+ HardwareSpeedSensorType = _db.HardwareSpeedSensorTypes.SingleOrDefault(y => y.Code == x.Code)
+ });
+ });
+
+ CurrentVersion.HardwareSpeedSensors = CurrentVersion.HardwareSpeedSensors.OrderBy(x => x.HardwareSpeedSensorType.Code).ToObservableCollection();
+
+ ObservablesStaticCollections.Instance.HardwareBlowerTypes.Where(x => !CurrentVersion.HardwareBlowers.ToList().Exists(y => y.HardwareBlowerType.Code == x.Code)).ToList().ForEach(x =>
+ {
+ CurrentVersion.HardwareBlowers.Add(new HardwareBlower()
{
- hardwareObj = new HardwareBreakSensor() { HardwareBreakSensorType = type };
- CurrentVersion.HardwareBreakSensors.Add(hardwareObj);
- SelectedHardwareObject = hardwareObj;
- }
- }
- }
- }
+ HardwareBlowerType = _db.HardwareBlowerTypes.SingleOrDefault(y => y.Code == x.Code)
+ });
+ });
- private void CreateTemplate(HardwareVersion version)
- {
- if (version == null)
- {
- SelectedMotorTypes = new ObservableCollection<HardwareMotorType>();
- SelectedDancerTypes = new ObservableCollection<HardwareDancerType>();
- SelectedPidControlTypes = new ObservableCollection<HardwarePidControlType>();
- SelectedWinderTypes = new ObservableCollection<HardwareWinderType>();
- SelectedSpeedSensorTypes = new ObservableCollection<HardwareSpeedSensorType>();
- SelectedBlowerTypes = new ObservableCollection<HardwareBlowerType>();
- SelectedBreakSensorTypes = new ObservableCollection<HardwareBreakSensorType>();
- }
- else
- {
- SelectedMotorTypes = version.HardwareMotors.Select(x => x.HardwareMotorType).ToObservableCollection();
- SelectedDancerTypes = version.HardwareDancers.Select(x => x.HardwareDancerType).ToObservableCollection();
- SelectedPidControlTypes = version.HardwarePidControls.Select(x => x.HardwarePidControlType).ToObservableCollection();
- SelectedWinderTypes = version.HardwareWinders.Select(x => x.HardwareWinderType).ToObservableCollection();
- SelectedSpeedSensorTypes = version.HardwareSpeedSensors.Select(x => x.HardwareSpeedSensorType).ToObservableCollection();
- SelectedBlowerTypes = version.HardwareBlowers.Select(x => x.HardwareBlowerType).ToObservableCollection();
- SelectedBreakSensorTypes = version.HardwareBreakSensors.Select(x => x.HardwareBreakSensorType).ToObservableCollection();
- }
+ CurrentVersion.HardwareBlowers = CurrentVersion.HardwareBlowers.OrderBy(x => x.HardwareBlowerType.Code).ToObservableCollection();
+
+ ObservablesStaticCollections.Instance.HardwareBreakSensorTypes.Where(x => !CurrentVersion.HardwareBreakSensors.ToList().Exists(y => y.HardwareBreakSensorType.Code == x.Code)).ToList().ForEach(x =>
+ {
+ CurrentVersion.HardwareBreakSensors.Add(new HardwareBreakSensor()
+ {
+ HardwareBreakSensorType = _db.HardwareBreakSensorTypes.SingleOrDefault(y => y.Code == x.Code)
+ });
+ });
- MotorTypes = new SelectedObjectCollection<HardwareMotorType>(Adapter.HardwareMotorTypes, SelectedMotorTypes);
- DancerTypes = new SelectedObjectCollection<HardwareDancerType>(Adapter.HardwareDancerTypes, SelectedDancerTypes);
- PidControlTypes = new SelectedObjectCollection<HardwarePidControlType>(Adapter.HardwarePidControlTypes, SelectedPidControlTypes);
- WinderTypes = new SelectedObjectCollection<HardwareWinderType>(Adapter.HardwareWinderTypes, SelectedWinderTypes);
- SpeedSensorTypes = new SelectedObjectCollection<HardwareSpeedSensorType>(Adapter.HardwareSpeedSensorTypes, SelectedSpeedSensorTypes);
- BlowerTypes = new SelectedObjectCollection<HardwareBlowerType>(Adapter.HardwareBlowerTypes, SelectedBlowerTypes);
- BreakSensorTypes = new SelectedObjectCollection<HardwareBreakSensorType>(Adapter.HardwareBreakSensorTypes, SelectedBreakSensorTypes);
+ CurrentVersion.HardwareBreakSensors = CurrentVersion.HardwareBreakSensors.OrderBy(x => x.HardwareBreakSensorType.Code).ToObservableCollection();
+ });
}
- private void OnSelectedVersionChanged()
+ private async void OnSelectedVersionChanged()
{
if (SelectedVersion != null)
{
- _isNew = false;
- CurrentVersion = SelectedVersion.Clone();
- CreateTemplate(CurrentVersion);
- }
+ using (_notification.PushTaskItem("Loading hardware version..."))
+ {
+ IsFree = false;
- InvalidateRelayCommands();
- }
+ await Task.Factory.StartNew(() =>
+ {
+ _isNew = false;
+ var selectedVersion = SelectedVersion;
+ RefreshVersions();
+ var version = _hardwareVersions.SingleOrDefault(X => X.Guid == selectedVersion.Guid);
+ CreateVersionView(SelectedVersion);
- private bool CheckCurrentVersionNull()
- {
- if (CurrentVersion == null)
- {
- _notification.ShowInfo("Please select a hardware version before attempting to insert any components.");
- return true;
+ InvokeUI(() =>
+ {
+ _selectedVersion = version;
+ RaisePropertyChanged(nameof(SelectedVersion));
+ });
+ });
+
+ IsFree = true;
+ }
}
- return false;
+ InvalidateRelayCommands();
}
- private void New()
+ private async void New()
{
String name = _notification.ShowTextInput("Enter hardware version name", "Name");
if (!String.IsNullOrWhiteSpace(name))
{
- SelectedVersion = null;
- CurrentVersion = new HardwareVersion();
- CurrentVersion.Version = Adapter.HardwareVersions.Max(x => x.Version) + 1;
- CurrentVersion.Name = name;
- CreateTemplate(CurrentVersion);
- _isNew = true;
- InvalidateRelayCommands();
- }
- }
-
- private async void Save()
- {
- if (CurrentVersion != null)
- {
- using (_notification.PushTaskItem("Saving hardware version..."))
+ using (_notification.PushTaskItem("Creating new machine version..."))
{
+ IsFree = false;
+
await Task.Factory.StartNew(() =>
{
- HardwareVersion realVersion = null;
-
- if (_isNew)
- {
- realVersion = CurrentVersion.Clone();
+ SelectedVersion = null;
+ CurrentVersion = new HardwareVersion();
+ CurrentVersion.Version = HardwareVersions.Max(x => x.Version) + 1;
+ CurrentVersion.Name = name;
+ CreateDefaultView();
- realVersion.HardwareMotors.ToList().Where(x => !SelectedMotorTypes.Contains(x.HardwareMotorType)).ToList().ForEach(x => realVersion.HardwareMotors.Remove(x));
- realVersion.HardwareDancers.ToList().Where(x => !SelectedDancerTypes.Contains(x.HardwareDancerType)).ToList().ForEach(x => realVersion.HardwareDancers.Remove(x));
- realVersion.HardwarePidControls.ToList().Where(x => !SelectedPidControlTypes.Contains(x.HardwarePidControlType)).ToList().ForEach(x => realVersion.HardwarePidControls.Remove(x));
- realVersion.HardwareWinders.ToList().Where(x => !SelectedWinderTypes.Contains(x.HardwareWinderType)).ToList().ForEach(x => realVersion.HardwareWinders.Remove(x));
- realVersion.HardwareSpeedSensors.ToList().Where(x => !SelectedSpeedSensorTypes.Contains(x.HardwareSpeedSensorType)).ToList().ForEach(x => realVersion.HardwareSpeedSensors.Remove(x));
- realVersion.HardwareBlowers.ToList().Where(x => !SelectedBlowerTypes.Contains(x.HardwareBlowerType)).ToList().ForEach(x => realVersion.HardwareBlowers.Remove(x));
- realVersion.HardwareBreakSensors.ToList().Where(x => !SelectedBreakSensorTypes.Contains(x.HardwareBreakSensorType)).ToList().ForEach(x => realVersion.HardwareBreakSensors.Remove(x));
- }
- else
- {
- realVersion = Adapter.HardwareVersions.SingleOrDefault(x => x.Guid == SelectedVersion.Guid);
-
- realVersion.Version = CurrentVersion.Version;
- realVersion.Name = CurrentVersion.Name;
-
- realVersion.HardwareDancers.ToList().ForEach(x => x.DefferedDelete(Adapter.Context));
- realVersion.HardwareMotors.ToList().ForEach(x => x.DefferedDelete(Adapter.Context));
- realVersion.HardwarePidControls.ToList().ForEach(x => x.DefferedDelete(Adapter.Context));
- realVersion.HardwareWinders.ToList().ForEach(x => x.DefferedDelete(Adapter.Context));
- realVersion.HardwareSpeedSensors.ToList().ForEach(x => x.DefferedDelete(Adapter.Context));
- realVersion.HardwareBlowers.ToList().ForEach(x => x.DefferedDelete(Adapter.Context));
- realVersion.HardwareBreakSensors.ToList().ForEach(x => x.DefferedDelete(Adapter.Context));
+ _db.HardwareVersions.Add(CurrentVersion);
+ _db.SaveChanges();
- realVersion.HardwareDancers.Clear();
- realVersion.HardwareMotors.Clear();
- realVersion.HardwarePidControls.Clear();
- realVersion.HardwareWinders.Clear();
- realVersion.HardwareSpeedSensors.Clear();
- realVersion.HardwareBlowers.Clear();
- realVersion.HardwareBreakSensors.Clear();
-
- foreach (var type in SelectedDancerTypes)
- {
- var item = CurrentVersion.HardwareDancers.SingleOrDefault(x => x.HardwareDancerType == type);
- if (item != null)
- {
- item.HardwareVersionGuid = realVersion.Guid;
- realVersion.HardwareDancers.Add(item);
- }
- else
- {
- realVersion.HardwareDancers.Add(new HardwareDancer()
- {
- HardwareVersionGuid = realVersion.Guid,
- HardwareDancerType = type
- });
- }
- }
+ RefreshVersions();
- foreach (var type in SelectedMotorTypes)
- {
- var item = CurrentVersion.HardwareMotors.SingleOrDefault(x => x.HardwareMotorType == type);
- if (item != null)
- {
- item.HardwareVersionGuid = realVersion.Guid;
- realVersion.HardwareMotors.Add(item);
- }
- else
- {
- realVersion.HardwareMotors.Add(new HardwareMotor()
- {
- HardwareVersionGuid = realVersion.Guid,
- HardwareMotorType = type
- });
- }
- }
-
- foreach (var type in SelectedPidControlTypes)
- {
- var item = CurrentVersion.HardwarePidControls.SingleOrDefault(x => x.HardwarePidControlType == type);
- if (item != null)
- {
- item.HardwareVersionGuid = realVersion.Guid;
- realVersion.HardwarePidControls.Add(item);
- }
- else
- {
- realVersion.HardwarePidControls.Add(new HardwarePidControl()
- {
- HardwareVersionGuid = realVersion.Guid,
- HardwarePidControlType = type
- });
- }
- }
-
- foreach (var type in SelectedWinderTypes)
- {
- var item = CurrentVersion.HardwareWinders.SingleOrDefault(x => x.HardwareWinderType == type);
- if (item != null)
- {
- item.HardwareVersionGuid = realVersion.Guid;
- realVersion.HardwareWinders.Add(item);
- }
- else
- {
- realVersion.HardwareWinders.Add(new HardwareWinder()
- {
- HardwareVersionGuid = realVersion.Guid,
- HardwareWinderType = type
- });
- }
- }
-
- foreach (var type in SelectedSpeedSensorTypes)
- {
- var item = CurrentVersion.HardwareSpeedSensors.SingleOrDefault(x => x.HardwareSpeedSensorType == type);
- if (item != null)
- {
- item.HardwareVersionGuid = realVersion.Guid;
- realVersion.HardwareSpeedSensors.Add(item);
- }
- else
- {
- realVersion.HardwareSpeedSensors.Add(new HardwareSpeedSensor()
- {
- HardwareVersionGuid = realVersion.Guid,
- HardwareSpeedSensorType = type
- });
- }
- }
+ InvokeUI(() =>
+ {
+ _selectedVersion = HardwareVersions.SingleOrDefault(x => x.Guid == CurrentVersion.Guid);
+ RaisePropertyChanged(nameof(SelectedVersion));
+ });
- foreach (var type in SelectedBlowerTypes)
- {
- var item = CurrentVersion.HardwareBlowers.SingleOrDefault(x => x.HardwareBlowerType == type);
- if (item != null)
- {
- item.HardwareVersionGuid = realVersion.Guid;
- realVersion.HardwareBlowers.Add(item);
- }
- else
- {
- realVersion.HardwareBlowers.Add(new HardwareBlower()
- {
- HardwareVersionGuid = realVersion.Guid,
- HardwareBlowerType = type
- });
- }
- }
+ _isNew = true;
+ InvalidateRelayCommands();
+ });
- foreach (var type in SelectedBreakSensorTypes)
- {
- var item = CurrentVersion.HardwareBreakSensors.SingleOrDefault(x => x.HardwareBreakSensorType == type);
- if (item != null)
- {
- item.HardwareVersionGuid = realVersion.Guid;
- realVersion.HardwareBreakSensors.Add(item);
- }
- else
- {
- realVersion.HardwareBreakSensors.Add(new HardwareBreakSensor()
- {
- HardwareVersionGuid = realVersion.Guid,
- HardwareBreakSensorType = type
- });
- }
- }
- }
+ IsFree = true;
+ }
+ }
+ }
+ private async void Save()
+ {
+ using (_notification.PushTaskItem("Saving hardware version..."))
+ {
+ try
+ {
+ IsFree = false;
+ await Task.Factory.StartNew(() =>
+ {
+ _db.SaveChanges();
+ RefreshVersions();
- if (_isNew)
+ InvokeUI(() =>
{
- Adapter.Context.HardwareVersions.Add(realVersion);
- }
-
- realVersion.Save(Adapter.Context);
-
- SelectedVersion = Adapter.HardwareVersions.SingleOrDefault(x => x.Guid == realVersion.Guid);
+ SelectedVersion = HardwareVersions.SingleOrDefault(x => x.Guid == CurrentVersion.Guid);
+ });
});
}
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Could not save hardware version.");
+ _notification.ShowError($"An error occurred while trying to save this hardware version.\n{ex.Message}");
+ }
+ finally
+ {
+ IsFree = true;
+ }
}
}
@@ -615,55 +316,71 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels
{
using (_notification.PushTaskItem("Cloning hardware configuration..."))
{
- await Task.Factory.StartNew(() =>
+ try
{
- var realVersion = CurrentVersion.Clone();
- realVersion.Name = name;
- realVersion.Version = 1;
-
- realVersion.HardwareMotors.ToList().Where(x => !SelectedMotorTypes.Contains(x.HardwareMotorType)).ToList().ForEach(x => realVersion.HardwareMotors.Remove(x));
- realVersion.HardwareDancers.ToList().Where(x => !SelectedDancerTypes.Contains(x.HardwareDancerType)).ToList().ForEach(x => realVersion.HardwareDancers.Remove(x));
- realVersion.HardwarePidControls.ToList().Where(x => !SelectedPidControlTypes.Contains(x.HardwarePidControlType)).ToList().ForEach(x => realVersion.HardwarePidControls.Remove(x));
- realVersion.HardwareWinders.ToList().Where(x => !SelectedWinderTypes.Contains(x.HardwareWinderType)).ToList().ForEach(x => realVersion.HardwareWinders.Remove(x));
- realVersion.HardwareSpeedSensors.ToList().Where(x => !SelectedSpeedSensorTypes.Contains(x.HardwareSpeedSensorType)).ToList().ForEach(x => realVersion.HardwareSpeedSensors.Remove(x));
- realVersion.HardwareBlowers.ToList().Where(x => !SelectedBlowerTypes.Contains(x.HardwareBlowerType)).ToList().ForEach(x => realVersion.HardwareBlowers.Remove(x));
- realVersion.HardwareBreakSensors.ToList().Where(x => !SelectedBreakSensorTypes.Contains(x.HardwareBreakSensorType)).ToList().ForEach(x => realVersion.HardwareBreakSensors.Remove(x));
-
- realVersion.HardwareMotors.ToList().ForEach(x => x.HardwareVersionGuid = realVersion.Guid);
- realVersion.HardwareDancers.ToList().ForEach(x => x.HardwareVersionGuid = realVersion.Guid);
- realVersion.HardwarePidControls.ToList().ForEach(x => x.HardwareVersionGuid = realVersion.Guid);
- realVersion.HardwareWinders.ToList().ForEach(x => x.HardwareVersionGuid = realVersion.Guid);
- realVersion.HardwareSpeedSensors.ToList().ForEach(x => x.HardwareVersionGuid = realVersion.Guid);
- realVersion.HardwareBlowers.ToList().ForEach(x => x.HardwareVersionGuid = realVersion.Guid);
- realVersion.HardwareBreakSensors.ToList().ForEach(x => x.HardwareVersionGuid = realVersion.Guid);
+ IsFree = false;
- realVersion.HardwareMotors.ToList().ForEach(x => x.HardwareVersion = realVersion);
- realVersion.HardwareDancers.ToList().ForEach(x => x.HardwareVersion = realVersion);
- realVersion.HardwarePidControls.ToList().ForEach(x => x.HardwareVersion = realVersion);
- realVersion.HardwareWinders.ToList().ForEach(x => x.HardwareVersion = realVersion);
- realVersion.HardwareSpeedSensors.ToList().ForEach(x => x.HardwareVersion = realVersion);
- realVersion.HardwareBlowers.ToList().ForEach(x => x.HardwareVersion = realVersion);
- realVersion.HardwareBreakSensors.ToList().ForEach(x => x.HardwareVersion = realVersion);
-
- Adapter.Context.HardwareVersions.Add(realVersion);
- realVersion.Save(Adapter.Context);
+ await Task.Factory.StartNew(() =>
+ {
+ var cloned = CurrentVersion.Clone();
+ cloned.Name = name;
+ cloned.Version = HardwareVersions.Max(x => x.Version) + 1;
+ _db.HardwareVersions.Add(cloned);
+ _db.SaveChanges();
+ RefreshVersions();
- SelectedVersion = Adapter.HardwareVersions.SingleOrDefault(x => x.Guid == realVersion.Guid);
- });
+ InvokeUI(() =>
+ {
+ SelectedVersion = HardwareVersions.SingleOrDefault(x => x.Guid == cloned.Guid);
+ });
+ });
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Could not clone hardware version.");
+ _notification.ShowError($"An error occurred while trying to clone this hardware version.\n{ex.Message}");
+ }
+ finally
+ {
+ IsFree = true;
+ }
}
}
}
+
}
- private void Delete()
+ private async void Delete()
{
if (_notification.ShowQuestion("Are you sure you want to delete this hardware version?"))
{
using (_notification.PushTaskItem("Deleting hardware version..."))
{
- SelectedVersion.DeleteAsync(Adapter.Context);
- SelectedVersion = null;
- CurrentVersion = null;
+ try
+ {
+ IsFree = false;
+
+ await CurrentVersion.DeleteCascadeAsync(_db);
+
+ await Task.Factory.StartNew(() =>
+ {
+ SelectedVersion = null;
+ RefreshVersions();
+
+ CurrentVersion = new HardwareVersion();
+ CreateDefaultView();
+ InvalidateRelayCommands();
+ });
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, "Could not delete hardware version.");
+ _notification.ShowError($"An error occurred while trying to delete this hardware version.\n{ex.Message}");
+ }
+ finally
+ {
+ IsFree = true;
+ }
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml
index 86e0da5b5..293b947f0 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/Views/MainView.xaml
@@ -14,7 +14,7 @@
xmlns:observables="clr-namespace:Tango.BL.Entities;assembly=Tango.BL"
xmlns:global="clr-namespace:Tango.MachineStudio.HardwareDesigner"
mc:Ignorable="d"
- d:DesignHeight="720" d:DesignWidth="1280" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">
+ d:DesignHeight="2000" d:DesignWidth="1280" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">
<UserControl.Resources>
<converters:DoubleToIntConverter x:Key="DoubleToIntConverter" />
@@ -57,7 +57,7 @@
<TextBlock FontSize="30" FontStyle="Italic" VerticalAlignment="Center" Margin="50 10 10 0" Foreground="Silver" FontWeight="Bold">HARDWARE DESIGNER</TextBlock>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" Margin="10 10 0 0">
<materialDesign:PackIcon Kind="Pencil" Width="32" Height="32" Foreground="Silver" />
- <ComboBox ItemsSource="{Binding Adapter.HardwareVersions}" SelectedItem="{Binding SelectedVersion}" Width="300" FontSize="16" FontWeight="Bold" Margin="5 0 0 0" materialDesign:HintAssist.Hint="Hardware Version">
+ <ComboBox IsEnabled="{Binding IsFree}" ItemsSource="{Binding HardwareVersions}" SelectedItem="{Binding SelectedVersion}" Width="300" FontSize="16" FontWeight="Bold" Margin="5 0 0 0" materialDesign:HintAssist.Hint="Hardware Version">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock><Run Text="{Binding Name}"></Run> <Run></Run> <Run Foreground="Gray" FontSize="14">v</Run><Run Foreground="Gray" FontSize="14" Text="{Binding Version}"></Run></TextBlock>
@@ -72,22 +72,22 @@
<Grid Grid.Row="1">
- <ScrollViewer VerticalScrollBarVisibility="Auto" Margin="50 20 0 0">
+ <ScrollViewer VerticalScrollBarVisibility="Auto" Margin="50 20 0 0" IsEnabled="{Binding IsFree}">
<StackPanel>
<StackPanel Orientation="Horizontal">
<Image VerticalAlignment="Center" Source="../Images/engine.png" Width="32"></Image>
<TextBlock Margin="10 0 0 0" VerticalAlignment="Center" FontSize="18" FontWeight="SemiBold">MOTORS</TextBlock>
</StackPanel>
- <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding MotorTypes}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObjectType}">
+ <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding CurrentVersion.HardwareMotors}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObject}">
<ListBox.ItemTemplate>
- <DataTemplate DataType="{x:Type entities:HardwareMotorType}">
+ <DataTemplate DataType="{x:Type entities:HardwareMotor}">
<DockPanel>
<Button DockPanel.Dock="Right" Cursor="Hand" Foreground="DimGray" Height="20" FontSize="10" ToolTip="Copy this item parameters to the selected item" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.CopyParametersCommand}" CommandParameter="{Binding}">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource MaterialDesignFlatButton}">
<Setter Property="Visibility" Value="Collapsed"></Setter>
<Style.Triggers>
- <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObjectType.Data.ObjectType.BaseType}" Value="{x:Type entities:HardwareMotorType}">
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObject.ObjectType.BaseType}" Value="{x:Type entities:HardwareMotor}">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsSelected}" Value="True">
@@ -104,8 +104,8 @@
</Button.Content>
</Button>
<StackPanel Orientation="Horizontal">
- <CheckBox VerticalAlignment="Center" IsChecked="{Binding IsSelected}"></CheckBox>
- <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding Data.Description}"></TextBlock>
+ <CheckBox VerticalAlignment="Center" IsChecked="{Binding Active}"></CheckBox>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding HardwareMotorType.Description}"></TextBlock>
</StackPanel>
</DockPanel>
</DataTemplate>
@@ -116,16 +116,16 @@
<Image VerticalAlignment="Center" Source="../Images/compass.png" Width="32"></Image>
<TextBlock Margin="10 0 0 0" VerticalAlignment="Center" FontSize="18" FontWeight="SemiBold">DANCERS</TextBlock>
</StackPanel>
- <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding DancerTypes}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObjectType}">
+ <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding CurrentVersion.HardwareDancers}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObject}">
<ListBox.ItemTemplate>
- <DataTemplate DataType="{x:Type entities:HardwareDancerType}">
+ <DataTemplate DataType="{x:Type entities:HardwareDancer}">
<DockPanel>
<Button DockPanel.Dock="Right" Cursor="Hand" Foreground="DimGray" Height="20" FontSize="10" ToolTip="Copy this item parameters to the selected item" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.CopyParametersCommand}" CommandParameter="{Binding}">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource MaterialDesignFlatButton}">
<Setter Property="Visibility" Value="Collapsed"></Setter>
<Style.Triggers>
- <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObjectType.Data.ObjectType.BaseType}" Value="{x:Type entities:HardwareDancerType}">
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObject.ObjectType.BaseType}" Value="{x:Type entities:HardwareDancer}">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsSelected}" Value="True">
@@ -142,8 +142,8 @@
</Button.Content>
</Button>
<StackPanel Orientation="Horizontal">
- <CheckBox VerticalAlignment="Center" IsChecked="{Binding IsSelected}"></CheckBox>
- <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding Data.Description}"></TextBlock>
+ <CheckBox VerticalAlignment="Center" IsChecked="{Binding Active}"></CheckBox>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding HardwareDancerType.Description}"></TextBlock>
</StackPanel>
</DockPanel>
</DataTemplate>
@@ -154,16 +154,16 @@
<Image VerticalAlignment="Center" Source="../Images/balance.png" Width="32"></Image>
<TextBlock Margin="10 0 0 0" VerticalAlignment="Center" FontSize="18" FontWeight="SemiBold">PID CONTROLS</TextBlock>
</StackPanel>
- <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding PidControlTypes}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObjectType}">
+ <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding CurrentVersion.HardwarePidControls}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObject}">
<ListBox.ItemTemplate>
- <DataTemplate DataType="{x:Type entities:HardwarePidControlType}">
+ <DataTemplate DataType="{x:Type entities:HardwarePidControl}">
<DockPanel>
<Button DockPanel.Dock="Right" Cursor="Hand" Foreground="DimGray" Height="20" FontSize="10" ToolTip="Copy this item parameters to the selected item" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.CopyParametersCommand}" CommandParameter="{Binding}">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource MaterialDesignFlatButton}">
<Setter Property="Visibility" Value="Collapsed"></Setter>
<Style.Triggers>
- <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObjectType.Data.ObjectType.BaseType}" Value="{x:Type entities:HardwarePidControlType}">
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObject.ObjectType.BaseType}" Value="{x:Type entities:HardwarePidControl}">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsSelected}" Value="True">
@@ -180,8 +180,8 @@
</Button.Content>
</Button>
<StackPanel Orientation="Horizontal">
- <CheckBox VerticalAlignment="Center" IsChecked="{Binding IsSelected}"></CheckBox>
- <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding Data.Description}"></TextBlock>
+ <CheckBox VerticalAlignment="Center" IsChecked="{Binding Active}"></CheckBox>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding HardwarePidControlType.Description}"></TextBlock>
</StackPanel>
</DockPanel>
</DataTemplate>
@@ -192,16 +192,16 @@
<Image VerticalAlignment="Center" Source="../Images/thread.png" Width="32"></Image>
<TextBlock Margin="10 0 0 0" VerticalAlignment="Center" FontSize="18" FontWeight="SemiBold">WINDERS</TextBlock>
</StackPanel>
- <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding WinderTypes}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObjectType}">
+ <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding CurrentVersion.HardwareWinders}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObject}">
<ListBox.ItemTemplate>
- <DataTemplate DataType="{x:Type entities:HardwareWinderType}">
+ <DataTemplate DataType="{x:Type entities:HardwareWinder}">
<DockPanel>
<Button DockPanel.Dock="Right" Cursor="Hand" Foreground="DimGray" Height="20" FontSize="10" ToolTip="Copy this item parameters to the selected item" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.CopyParametersCommand}" CommandParameter="{Binding}">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource MaterialDesignFlatButton}">
<Setter Property="Visibility" Value="Collapsed"></Setter>
<Style.Triggers>
- <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObjectType.Data.ObjectType.BaseType}" Value="{x:Type entities:HardwareWinderType}">
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObject.ObjectType.BaseType}" Value="{x:Type entities:HardwareWinder}">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsSelected}" Value="True">
@@ -218,8 +218,8 @@
</Button.Content>
</Button>
<StackPanel Orientation="Horizontal">
- <CheckBox VerticalAlignment="Center" IsChecked="{Binding IsSelected}"></CheckBox>
- <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding Data.Description}"></TextBlock>
+ <CheckBox VerticalAlignment="Center" IsChecked="{Binding Active}"></CheckBox>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding HardwareWinderType.Description}"></TextBlock>
</StackPanel>
</DockPanel>
</DataTemplate>
@@ -230,16 +230,16 @@
<Image VerticalAlignment="Center" Source="../Images/speed.png" Width="32"></Image>
<TextBlock Margin="10 0 0 0" VerticalAlignment="Center" FontSize="18" FontWeight="SemiBold">SPEED SENSORS</TextBlock>
</StackPanel>
- <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding SpeedSensorTypes}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObjectType}">
+ <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding CurrentVersion.HardwareSpeedSensors}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObject}">
<ListBox.ItemTemplate>
- <DataTemplate DataType="{x:Type entities:HardwareSpeedSensorType}">
+ <DataTemplate DataType="{x:Type entities:HardwareSpeedSensor}">
<DockPanel>
<Button DockPanel.Dock="Right" Cursor="Hand" Foreground="DimGray" Height="20" FontSize="10" ToolTip="Copy this item parameters to the selected item" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.CopyParametersCommand}" CommandParameter="{Binding}">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource MaterialDesignFlatButton}">
<Setter Property="Visibility" Value="Collapsed"></Setter>
<Style.Triggers>
- <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObjectType.Data.ObjectType.BaseType}" Value="{x:Type entities:HardwareSpeedSensorType}">
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObject.ObjectType.BaseType}" Value="{x:Type entities:HardwareSpeedSensor}">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsSelected}" Value="True">
@@ -256,8 +256,8 @@
</Button.Content>
</Button>
<StackPanel Orientation="Horizontal">
- <CheckBox VerticalAlignment="Center" IsChecked="{Binding IsSelected}"></CheckBox>
- <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding Data.Description}"></TextBlock>
+ <CheckBox VerticalAlignment="Center" IsChecked="{Binding Active}"></CheckBox>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding HardwareSpeedSensorType.Description}"></TextBlock>
</StackPanel>
</DockPanel>
</DataTemplate>
@@ -268,16 +268,16 @@
<Image VerticalAlignment="Center" Source="../Images/blower.png" Width="32"></Image>
<TextBlock Margin="10 0 0 0" VerticalAlignment="Center" FontSize="18" FontWeight="SemiBold">BLOWERS</TextBlock>
</StackPanel>
- <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding BlowerTypes}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObjectType}">
+ <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding CurrentVersion.HardwareBlowers}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObject}">
<ListBox.ItemTemplate>
- <DataTemplate DataType="{x:Type entities:HardwareBlowerType}">
+ <DataTemplate DataType="{x:Type entities:HardwareBlower}">
<DockPanel>
<Button DockPanel.Dock="Right" Cursor="Hand" Foreground="DimGray" Height="20" FontSize="10" ToolTip="Copy this item parameters to the selected item" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.CopyParametersCommand}" CommandParameter="{Binding}">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource MaterialDesignFlatButton}">
<Setter Property="Visibility" Value="Collapsed"></Setter>
<Style.Triggers>
- <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObjectType.Data.ObjectType.BaseType}" Value="{x:Type entities:HardwareBlowerType}">
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObject.ObjectType.BaseType}" Value="{x:Type entities:HardwareBlower}">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsSelected}" Value="True">
@@ -294,8 +294,8 @@
</Button.Content>
</Button>
<StackPanel Orientation="Horizontal">
- <CheckBox VerticalAlignment="Center" IsChecked="{Binding IsSelected}"></CheckBox>
- <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding Data.Description}"></TextBlock>
+ <CheckBox VerticalAlignment="Center" IsChecked="{Binding Active}"></CheckBox>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding HardwareBlowerType.Description}"></TextBlock>
</StackPanel>
</DockPanel>
</DataTemplate>
@@ -306,16 +306,16 @@
<Image VerticalAlignment="Center" Source="../Images/break.png" Width="32"></Image>
<TextBlock Margin="10 0 0 0" VerticalAlignment="Center" FontSize="18" FontWeight="SemiBold">BREAK SENSORS</TextBlock>
</StackPanel>
- <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding BreakSensorTypes}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObjectType}">
+ <ListBox Style="{StaticResource typesList}" HorizontalContentAlignment="Stretch" ItemsSource="{Binding CurrentVersion.HardwareBreakSensors}" Margin="60 15" SelectedItem="{Binding SelectedHardwareObject}">
<ListBox.ItemTemplate>
- <DataTemplate DataType="{x:Type entities:HardwareBreakSensorType}">
+ <DataTemplate DataType="{x:Type entities:HardwareBreakSensor}">
<DockPanel>
<Button DockPanel.Dock="Right" Cursor="Hand" Foreground="DimGray" Height="20" FontSize="10" ToolTip="Copy this item parameters to the selected item" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.CopyParametersCommand}" CommandParameter="{Binding}">
<Button.Style>
<Style TargetType="Button" BasedOn="{StaticResource MaterialDesignFlatButton}">
<Setter Property="Visibility" Value="Collapsed"></Setter>
<Style.Triggers>
- <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObjectType.Data.ObjectType.BaseType}" Value="{x:Type entities:HardwareBreakSensorType}">
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.SelectedHardwareObject.ObjectType.BaseType}" Value="{x:Type entities:HardwareBreakSensor}">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=ListBoxItem},Path=IsSelected}" Value="True">
@@ -332,8 +332,8 @@
</Button.Content>
</Button>
<StackPanel Orientation="Horizontal">
- <CheckBox VerticalAlignment="Center" IsChecked="{Binding IsSelected}"></CheckBox>
- <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding Data.Description}"></TextBlock>
+ <CheckBox VerticalAlignment="Center" IsChecked="{Binding Active}"></CheckBox>
+ <TextBlock Margin="10 0 0 0" VerticalAlignment="Center" Text="{Binding HardwareBreakSensorType.Description}"></TextBlock>
</StackPanel>
</DockPanel>
</DataTemplate>
@@ -353,7 +353,7 @@
<RowDefinition Height="60"/>
</Grid.RowDefinitions>
- <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto" Margin="0 90 0 10">
+ <ScrollViewer IsEnabled="{Binding IsFree}" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto" Margin="0 90 0 10">
<Grid>
<StackPanel>
<materialDesign:Card Margin="5,10,5,0" Background="{DynamicResource MaterialDesignBackground}" Padding="20 10">
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/App.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/App.config
index 2031d1be1..2031d386f 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/App.config
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/App.config
@@ -56,6 +56,10 @@
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ </dependentAssembly>
</assemblyBinding>
</runtime>
</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Properties/AssemblyInfo.cs
index 8f69fb919..f0713376c 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio Logging Module")]
-[assembly: AssemblyVersion("2.0.15.1633")]
+[assembly: AssemblyVersion("2.0.17.1159")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Tango.MachineStudio.Logging.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Tango.MachineStudio.Logging.csproj
index f3318f275..f14bfade4 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Tango.MachineStudio.Logging.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/Tango.MachineStudio.Logging.csproj
@@ -8,7 +8,7 @@
<OutputType>library</OutputType>
<RootNamespace>Tango.MachineStudio.Logging</RootNamespace>
<AssemblyName>Tango.MachineStudio.Logging</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/EventsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/EventsViewVM.cs
index 50caced63..68094d91f 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/EventsViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ViewModels/EventsViewVM.cs
@@ -14,6 +14,7 @@ using Tango.MachineStudio.Common.StudioApplication;
using Tango.MachineStudio.Logging.Navigation;
using Tango.MachineStudio.Logging.Views;
using Tango.SharedUI;
+using System.Data.Entity;
namespace Tango.MachineStudio.Logging.ViewModels
{
@@ -23,15 +24,22 @@ namespace Tango.MachineStudio.Logging.ViewModels
private IStudioApplicationManager _application;
private IEventLogger _eventLogger;
private ObservableCollection<MachinesEvent> _realTimeEvents;
- private Machine _connectedMachine;
private LoggingNavigationManager _navigation;
private bool _dialog_shown;
+ private ObservablesContext _db;
+ private List<MachinesEvent> _history_events;
private Machine _selectedMachine;
public Machine SelectedMachine
{
get { return _selectedMachine; }
- set { _selectedMachine = value; RaisePropertyChangedAuto(); OnSelectedMachineChanged(); }
+ set
+ {
+ if (_selectedMachine != value)
+ {
+ _selectedMachine = value; RaisePropertyChangedAuto(); OnSelectedMachineChanged();
+ }
+ }
}
private ObservableCollection<MachinesEvent> _events;
@@ -76,7 +84,6 @@ namespace Tango.MachineStudio.Logging.ViewModels
set { _maxDate = value; RaisePropertyChangedAuto(); }
}
-
private bool _isRealTime;
public bool IsRealTime
{
@@ -109,25 +116,11 @@ namespace Tango.MachineStudio.Logging.ViewModels
_realTimeEvents = new ObservableCollection<MachinesEvent>();
_eventLogger.NewLog += _eventLogger_NewLog;
- RegisterMessage<MachineConnectionChangedMessage>(OnMachineConnectionChanged);
DisplayTimelineCommand = new RelayCommand<MachinesEvent>(DisplayTimeline);
NavigateToEventsCommand = new RelayCommand(() => _navigation.NavigateTo(LoggingNavigationView.EventsView));
NavigateToHomeCommand = new RelayCommand(() => _navigation.NavigateTo(LoggingNavigationView.HomeView));
}
- private void OnMachineConnectionChanged(MachineConnectionChangedMessage msg)
- {
- if (msg.Machine != null)
- {
- _connectedMachine = ObservablesEntitiesAdapter.Instance.Machines.SingleOrDefault(x => x.SerialNumber == msg.Machine.SerialNumber);
- SelectedMachine = _connectedMachine;
- }
- else
- {
- _connectedMachine = null;
- }
- }
-
private void _eventLogger_NewLog(object sender, MachinesEvent machineEvent)
{
InvokeUI(() =>
@@ -136,29 +129,40 @@ namespace Tango.MachineStudio.Logging.ViewModels
});
}
- private void OnSelectedMachineChanged()
+ private async void OnSelectedMachineChanged()
{
if (SelectedMachine != null)
{
- Dates = new ObservableCollection<DateTime>();
-
- if (SelectedMachine == _connectedMachine)
+ using (_notification.PushTaskItem("Loading machine events..."))
{
- IsRealTime = true;
- }
+ await Task.Factory.StartNew(() =>
+ {
+ _db = ObservablesContext.CreateDefault();
- foreach (var day in SelectedMachine.MachinesEvents.GroupBy(x => x.DateTime.DayOfYear).Select(x => x.First().DateTime).OrderByDescending(x => x))
- {
- Dates.Add(day);
- }
+ _db.EventTypes.Load();
+ _db.EventTypesCategories.Load();
+ _db.EventTypesGroups.Load();
- if (Dates.Count > 0)
- {
- MinDate = Dates.Min();
- MaxDate = Dates.Max();
- }
+ DateTime now = DateTime.UtcNow.AddMonths(-1);
- SelectedDate = Dates.FirstOrDefault();
+ _history_events = _db.MachinesEvents.Where(x => x.MachineGuid == SelectedMachine.Guid && x.DateTime > now).ToList();
+
+ Dates = new ObservableCollection<DateTime>();
+
+ foreach (var day in _history_events.GroupBy(x => x.DateTime.DayOfYear).Select(x => x.First().DateTime).OrderByDescending(x => x))
+ {
+ Dates.Add(day);
+ }
+
+ if (Dates.Count > 0)
+ {
+ MinDate = Dates.Min();
+ MaxDate = Dates.Max();
+ }
+
+ SelectedDate = Dates.FirstOrDefault();
+ });
+ }
}
}
@@ -170,9 +174,9 @@ namespace Tango.MachineStudio.Logging.ViewModels
{
Events = _realTimeEvents;
}
- else
+ else if (_history_events != null)
{
- Events = SelectedMachine.MachinesEvents.Where(x => x.DateTime.DayOfYear == SelectedDate.Date.DayOfYear).OrderByDescending(x => x.DateTime).ToObservableCollection();
+ Events = _history_events.Where(x => x.DateTime.DayOfYear == SelectedDate.Date.DayOfYear).OrderByDescending(x => x.DateTime).ToObservableCollection();
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/AutoComplete/MachineVersionsProvider.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/AutoComplete/MachineVersionsProvider.cs
index 18cfca79d..75b4718cd 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/AutoComplete/MachineVersionsProvider.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/AutoComplete/MachineVersionsProvider.cs
@@ -21,7 +21,7 @@ namespace Tango.MachineStudio.MachineDesigner.AutoComplete
public IEnumerable GetSuggestions(string filter)
{
Text = filter;
- return ObservablesEntitiesAdapter.Instance.MachineVersions.Where(x => x.Version.ToString().StartsWith(filter, StringComparison.CurrentCultureIgnoreCase) || x.Name.StartsWith(filter, StringComparison.CurrentCultureIgnoreCase)).ToList();
+ return ObservablesStaticCollections.Instance.MachineVersions.Where(x => x.Version.ToString().StartsWith(filter, StringComparison.CurrentCultureIgnoreCase) || x.Name.StartsWith(filter, StringComparison.CurrentCultureIgnoreCase)).ToList();
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/AutoComplete/MachinesProvider.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/AutoComplete/MachinesProvider.cs
deleted file mode 100644
index 01b74e8a6..000000000
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/AutoComplete/MachinesProvider.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Tango.AutoComplete.Editors;
-using Tango.BL;
-using Tango.BL.Entities;
-
-namespace Tango.MachineStudio.MachineDesigner.AutoComplete
-{
- /// <summary>
- /// Represents an auto-complete <see cref="Machine">Machines</see> provider.
- /// </summary>
- /// <seealso cref="Tango.AutoComplete.Editors.ISuggestionProvider" />
- public class MachinesProvider : ISuggestionProvider
- {
- /// <summary>
- /// Gets the suggestions.
- /// </summary>
- /// <param name="filter">The filter.</param>
- /// <returns></returns>
- public IEnumerable GetSuggestions(string filter)
- {
- return ObservablesEntitiesAdapter.Instance.Machines.Where(x => x.SerialNumber.StartsWith(filter, StringComparison.CurrentCultureIgnoreCase)).ToList();
- }
- }
-}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Properties/AssemblyInfo.cs
index 832feca43..a5e99504c 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio Machine Designer Module")]
-[assembly: AssemblyVersion("2.0.8.1633")]
+[assembly: AssemblyVersion("2.0.10.1159")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj
index 0d6708246..a578d0e54 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj
@@ -8,7 +8,7 @@
<OutputType>library</OutputType>
<RootNamespace>Tango.MachineStudio.MachineDesigner</RootNamespace>
<AssemblyName>Tango.MachineStudio.MachineDesigner</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
@@ -31,6 +31,12 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
+ <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.dll</HintPath>
+ </Reference>
+ <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
+ </Reference>
<Reference Include="FontAwesome.WPF, Version=4.7.0.37774, Culture=neutral, PublicKeyToken=0758b07a11a4f466, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\FontAwesome.WPF.4.7.0.9\lib\net40\FontAwesome.WPF.dll</HintPath>
</Reference>
@@ -47,6 +53,7 @@
<HintPath>..\..\..\packages\SimpleValidator.0.6.1.0\lib\net40\SimpleValidator.dll</HintPath>
</Reference>
<Reference Include="System" />
+ <Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" />
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Expression.Blend.Sdk.1.0.2\lib\net45\System.Windows.Interactivity.dll</HintPath>
@@ -68,7 +75,6 @@
<Compile Include="..\..\..\Versioning\GlobalVersionInfo.cs">
<Link>GlobalVersionInfo.cs</Link>
</Compile>
- <Compile Include="AutoComplete\MachinesProvider.cs" />
<Compile Include="AutoComplete\MachineVersionsProvider.cs" />
<Compile Include="ViewModelLocator.cs" />
<Compile Include="ViewModels\MachineVersionDialogVM.cs" />
@@ -114,7 +120,9 @@
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
- <None Include="app.config" />
+ <None Include="app.config">
+ <SubType>Designer</SubType>
+ </None>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
@@ -224,7 +232,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineVersionDialogVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineVersionDialogVM.cs
index 40358344d..b332ebc6b 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineVersionDialogVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineVersionDialogVM.cs
@@ -14,7 +14,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
public class MachineVersionDialogVM : DialogViewVM
{
- public ObservablesEntitiesAdapter Adapter { get; set; }
+ public ObservablesStaticCollections Adapter { get; set; }
public double Version { get; set; }
@@ -46,7 +46,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
public MachineVersionDialogVM()
{
- Adapter = ObservablesEntitiesAdapter.Instance;
+ Adapter = ObservablesStaticCollections.Instance;
AcceptCommand = new RelayCommand(() =>
{
Accept();
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
index 1f410d49c..de9a8de4a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
@@ -16,27 +16,39 @@ using SimpleValidator.Extensions;
using Tango.MachineStudio.Common.StudioApplication;
using Tango.MachineStudio.Common;
using Tango.BL;
+using Tango.AutoComplete.Editors;
+using System.Data.Entity;
namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
- public class MainViewVM : StudioViewModel<MachineDesignerModule>
+ public class MainViewVM : StudioViewModel
{
- private bool _isSaving;
private INotificationProvider _notification;
-
+ private ObservablesContext _db;
+ private Configuration _original_configuration;
#region Properties
- private ObservablesEntitiesAdapter _adapter;
+ private ObservablesStaticCollections _adapter;
/// <summary>
- /// Gets or sets the db adapter.
+ /// Gets or sets the db static adapter.
/// </summary>
- public ObservablesEntitiesAdapter Adapter
+ public ObservablesStaticCollections Adapter
{
get { return _adapter; }
set { _adapter = value; RaisePropertyChangedAuto(); }
}
+ private bool _canWork;
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance can work.
+ /// </summary>
+ public bool CanWork
+ {
+ get { return _canWork; }
+ set { _canWork = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); }
+ }
+
private Machine _machine;
/// <summary>
/// Gets or sets the current editable machine.
@@ -54,7 +66,13 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
public Machine SelectedMachine
{
get { return _selectedMachine; }
- set { _selectedMachine = value; RaisePropertyChangedAuto(); OnSelectedMachineChanged(); }
+ set
+ {
+ if (_selectedMachine != value)
+ {
+ _selectedMachine = value; RaisePropertyChangedAuto(); OnSelectedMachineChanged();
+ }
+ }
}
private Configuration _configuration;
@@ -107,6 +125,11 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
set { _filter = value; RaisePropertyChangedAuto(); OnFilterChanged(); }
}
+ /// <summary>
+ /// Gets or sets the machines provider.
+ /// </summary>
+ public ISuggestionProvider MachinesProvider { get; set; }
+
#endregion
#region Commands
@@ -136,6 +159,11 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// </summary>
public RelayCommand SetAsDefaultCommand { get; set; }
+ /// <summary>
+ /// Gets or sets the reset command.
+ /// </summary>
+ public RelayCommand ResetCommand { get; set; }
+
#endregion
#region Constructors
@@ -150,23 +178,81 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// </summary>
public MainViewVM(INotificationProvider notification)
{
+ CanWork = true;
+
_notification = notification;
- Adapter = ObservablesEntitiesAdapter.Instance;
Configuration = new Configuration();
Configuration.Name = "Untitled";
Machine = new Machine();
Machine.Configuration = Configuration;
- SaveCommand = new RelayCommand(Save, (x) => !_isSaving);
- AddIdsCommand = new RelayCommand(AddIds, (x) => !_isSaving && Configuration.IdsPacks.Count < 8);
- RemoveIdsCommand = new RelayCommand(RemoveIds, (x) => !_isSaving && SelectedIds != null);
- SetVersionConfigurationCommand = new RelayCommand(SetVersionConfiguration, (x) => !_isSaving);
- SetAsDefaultCommand = new RelayCommand(SetAsDefaultConfiguration, (x) => !_isSaving);
+ SaveCommand = new RelayCommand(Save, (x) => CanWork);
+ AddIdsCommand = new RelayCommand(AddIds, (x) => CanWork && Configuration.IdsPacks.Count < 8);
+ RemoveIdsCommand = new RelayCommand(RemoveIds, (x) => CanWork && SelectedIds != null);
+ SetVersionConfigurationCommand = new RelayCommand(SetVersionConfiguration, (x) => CanWork);
+ SetAsDefaultCommand = new RelayCommand(SetAsDefaultConfiguration, (x) => CanWork);
+ ResetCommand = new RelayCommand(Reset, () => CanWork);
+
+ MachinesProvider = new SuggestionProvider((filter) =>
+ {
+ return _db.Machines.Where(x => x.SerialNumber.StartsWith(filter)).ToList();
+ });
+ }
+
+ #endregion
+
+ #region Application Ready
+
+ public async override void OnApplicationReady()
+ {
+ await InitCollections();
}
#endregion
+ private Task InitCollections()
+ {
+ return Task.Factory.StartNew(() =>
+ {
+ CanWork = false;
+
+ _db = ObservablesContext.CreateDefault();
+
+ Adapter = new ObservablesStaticCollections();
+ Adapter.ApplicationDisplayPanelVersions = _db.ApplicationDisplayPanelVersions.ToObservableCollection();
+ Adapter.ApplicationFirmwareVersions = _db.ApplicationFirmwareVersions.ToObservableCollection();
+ Adapter.ApplicationOsVersions = _db.ApplicationOsVersions.ToObservableCollection();
+ Adapter.EmbeddedFirmwareVersions = _db.EmbeddedFirmwareVersions.ToObservableCollection();
+ Adapter.DispenserTypes = _db.DispenserTypes.ToObservableCollection();
+ Adapter.LiquidTypes = _db.LiquidTypes.ToObservableCollection();
+ Adapter.MidTankTypes = _db.MidTankTypes.ToObservableCollection();
+ Adapter.CartridgeTypes = _db.CartridgeTypes.ToObservableCollection();
+ Adapter.IdsPackFormulas = _db.IdsPackFormulas.ToObservableCollection();
+ Adapter.HardwareVersions = _db.HardwareVersions.ToObservableCollection();
+ Adapter.MachineVersions = _db.MachineVersions.ToObservableCollection();
+ Adapter.Organizations = _db.Organizations.ToObservableCollection();
+
+ Adapter.InitCollectionSources();
+
+ CanWork = true;
+ });
+ }
+
+ private void Reset()
+ {
+ using (_notification.PushTaskItem("Resetting designer..."))
+ {
+ SelectedMachine = null;
+ Machine = new Machine();
+ Configuration = new Configuration();
+ History = new ObservableCollection<Configuration>();
+ SelectedHistoryConfiguration = null;
+ Filter = String.Empty;
+ InitCollections();
+ }
+ }
+
#region Virtual Methods
/// <summary>
@@ -176,9 +262,23 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
if (SelectedMachine != null)
{
- Machine = SelectedMachine.Clone();
- Configuration = Machine.Configuration.Clone();
- History = SelectedMachine.MachinesConfigurations.Select(x => x.Configuration).ToObservableCollection();
+ CanWork = false;
+
+ using (_notification.PushTaskItem("Loading machine configuration..."))
+ {
+ Task.Factory.StartNew(() =>
+ {
+ InitCollections().Wait();
+ Machine = _db.Machines.Where(x => x.Guid == SelectedMachine.Guid).Include(x => x.Organization).SingleOrDefault(x => x.Guid == SelectedMachine.Guid);
+ Configuration = _db.Adapter.GetConfiguration(x => x.Guid == Machine.ConfigurationGuid);
+
+ SetHistory();
+
+ _original_configuration = Configuration.Clone();
+ });
+ }
+
+ CanWork = true;
}
else
{
@@ -191,9 +291,21 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// </summary>
protected virtual void OnHistoryConfigurationSelected()
{
- if (SelectedHistoryConfiguration != null)
+ if (SelectedHistoryConfiguration != null && CanWork)
{
- Configuration = SelectedHistoryConfiguration.Clone();
+ using (_notification.PushTaskItem("Loading Configuration..."))
+ {
+ Task.Factory.StartNew(() =>
+ {
+ CanWork = false;
+
+ SelectedHistoryConfiguration = _db.Adapter.GetConfiguration(x => x.Guid == SelectedHistoryConfiguration.Guid);
+ Configuration = SelectedHistoryConfiguration;
+ Machine.Configuration = Configuration;
+
+ CanWork = true;
+ });
+ }
}
}
@@ -202,8 +314,6 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// </summary>
protected virtual void OnFilterChanged()
{
-
-
List<ICollectionView> collections = new List<ICollectionView>();
collections.Add(Adapter.ApplicationFirmwareVersionsViewSource);
collections.Add(Adapter.ApplicationDisplayPanelVersionsViewSource);
@@ -223,7 +333,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
String value = prop.GetValue(x).ToStringSafe();
- if (value != null)
+ if (value != null && Filter != null)
{
if (value.ToLower().Contains(Filter.ToLower()))
{
@@ -366,7 +476,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// </summary>
private void RemoveIds()
{
- Configuration.IdsPacks.Remove(SelectedIds);
+ _db.IdsPacks.Remove(SelectedIds);
SelectedIds = null;
}
@@ -375,7 +485,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// </summary>
private void AddIds()
{
- Configuration.IdsPacks.Add(new IdsPack() { Configuration = Configuration });
+ _db.IdsPacks.Add(new IdsPack() { Configuration = Configuration });
InvalidateRelayCommands();
}
@@ -494,17 +604,17 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
//Validate
- _isSaving = true;
- InvalidateRelayCommands();
-
try
{
+ CanWork = false;
+
using (_notification.PushTaskItem("Saving Machine Configuration..."))
{
- if (!Adapter.Machines.ToList().Exists(x => x.SerialNumber.ToLower() == Machine.SerialNumber.ToLower()))
+ if (!_db.Machines.Any(x => x.SerialNumber.ToLower() == Machine.SerialNumber.ToLower()))
{
if (!_notification.ShowQuestion("The specified machine serial number does not exist. Do you wish to create a new machine?"))
{
+ CanWork = true;
return;
}
else
@@ -512,53 +622,34 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
Machine.Configuration = Configuration;
Configuration.CreationDate = DateTime.UtcNow;
Machine.ProductionDate = DateTime.UtcNow;
- Machine.MachinesConfigurations.Add(new MachinesConfiguration()
+
+ _db.Machines.Add(Machine);
+ _db.MachinesConfigurations.Add(new MachinesConfiguration()
{
Configuration = Configuration,
Machine = Machine,
});
- await Machine.SaveAsync(Adapter.Context);
-
- Machine = Adapter.Machines.SingleOrDefault(x => x.Guid == Machine.Guid);
- Configuration = Machine.Configuration.Clone();
}
}
else
{
- var machine = Adapter.Machines.Single(x => x.SerialNumber.ToLower() == Machine.SerialNumber.ToLower());
-
- //Set 'Real machine' parameters...
-
- bool add_history = History.Count == 0 || History.First().Name != Configuration.Name;
-
- machine.Name = Machine.Name;
- machine.SerialNumber = Machine.SerialNumber;
- machine.Organization = Machine.Organization;
-
+ bool add_history = History.Count == 0 || _original_configuration.Name != Configuration.Name;
if (add_history)
{
- machine.MachinesConfigurations.Add(new MachinesConfiguration()
+ _db.Configurations.Add(_original_configuration);
+
+ _db.MachinesConfigurations.Add(new MachinesConfiguration()
{
- Configuration = Configuration,
- Machine = machine
+ Configuration = _original_configuration,
+ Machine = Machine
});
}
- else
- {
- machine.Configuration.DefferedDelete(Adapter.Context);
- }
-
- machine.Configuration = Configuration;
-
- await machine.SaveAsync(Adapter.Context);
-
- Machine = Adapter.Machines.SingleOrDefault(x => x.Guid == machine.Guid);
- Configuration = Machine.Configuration.Clone();
}
- SetHistory(Machine);
- Machine = Machine.Clone();
+ await _db.SaveChangesAsync();
+ OnSelectedMachineChanged();
+
}
}
catch (Exception ex)
@@ -567,7 +658,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
}
finally
{
- _isSaving = false;
+ CanWork = true;
InvalidateRelayCommands();
}
}
@@ -576,20 +667,33 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// Sets the specified machine history.
/// </summary>
/// <param name="machine">The machine.</param>
- private void SetHistory(Machine machine)
+ private void SetHistory()
{
- History = machine.MachinesConfigurations.Select(x => x.Configuration).ToObservableCollection();
- History.Insert(0, machine.Configuration);
+ History = _db.MachinesConfigurations.Where(x => x.MachineGuid == Machine.Guid).Select(x => x.Configuration).ToObservableCollection();
+ //History.Insert(0, Machine.Configuration);
}
/// <summary>
/// Sets the current configuration to the selected machine version default configuration.
/// </summary>
- private void SetVersionConfiguration()
+ private async void SetVersionConfiguration()
{
if (Machine.MachineVersion != null)
{
- Configuration = Machine.MachineVersion.DefaultConfiguration.Clone();
+ using (_notification.PushTaskItem("Applying default configuration..."))
+ {
+ CanWork = false;
+
+ await Task.Factory.StartNew(() =>
+ {
+ var version = _db.MachineVersions.Where(x => x.Guid == Machine.MachineVersion.Guid).Include(x => x.DefaultConfiguration).FirstOrDefault();
+ var version_config = _db.Adapter.GetConfiguration(x => x.Guid == version.DefaultConfiguration.Guid);
+ Configuration = version_config.Clone();
+ Machine.Configuration = Configuration;
+ });
+
+ CanWork = true;
+ }
}
else
{
@@ -604,15 +708,23 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
_notification.ShowModalDialog<MachineVersionDialogVM>(async (vm) =>
{
+ CanWork = false;
+
try
{
using (_notification.PushTaskItem("Saving Default Configuration..."))
{
if (vm.SelectedVersion != null)
{
- vm.SelectedVersion.DefaultConfiguration = Configuration.Clone();
- vm.SelectedVersion.DefaultConfigurationGuid = vm.SelectedVersion.DefaultConfiguration.Guid;
- await vm.SelectedVersion.SaveAsync(Adapter.Context);
+ var version = _db.MachineVersions.Where(x => x.Guid == vm.SelectedVersion.Guid).Include(x => x.DefaultConfiguration).SingleOrDefault(x => x.Guid == vm.SelectedVersion.Guid);
+
+ _db.Configurations.Remove(version.DefaultConfiguration);
+
+ var cloned = Configuration.Clone();
+ _db.Configurations.Add(cloned);
+ version.DefaultConfiguration = cloned;
+
+ await _db.SaveChangesAsync();
}
else
{
@@ -620,9 +732,12 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
newVersion.Version = vm.Version;
newVersion.Name = vm.VersionName;
- newVersion.DefaultConfiguration = Configuration.Clone();
- newVersion.DefaultConfigurationGuid = newVersion.DefaultConfiguration.Guid;
- await newVersion.SaveAsync(Adapter.Context);
+ var cloned = Configuration.Clone();
+
+ _db.Configurations.Add(cloned);
+ newVersion.DefaultConfiguration = cloned;
+ _db.MachineVersions.Add(newVersion);
+ await _db.SaveChangesAsync();
}
}
}
@@ -630,6 +745,10 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
_notification.ShowError(ex.Message);
}
+ finally
+ {
+ CanWork = true;
+ }
}, () =>
{
@@ -638,14 +757,5 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
}
#endregion
-
- #region IStudioModuleVM
-
- public override void OnModuleRequest(params object[] args)
- {
- SelectedMachine = Adapter.Machines.SingleOrDefault(x => x.Guid == (args[0] as Machine).Guid);
- }
-
- #endregion
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineView.xaml
index 4d75651f7..e2dd7c5a9 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineView.xaml
@@ -17,7 +17,6 @@
<UserControl.Resources>
<sharedConverters:ColorToIntegerConverter x:Key="ColorToIntegerConverter" />
- <providers:MachinesProvider x:Key="MachinesProvider"></providers:MachinesProvider>
<Style x:Key="draggableGrid" TargetType="Grid">
<Setter Property="RenderTransform">
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml
index 4e3e31326..e12f85cdf 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml
@@ -17,7 +17,6 @@
<UserControl.Resources>
<sharedConverters:ColorToIntegerConverter x:Key="ColorToIntegerConverter" />
- <providers:MachinesProvider x:Key="MachinesProvider"></providers:MachinesProvider>
<Style x:Key="draggableGrid" TargetType="Grid">
<Setter Property="RenderTransform">
@@ -89,7 +88,7 @@
<TextBlock FontSize="30" FontStyle="Italic" VerticalAlignment="Center" Margin="50 10 10 0" Foreground="Silver" FontWeight="Bold">MACHINE DESIGNER</TextBlock>
<StackPanel Orientation="Horizontal" Margin="20 10 0 0" VerticalAlignment="Center">
<materialDesign:PackIcon Kind="BarcodeScan" VerticalAlignment="Bottom" Width="24" Height="24" Foreground="Silver"></materialDesign:PackIcon>
- <autoComplete:AutoCompleteTextBox FontSize="16" FontWeight="Bold" FontStyle="Italic" Width="300" Margin="5 0 0 0" materialDesign:HintAssist.Hint="Enter serial number" DisplayMember="SerialNumber" Provider="{StaticResource ResourceKey=MachinesProvider}" SelectedItem="{Binding SelectedMachine,Mode=TwoWay}">
+ <autoComplete:AutoCompleteTextBox FontSize="16" FontWeight="Bold" FontStyle="Italic" Width="300" Margin="5 0 0 0" materialDesign:HintAssist.Hint="Enter serial number" DisplayMember="SerialNumber" Provider="{Binding MachinesProvider}" SelectedItem="{Binding SelectedMachine,Mode=TwoWay}">
<autoComplete:AutoCompleteTextBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding SerialNumber}"></TextBlock>
@@ -99,6 +98,10 @@
<TextBlock Text="Loading..." Margin="5" FontSize="14" />
</autoComplete:AutoCompleteTextBox.LoadingContent>
</autoComplete:AutoCompleteTextBox>
+
+ <Button Style="{StaticResource MaterialDesignFlatButton}" Margin="10 0 0 0" Padding="0" Foreground="Gray" Width="40" Command="{Binding ResetCommand}" ToolTip="Reset the designer">
+ <materialDesign:PackIcon Kind="Refresh" Width="24" Height="24" />
+ </Button>
</StackPanel>
</StackPanel>
</StackPanel>
@@ -417,7 +420,7 @@
</Grid>
</Grid>
- <Grid Grid.Column="1">
+ <Grid Grid.Column="1" IsEnabled="{Binding CanWork}">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="60"/>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config
index 5d794b958..0e58ccf54 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
+ <configSections>
+ <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+ <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+ </configSections>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
@@ -46,6 +50,16 @@
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ </dependentAssembly>
</assemblyBinding>
</runtime>
+ <entityFramework>
+ <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
+ <providers>
+ <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+ </providers>
+ </entityFramework>
</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/packages.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/packages.config
index 59e34e36f..8b579e95a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/packages.config
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/packages.config
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="CommonServiceLocator" version="1.3" targetFramework="net46" />
+ <package id="EntityFramework" version="6.0.0" targetFramework="net472" />
<package id="Expression.Blend.Sdk" version="1.0.2" targetFramework="net46" />
<package id="FontAwesome.WPF" version="4.7.0.9" targetFramework="net46" />
<package id="MahApps.Metro" version="1.5.0" targetFramework="net46" />
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Properties/AssemblyInfo.cs
index bf0680366..220526a23 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio Stubs Module")]
-[assembly: AssemblyVersion("2.0.7.1633")]
+[assembly: AssemblyVersion("2.0.9.1159")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Tango.MachineStudio.Stubs.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Tango.MachineStudio.Stubs.csproj
index 1c9ae5147..402e1642d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Tango.MachineStudio.Stubs.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/Tango.MachineStudio.Stubs.csproj
@@ -8,7 +8,7 @@
<OutputType>library</OutputType>
<RootNamespace>Tango.MachineStudio.Stubs</RootNamespace>
<AssemblyName>Tango.MachineStudio.Stubs</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
@@ -31,6 +31,12 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
+ <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.dll</HintPath>
+ </Reference>
+ <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
+ </Reference>
<Reference Include="FontAwesome.WPF, Version=4.7.0.37774, Culture=neutral, PublicKeyToken=0758b07a11a4f466, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\FontAwesome.WPF.4.7.0.9\lib\net40\FontAwesome.WPF.dll</HintPath>
</Reference>
@@ -50,6 +56,7 @@
<HintPath>..\..\..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
+ <Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" />
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Expression.Blend.Sdk.1.0.2\lib\net45\System.Windows.Interactivity.dll</HintPath>
@@ -166,7 +173,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs
index fb05a0b94..ca598881a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/ViewModels/MainViewVM.cs
@@ -27,7 +27,7 @@ namespace Tango.MachineStudio.Stubs.ViewModels
/// Represents the script execution module main view model.
/// </summary>
/// <seealso cref="Tango.SharedUI.ViewModel" />
- public class MainViewVM : StudioViewModel<StubsModule>
+ public class MainViewVM : StudioViewModel
{
private INotificationProvider _notification;
@@ -75,6 +75,11 @@ namespace Tango.MachineStudio.Stubs.ViewModels
StubsViewVM.SaveSettings();
}
+ public override void OnApplicationReady()
+ {
+
+ }
+
#endregion
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/app.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/app.config
index 5d794b958..77b7003e2 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/app.config
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/app.config
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
+ <configSections>
+ <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+ <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+ </configSections>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
@@ -48,4 +52,10 @@
</dependentAssembly>
</assemblyBinding>
</runtime>
+ <entityFramework>
+ <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
+ <providers>
+ <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+ </providers>
+ </entityFramework>
</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/packages.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/packages.config
index 06fdfec56..801a18d37 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/packages.config
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Stubs/packages.config
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="CommonServiceLocator" version="1.3" targetFramework="net46" />
+ <package id="EntityFramework" version="6.0.0" targetFramework="net472" />
<package id="Expression.Blend.Sdk" version="1.0.2" targetFramework="net46" />
<package id="FontAwesome.WPF" version="4.7.0.9" targetFramework="net46" />
<package id="Google.Protobuf" version="3.4.1" targetFramework="net46" />
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Tango.MachineStudio.Synchronization.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Tango.MachineStudio.Synchronization.csproj
index e8df35ba8..e4b1edce4 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Tango.MachineStudio.Synchronization.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Tango.MachineStudio.Synchronization.csproj
@@ -8,7 +8,7 @@
<OutputType>library</OutputType>
<RootNamespace>Tango.MachineStudio.Synchronization</RootNamespace>
<AssemblyName>Tango.MachineStudio.Synchronization</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/BlowerElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/BlowerElementEditor.xaml
index 675571657..e06d1f559 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/BlowerElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/BlowerElementEditor.xaml
@@ -27,7 +27,7 @@
<!--Content-->
- <Grid IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid>
<Image Source="../Images/blower-big.png"></Image>
@@ -38,7 +38,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/BreakSensorElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/BreakSensorElementEditor.xaml
index 18c992193..78834aca7 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/BreakSensorElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/BreakSensorElementEditor.xaml
@@ -27,7 +27,7 @@
<!--Content-->
- <Grid IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid>
<Image Source="../Images/break-big.png"></Image>
@@ -38,7 +38,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ControllerElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ControllerElementEditor.xaml
index 346c0067b..de604625d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ControllerElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ControllerElementEditor.xaml
@@ -28,7 +28,7 @@
<!--Content-->
- <Grid ClipToBounds="False" IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid ClipToBounds="False">
<Border>
<Viewbox>
<Grid>
@@ -99,7 +99,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DancerElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DancerElementEditor.xaml
index 3c6ee7d49..2960a8807 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DancerElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DancerElementEditor.xaml
@@ -27,7 +27,7 @@
<!--Content-->
- <Grid IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid>
<Image Source="../Images/dancer-big.png"></Image>
@@ -38,7 +38,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DigitalInElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DigitalInElementEditor.xaml
index 8c72798d5..5c1cfc3ad 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DigitalInElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DigitalInElementEditor.xaml
@@ -27,7 +27,7 @@
<!--Content-->
- <Grid IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid>
<Grid.RowDefinitions>
<RowDefinition Height="221*"/>
<RowDefinition Height="Auto"/>
@@ -51,7 +51,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DigitalOutElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DigitalOutElementEditor.xaml
index 5fd92c336..862fa0597 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DigitalOutElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DigitalOutElementEditor.xaml
@@ -28,7 +28,7 @@
<!--Content-->
- <Grid IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid>
<Grid.RowDefinitions>
<RowDefinition Height="221*"/>
<RowDefinition Height="Auto"/>
@@ -62,7 +62,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml
index 0a088df69..1fa1c6c48 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/DispenserElementEditor.xaml
@@ -45,7 +45,7 @@
<Grid>
- <Grid Margin="5" IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20*"/>
<ColumnDefinition Width="100*"/>
@@ -254,7 +254,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/JobRunnerElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/JobRunnerElementEditor.xaml
index c481f1e1b..76a6a16a7 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/JobRunnerElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/JobRunnerElementEditor.xaml
@@ -42,7 +42,7 @@
<!--Content-->
- <Grid IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid>
<Border Padding="10" BorderThickness="1" BorderBrush="#202020" Background="#88FFFFFF" CornerRadius="5">
<DockPanel>
<TextBox Foreground="#202020" FontSize="14" DockPanel.Dock="Top" Text="{Binding Job.Name}"></TextBox>
@@ -239,7 +239,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MeterElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MeterElementEditor.xaml
index 98ace7816..2631f3a06 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MeterElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MeterElementEditor.xaml
@@ -28,7 +28,7 @@
<!--Content-->
- <Grid IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid>
<Grid.RowDefinitions>
<RowDefinition Height="221*"/>
<RowDefinition Height="Auto"/>
@@ -47,7 +47,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MonitorElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MonitorElementEditor.xaml
index 8f66adeeb..a39fa975c 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MonitorElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MonitorElementEditor.xaml
@@ -27,7 +27,7 @@
<!--Content-->
- <Grid IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid>
<Viewbox Stretch="Fill">
<StackPanel>
<Grid Grid.Column="1" Grid.Row="1" Width="200" Height="120">
@@ -55,7 +55,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorElementEditor.xaml
index 48186fd56..80bfe8f96 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorElementEditor.xaml
@@ -47,7 +47,7 @@
<Grid>
- <Grid Margin="5" IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20*"/>
<ColumnDefinition Width="100*"/>
@@ -243,7 +243,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorGroupElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorGroupElementEditor.xaml
index 64ed5bb43..3adee13d6 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorGroupElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MotorGroupElementEditor.xaml
@@ -47,7 +47,7 @@
<Grid>
- <Grid Margin="5" IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20*"/>
<ColumnDefinition Width="100*"/>
@@ -229,7 +229,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MultiGraphElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MultiGraphElementEditor.xaml
index 9bc22d0f6..dcba1e77b 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MultiGraphElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/MultiGraphElementEditor.xaml
@@ -43,7 +43,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/PidElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/PidElementEditor.xaml
index 6d4f49ace..197640b14 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/PidElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/PidElementEditor.xaml
@@ -27,7 +27,7 @@
<!--Content-->
- <Grid IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid>
<Image Source="../Images/pid.png"></Image>
@@ -38,7 +38,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ProcessParametersElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ProcessParametersElementEditor.xaml
index 716ac0a2d..f057521e0 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ProcessParametersElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ProcessParametersElementEditor.xaml
@@ -31,7 +31,7 @@
<!--Content-->
- <Grid IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid>
<Grid>
<Border BorderThickness="1" CornerRadius="5" Padding="10">
<Border.BorderBrush>
@@ -73,7 +73,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/SingleGraphElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/SingleGraphElementEditor.xaml
index 16f94b251..a9eb9e9f4 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/SingleGraphElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/SingleGraphElementEditor.xaml
@@ -43,7 +43,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/SpeedSensorElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/SpeedSensorElementEditor.xaml
index b9dce9112..8696a3c53 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/SpeedSensorElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/SpeedSensorElementEditor.xaml
@@ -27,7 +27,7 @@
<!--Content-->
- <Grid IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid>
<Image Source="../Images/speed-big.png"></Image>
@@ -38,7 +38,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ThreadMotionElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ThreadMotionElementEditor.xaml
index 3bac433ad..6e2315dc8 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ThreadMotionElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/ThreadMotionElementEditor.xaml
@@ -47,7 +47,7 @@
<Grid>
- <Grid Margin="5" IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20*"/>
<ColumnDefinition Width="100*"/>
@@ -158,7 +158,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/WinderElementEditor.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/WinderElementEditor.xaml
index f81597574..2b6ee303d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/WinderElementEditor.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Editors/WinderElementEditor.xaml
@@ -27,7 +27,7 @@
<!--Content-->
- <Grid IsHitTestVisible="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable,Converter={StaticResource BooleanInverseConverter}}">
+ <Grid>
<Image Source="../Images/winder-big.png"></Image>
@@ -38,7 +38,22 @@
<!--Content-->
- <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}" Visibility="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected),Converter={StaticResource BoolToVisibilityConverter}}">
+ <Border BorderThickness="1" BorderBrush="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=BorderBrush,TargetNullValue={StaticResource BorderBrush},FallbackValue={StaticResource BorderBrush}}">
+ <Border.Style>
+ <Style TargetType="Border">
+ <Setter Property="Visibility" Value="Collapsed"></Setter>
+ <Style.Triggers>
+ <MultiDataTrigger>
+ <MultiDataTrigger.Conditions>
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=(local:ElementsEditor.IsSelected)}" Value="True" />
+ <Condition Binding="{Binding RelativeSource={RelativeSource AncestorType=local:ElementsEditor},Path=IsEditable}" Value="True" />
+ </MultiDataTrigger.Conditions>
+
+ <Setter Property="Visibility" Value="Visible"></Setter>
+ </MultiDataTrigger>
+ </Style.Triggers>
+ </Style>
+ </Border.Style>
<Grid>
<ContentPresenter Content="{Binding RelativeSource={RelativeSource AncestorType=local:ElementEditor},Path=InnerContent}"></ContentPresenter>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Properties/AssemblyInfo.cs
index 18f0bd7c0..b66227b98 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio Technician Module")]
-[assembly: AssemblyVersion("2.0.12.1633")]
+[assembly: AssemblyVersion("2.0.14.1159")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/JobRunnerTemplate.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/JobRunnerTemplate.xaml
index 4de0bff14..b6bfefd8c 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/JobRunnerTemplate.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/JobRunnerTemplate.xaml
@@ -29,7 +29,7 @@
<GroupBox Header="JOB RUNNER">
<StackPanel>
<TextBlock FontSize="10">Machine</TextBlock>
- <ComboBox Margin="0 5 0 0" ItemsSource="{Binding Adapter.MachinesViewSource}" SelectedItem="{Binding Machine,Mode=TwoWay}">
+ <ComboBox Margin="0 5 0 0" ItemsSource="{Binding Adapter.Machines}" SelectedItem="{Binding Machine,Mode=TwoWay}">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0 5">
@@ -41,7 +41,7 @@
</ComboBox>
<TextBlock FontSize="10" Margin="0 10 0 0" >RML</TextBlock>
- <ComboBox Margin="0 5 0 0" ItemsSource="{Binding Adapter.RmlsViewSource}" SelectedItem="{Binding Rml,Mode=TwoWay}" DisplayMemberPath="Name" />
+ <ComboBox Margin="0 5 0 0" ItemsSource="{Binding Adapter.Rmls}" SelectedItem="{Binding Rml,Mode=TwoWay}" DisplayMemberPath="Name" />
<TextBlock Margin="0 10 0 0" FontSize="10">Process Parameters</TextBlock>
<ComboBox Margin="0 5 0 0" ItemsSource="{x:Static items:ProcessParametersItem.ProcessParametersTables}" SelectedItem="{Binding ProcessParameters,Mode=TwoWay}" DisplayMemberPath="Name" />
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/ProcessParametersTemplate.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/ProcessParametersTemplate.xaml
index 5e5a6d46d..46a6a6340 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/ProcessParametersTemplate.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/PropertiesTemplates/ProcessParametersTemplate.xaml
@@ -27,7 +27,7 @@
<GroupBox Header="PROCESS PARAMETERS">
<StackPanel>
<TextBlock FontSize="10">Reset to RML</TextBlock>
- <ComboBox Margin="0 5 0 0" ItemsSource="{Binding Adapter.RmlsViewSource}" SelectedItem="{Binding SelectedResetRML,Mode=TwoWay}" DisplayMemberPath="Name" />
+ <ComboBox Margin="0 5 0 0" ItemsSource="{Binding Adapter.Rmls}" SelectedItem="{Binding SelectedResetRML,Mode=TwoWay}" DisplayMemberPath="Name" />
<Button Margin="0 10 0 0" Command="{Binding ResetToRMLCommand}">RESET</Button>
</StackPanel>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Tango.MachineStudio.Technician.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Tango.MachineStudio.Technician.csproj
index 8490800ad..e187db982 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Tango.MachineStudio.Technician.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Tango.MachineStudio.Technician.csproj
@@ -8,7 +8,7 @@
<OutputType>library</OutputType>
<RootNamespace>Tango.MachineStudio.Technician</RootNamespace>
<AssemblyName>Tango.MachineStudio.Technician</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
@@ -31,6 +31,12 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
+ <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.dll</HintPath>
+ </Reference>
+ <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
+ </Reference>
<Reference Include="FontAwesome.WPF, Version=4.7.0.37774, Culture=neutral, PublicKeyToken=0758b07a11a4f466, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\FontAwesome.WPF.4.7.0.9\lib\net40\FontAwesome.WPF.dll</HintPath>
</Reference>
@@ -47,6 +53,7 @@
<HintPath>..\..\..\packages\MaterialDesignThemes.2.3.1.953\lib\net45\MaterialDesignThemes.Wpf.dll</HintPath>
</Reference>
<Reference Include="System" />
+ <Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" />
<Reference Include="System.Reactive.Core, Version=3.0.3000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.Reactive.Core.3.1.1\lib\net46\System.Reactive.Core.dll</HintPath>
@@ -612,7 +619,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/BlowerItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/BlowerItem.cs
index 59a96f107..6b532204e 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/BlowerItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/BlowerItem.cs
@@ -5,6 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using System.Xml.Serialization;
+using Tango.BL;
using Tango.BL.Entities;
using Tango.SharedUI.Helpers;
@@ -31,7 +32,7 @@ namespace Tango.MachineStudio.Technician.TechItems
{
BlowerConfigurations = new List<HardwareBlower>();
- foreach (var BlowerType in BL.ObservablesEntitiesAdapter.Instance.HardwareBlowerTypes)
+ foreach (var BlowerType in ObservablesStaticCollections.Instance.HardwareBlowerTypes)
{
BlowerConfigurations.Add(new HardwareBlower() { HardwareBlowerType = BlowerType });
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/BreakSensorItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/BreakSensorItem.cs
index cf1ed682e..4a0d1c9c9 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/BreakSensorItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/BreakSensorItem.cs
@@ -5,6 +5,7 @@ using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using System.Xml.Serialization;
+using Tango.BL;
using Tango.BL.Entities;
using Tango.SharedUI.Helpers;
@@ -31,7 +32,7 @@ namespace Tango.MachineStudio.Technician.TechItems
{
BreakSensorConfigurations = new List<HardwareBreakSensor>();
- foreach (var BreakSensorType in BL.ObservablesEntitiesAdapter.Instance.HardwareBreakSensorTypes)
+ foreach (var BreakSensorType in ObservablesStaticCollections.Instance.HardwareBreakSensorTypes)
{
BreakSensorConfigurations.Add(new HardwareBreakSensor() { HardwareBreakSensorType = BreakSensorType });
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DancerItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DancerItem.cs
index e5651acce..1115c6dbf 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DancerItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DancerItem.cs
@@ -33,7 +33,7 @@ namespace Tango.MachineStudio.Technician.TechItems
{
DancerConfigurations = new List<HardwareDancer>();
- foreach (var winderType in BL.ObservablesEntitiesAdapter.Instance.HardwareDancerTypes)
+ foreach (var winderType in BL.ObservablesStaticCollections.Instance.HardwareDancerTypes)
{
DancerConfigurations.Add(new HardwareDancer() { HardwareDancerType = winderType });
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs
index f058036d0..7945c5b73 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/DispenserItem.cs
@@ -37,7 +37,7 @@ namespace Tango.MachineStudio.Technician.TechItems
{
DispenserTypes = new List<DispenserType>();
- foreach (var techDispenser in BL.ObservablesEntitiesAdapter.Instance.TechDispensers)
+ foreach (var techDispenser in BL.ObservablesStaticCollections.Instance.TechDispensers)
{
DispenserTypes.Add(new DispenserType() { Code = int.Parse(techDispenser.Name.Replace("Dispenser", "")) - 1 });
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/JobRunnerItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/JobRunnerItem.cs
index 8d102d6c0..3443c008e 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/JobRunnerItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/JobRunnerItem.cs
@@ -160,6 +160,7 @@ namespace Tango.MachineStudio.Technician.TechItems
{
Job.Machine = Machine;
Job.Rml = Rml;
+
BrushStop.SetLiquidVolumes(Machine.Configuration, Rml, ProcessParameters);
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorGroupItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorGroupItem.cs
index 5cdb8017e..a5288e6bc 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorGroupItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorGroupItem.cs
@@ -59,7 +59,7 @@ namespace Tango.MachineStudio.Technician.TechItems
{
if (TechMotors != null)
{
- SelectedMotors = new SelectedObjectCollection<HardwareMotorType>(ObservablesEntitiesAdapter.Instance.HardwareMotorTypes.ToObservableCollection(), TechMotors);
+ SelectedMotors = new SelectedObjectCollection<HardwareMotorType>(ObservablesStaticCollections.Instance.HardwareMotorTypes.ToObservableCollection(), TechMotors);
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorItem.cs
index 779919039..c097a0b7b 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/MotorItem.cs
@@ -38,7 +38,7 @@ namespace Tango.MachineStudio.Technician.TechItems
{
MotorConfigurations = new List<HardwareMotor>();
- foreach (var motorType in BL.ObservablesEntitiesAdapter.Instance.HardwareMotorTypes)
+ foreach (var motorType in BL.ObservablesStaticCollections.Instance.HardwareMotorTypes)
{
MotorConfigurations.Add(new HardwareMotor() { HardwareMotorType = motorType });
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/PidItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/PidItem.cs
index a56c3b0c1..70ecc1a70 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/PidItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/PidItem.cs
@@ -33,7 +33,7 @@ namespace Tango.MachineStudio.Technician.TechItems
{
PidConfigurations = new List<HardwarePidControl>();
- foreach (var pidType in BL.ObservablesEntitiesAdapter.Instance.HardwarePidControlTypes)
+ foreach (var pidType in BL.ObservablesStaticCollections.Instance.HardwarePidControlTypes)
{
PidConfigurations.Add(new HardwarePidControl() { HardwarePidControlType = pidType });
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/ProcessParametersItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/ProcessParametersItem.cs
index 79aea7a0c..4aedf8bc7 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/ProcessParametersItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/ProcessParametersItem.cs
@@ -6,6 +6,7 @@ using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using System.Xml.Serialization;
+using Tango.BL;
using Tango.BL.Entities;
using Tango.Core.Commands;
using Tango.SharedUI.Helpers;
@@ -93,7 +94,9 @@ namespace Tango.MachineStudio.Technician.TechItems
if (_counter > 1)
{
+ String name = ProcessParameters.Name;
ProcessParametersTables.Add(ProcessParameters);
+ ProcessParameters.Name = name;
}
}
@@ -101,15 +104,18 @@ namespace Tango.MachineStudio.Technician.TechItems
{
if (SelectedResetRML != null)
{
- var group = SelectedResetRML.ProcessParametersTablesGroups.FirstOrDefault(x => x.Active);
-
- if (group != null)
+ using (ObservablesContext db = ObservablesContext.CreateDefault())
{
- var table = group.ProcessParametersTables.OrderBy(x => x.TableIndex).FirstOrDefault();
+ var group = db.Adapter.GetRmlActiveProcessParametersTablesGroup(SelectedResetRML.Guid);
- if (table != null)
+ if (group != null)
{
- ProcessParameters = table.Clone();
+ var table = group.ProcessParametersTables.OrderBy(x => x.TableIndex).FirstOrDefault();
+
+ if (table != null)
+ {
+ table.MapPrimitivesTo(ProcessParameters);
+ }
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/SpeedSensorItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/SpeedSensorItem.cs
index a067ec95f..e43a518c1 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/SpeedSensorItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/SpeedSensorItem.cs
@@ -33,7 +33,7 @@ namespace Tango.MachineStudio.Technician.TechItems
{
SpeedSensorConfigurations = new List<HardwareSpeedSensor>();
- foreach (var SpeedSensorType in BL.ObservablesEntitiesAdapter.Instance.HardwareSpeedSensorTypes)
+ foreach (var SpeedSensorType in BL.ObservablesStaticCollections.Instance.HardwareSpeedSensorTypes)
{
SpeedSensorConfigurations.Add(new HardwareSpeedSensor() { HardwareSpeedSensorType = SpeedSensorType });
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItem.cs
index 11188c69d..b6ebf2857 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/TechItem.cs
@@ -47,7 +47,7 @@ namespace Tango.MachineStudio.Technician.TechItems
{
ID = Guid.NewGuid().ToString();
Name = "Untitled";
- Adapter = ObservablesEntitiesAdapter.Instance;
+ Adapter = ObservablesStaticCollections.Instance;
_color = Colors.DodgerBlue;
}
@@ -77,7 +77,7 @@ namespace Tango.MachineStudio.Technician.TechItems
/// Gets or sets the db adapter.
/// </summary>
[XmlIgnore]
- public ObservablesEntitiesAdapter Adapter { get; set; }
+ public ObservablesStaticCollections Adapter { get; set; }
private String _id;
/// <summary>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/WinderItem.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/WinderItem.cs
index 425baf471..2df2d7ad7 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/WinderItem.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechItems/WinderItem.cs
@@ -33,7 +33,7 @@ namespace Tango.MachineStudio.Technician.TechItems
{
WinderConfigurations = new List<HardwareWinder>();
- foreach (var winderType in BL.ObservablesEntitiesAdapter.Instance.HardwareWinderTypes)
+ foreach (var winderType in BL.ObservablesStaticCollections.Instance.HardwareWinderTypes)
{
WinderConfigurations.Add(new HardwareWinder() { HardwareWinderType = winderType });
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
index 333e43187..55235b3c2 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
@@ -41,7 +41,7 @@ namespace Tango.MachineStudio.Technician.ViewModels
/// </summary>
/// <seealso cref="Tango.SharedUI.ViewModel" />
/// <seealso cref="Tango.MachineStudio.Common.StudioApplication.IShutdownListener" />
- public class MachineTechViewVM : StudioViewModel<TechnicianModule>
+ public class MachineTechViewVM : StudioViewModel
{
private List<PropertyInfo> _diagnoticsMonitorsDataProperties;
private IDiagnosticsFrameProvider _diagnosticsFrameProvider;
@@ -94,7 +94,7 @@ namespace Tango.MachineStudio.Technician.ViewModels
/// <summary>
/// Gets or sets the db adapter.
/// </summary>
- public ObservablesEntitiesAdapter Adapter { get; set; }
+ public ObservablesStaticCollections Adapter { get; set; }
/// <summary>
/// Gets or sets the application manager.
@@ -241,7 +241,7 @@ namespace Tango.MachineStudio.Technician.ViewModels
ApplicationManager = applicationManager;
ApplicationManager.ConnectedMachineChanged += ApplicationManager_ConnectedMachineChanged;
- Adapter = ObservablesEntitiesAdapter.Instance;
+ Adapter = ObservablesStaticCollections.Instance;
Elements = new ObservableCollection<IElementEditor>();
OpenProjectCommand = new RelayCommand(OpenProject);
@@ -1473,7 +1473,7 @@ namespace Tango.MachineStudio.Technician.ViewModels
{
if (item is MotorGroupItem)
{
- (item as MotorGroupItem).TechMotors = ObservablesEntitiesAdapter.Instance.HardwareMotorTypes.Where(x => (item as MotorGroupItem).ItemsGuids.Contains(x.Guid)).ToObservableCollection();
+ (item as MotorGroupItem).TechMotors = ObservablesStaticCollections.Instance.HardwareMotorTypes.Where(x => (item as MotorGroupItem).ItemsGuids.Contains(x.Guid)).ToObservableCollection();
}
AddTechItem(item);
@@ -1572,6 +1572,11 @@ namespace Tango.MachineStudio.Technician.ViewModels
});
}
+ public override void OnApplicationReady()
+ {
+
+ }
+
#endregion
#region Hardware Configuration
@@ -1666,83 +1671,93 @@ namespace Tango.MachineStudio.Technician.ViewModels
{
if (MachineOperator != null)
{
- var hw = ApplicationManager.ConnectedMachine.Machine.Configuration.HardwareVersion.Clone();
-
- foreach (var motorConfig in hw.HardwareMotors)
+ using (_notification.PushTaskItem("Uploading hardware configuration..."))
{
- var itemConfig = MotorItem.MotorConfigurations.SingleOrDefault(x => x.HardwareMotorType.Code == motorConfig.HardwareMotorType.Code);
-
- if (itemConfig != null)
+ try
{
- itemConfig.MapPrimitivesTo(motorConfig);
- }
- }
+ HardwareVersion hw = null;
+ Configuration config = null;
- foreach (var pidConfig in hw.HardwarePidControls)
- {
- var itemConfig = PidItem.PidConfigurations.SingleOrDefault(x => x.HardwarePidControlType.Code == pidConfig.HardwarePidControlType.Code);
+ await Task.Factory.StartNew(() =>
+ {
+ using (ObservablesContext db = ObservablesContext.CreateDefault())
+ {
+ config = db.Adapter.GetConfiguration(x => x.Guid == ApplicationManager.ConnectedMachine.Machine.ConfigurationGuid).Clone();
+ hw = db.Adapter.GetHardwareVersionByMachine(ApplicationManager.ConnectedMachine.Machine.Guid).Clone();
+ }
+ });
- if (itemConfig != null)
- {
- itemConfig.MapPrimitivesTo(pidConfig);
- }
- }
+ foreach (var motorConfig in hw.HardwareMotors)
+ {
+ var itemConfig = MotorItem.MotorConfigurations.SingleOrDefault(x => x.HardwareMotorType.Code == motorConfig.HardwareMotorType.Code);
- foreach (var winderConfig in hw.HardwareWinders)
- {
- var itemConfig = WinderItem.WinderConfigurations.SingleOrDefault(x => x.HardwareWinderType.Code == winderConfig.HardwareWinderType.Code);
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(motorConfig);
+ }
+ }
- if (itemConfig != null)
- {
- itemConfig.MapPrimitivesTo(winderConfig);
- }
- }
+ foreach (var pidConfig in hw.HardwarePidControls)
+ {
+ var itemConfig = PidItem.PidConfigurations.SingleOrDefault(x => x.HardwarePidControlType.Code == pidConfig.HardwarePidControlType.Code);
- foreach (var dancerConfig in hw.HardwareDancers)
- {
- var itemConfig = DancerItem.DancerConfigurations.SingleOrDefault(x => x.HardwareDancerType.Code == dancerConfig.HardwareDancerType.Code);
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(pidConfig);
+ }
+ }
- if (itemConfig != null)
- {
- itemConfig.MapPrimitivesTo(dancerConfig);
- }
- }
+ foreach (var winderConfig in hw.HardwareWinders)
+ {
+ var itemConfig = WinderItem.WinderConfigurations.SingleOrDefault(x => x.HardwareWinderType.Code == winderConfig.HardwareWinderType.Code);
- foreach (var speedSensorConfig in hw.HardwareSpeedSensors)
- {
- var itemConfig = SpeedSensorItem.SpeedSensorConfigurations.SingleOrDefault(x => x.HardwareSpeedSensorType.Code == speedSensorConfig.HardwareSpeedSensorType.Code);
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(winderConfig);
+ }
+ }
- if (itemConfig != null)
- {
- itemConfig.MapPrimitivesTo(speedSensorConfig);
- }
- }
+ foreach (var dancerConfig in hw.HardwareDancers)
+ {
+ var itemConfig = DancerItem.DancerConfigurations.SingleOrDefault(x => x.HardwareDancerType.Code == dancerConfig.HardwareDancerType.Code);
- foreach (var blowerConfig in hw.HardwareBlowers)
- {
- var itemConfig = BlowerItem.BlowerConfigurations.SingleOrDefault(x => x.HardwareBlowerType.Code == blowerConfig.HardwareBlowerType.Code);
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(dancerConfig);
+ }
+ }
- if (itemConfig != null)
- {
- itemConfig.MapPrimitivesTo(blowerConfig);
- }
- }
+ foreach (var speedSensorConfig in hw.HardwareSpeedSensors)
+ {
+ var itemConfig = SpeedSensorItem.SpeedSensorConfigurations.SingleOrDefault(x => x.HardwareSpeedSensorType.Code == speedSensorConfig.HardwareSpeedSensorType.Code);
- foreach (var breakSensorConfig in hw.HardwareBreakSensors)
- {
- var itemConfig = BreakSensorItem.BreakSensorConfigurations.SingleOrDefault(x => x.HardwareBreakSensorType.Code == breakSensorConfig.HardwareBreakSensorType.Code);
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(speedSensorConfig);
+ }
+ }
- if (itemConfig != null)
- {
- itemConfig.MapPrimitivesTo(breakSensorConfig);
- }
- }
+ foreach (var blowerConfig in hw.HardwareBlowers)
+ {
+ var itemConfig = BlowerItem.BlowerConfigurations.SingleOrDefault(x => x.HardwareBlowerType.Code == blowerConfig.HardwareBlowerType.Code);
- using (_notification.PushTaskItem("Uploading hardware configuration..."))
- {
- try
- {
- await MachineOperator.UploadHardwareConfiguration(hw, ApplicationManager.ConnectedMachine.Machine.Configuration);
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(blowerConfig);
+ }
+ }
+
+ foreach (var breakSensorConfig in hw.HardwareBreakSensors)
+ {
+ var itemConfig = BreakSensorItem.BreakSensorConfigurations.SingleOrDefault(x => x.HardwareBreakSensorType.Code == breakSensorConfig.HardwareBreakSensorType.Code);
+
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(breakSensorConfig);
+ }
+ }
+
+ await MachineOperator.UploadHardwareConfiguration(hw, config);
}
catch (Exception ex)
{
@@ -1753,11 +1768,19 @@ namespace Tango.MachineStudio.Technician.ViewModels
}
}
- private void ResetHardwareConfiguration(bool showMessage = true)
+ private async void ResetHardwareConfiguration(bool showMessage = true)
{
if (MachineOperator != null)
{
- var hw = ApplicationManager.ConnectedMachine.Machine.Configuration.HardwareVersion;
+ ObservablesContext db = ObservablesContext.CreateDefault();
+ ObservablesContextAdapter adapter = new ObservablesContextAdapter(db);
+
+ HardwareVersion hw = null;
+
+ await Task.Factory.StartNew(() =>
+ {
+ hw = adapter.GetHardwareVersionByMachine(ApplicationManager.ConnectedMachine.Machine.Guid);
+ });
foreach (var motorConfig in hw.HardwareMotors)
{
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Views/MachineTechView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Views/MachineTechView.xaml.cs
index b60f4d725..977974f8a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Views/MachineTechView.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Views/MachineTechView.xaml.cs
@@ -59,7 +59,7 @@ namespace Tango.MachineStudio.Technician.Views
private void OnActionModeClicked(object sender, MouseButtonEventArgs e)
{
- editor.DeselectElements();
+ //editor.DeselectElements();
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/app.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/app.config
index 5d794b958..77b7003e2 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/app.config
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/app.config
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
+ <configSections>
+ <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+ <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+ </configSections>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
@@ -48,4 +52,10 @@
</dependentAssembly>
</assemblyBinding>
</runtime>
+ <entityFramework>
+ <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
+ <providers>
+ <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+ </providers>
+ </entityFramework>
</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/packages.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/packages.config
index 49b90c865..ea48e62ff 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/packages.config
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/packages.config
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="CommonServiceLocator" version="1.3" targetFramework="net46" />
+ <package id="EntityFramework" version="6.0.0" targetFramework="net472" />
<package id="Expression.Blend.Sdk" version="1.0.2" targetFramework="net46" />
<package id="FontAwesome.WPF" version="4.7.0.9" targetFramework="net46" />
<package id="Google.Protobuf" version="3.4.1" targetFramework="net46" />
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Properties/AssemblyInfo.cs
index 45b3ef1ce..b5f0f2d5b 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio Users & Roles Module")]
-[assembly: AssemblyVersion("2.0.7.1633")]
+[assembly: AssemblyVersion("2.0.9.1159")]
[assembly: ComVisible(false)]
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Tango.MachineStudio.UsersAndRoles.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Tango.MachineStudio.UsersAndRoles.csproj
index 48fe2b34c..539f10574 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Tango.MachineStudio.UsersAndRoles.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/Tango.MachineStudio.UsersAndRoles.csproj
@@ -8,7 +8,7 @@
<OutputType>library</OutputType>
<RootNamespace>Tango.MachineStudio.UsersAndRoles</RootNamespace>
<AssemblyName>Tango.MachineStudio.UsersAndRoles</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs
index 7d82cbbbc..db312b78f 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.UsersAndRoles/ViewModels/MainViewVM.cs
@@ -8,14 +8,16 @@ using System.Threading.Tasks;
using Tango.BL;
using Tango.BL.Entities;
using Tango.Core.Commands;
+using Tango.MachineStudio.Common;
using Tango.MachineStudio.Common.Notifications;
using Tango.MachineStudio.UsersAndRoles.Navigation;
using Tango.MachineStudio.UsersAndRoles.Providers;
using Tango.SharedUI;
+using System.Data.Entity;
namespace Tango.MachineStudio.UsersAndRoles.ViewModels
{
- public class MainViewVM : ViewModel
+ public class MainViewVM : StudioViewModel
{
private ObservablesContext _organizationsContext;
private ObservablesContext _manageContext;
@@ -129,8 +131,6 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels
_navigation = navigation;
_notification = notification;
- LoadOrganizations();
-
ManageOrganizationCommand = new RelayCommand(LoadSelectedOrganization, () => SelectedOrganization != null);
BackToOrganizationsCommand = new RelayCommand(BackToOrganizations);
ManageUserCommand = new RelayCommand(LoadSelectedUser, () => SelectedUser != null);
@@ -144,6 +144,11 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels
RemoveUserCommand = new RelayCommand(RemoveSelectedUser, () => SelectedUser != null);
}
+ public override void OnApplicationReady()
+ {
+ LoadOrganizations();
+ }
+
private async void AddOrganization()
{
String name = _notification.ShowTextInput("Enter organization name", "Name");
@@ -187,19 +192,20 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels
}
}
- private void LoadSelectedUser()
+ private async void LoadSelectedUser()
{
using (_notification.PushTaskItem("Loading user details..."))
{
- Task.Factory.StartNew(() =>
+ await Task.Factory.StartNew(() =>
{
_userContext = ObservablesContext.CreateDefault();
+
Roles = _userContext.Roles.ToObservableCollection();
- ManagedUser = _userContext.Users.SingleOrDefault(x => x.Guid == SelectedUser.Guid);
+ ManagedUser = _userContext.Adapter.GetUser(SelectedUser.Guid);
ManagedUserRoles = ManagedUser.Roles.ToObservableCollection();
-
- InvokeUI(() => _navigation.NavigateTo(UsersAndRolesNavigationView.UserManagementView));
});
+
+ _navigation.NavigateTo(UsersAndRolesNavigationView.UserManagementView);
}
}
@@ -242,31 +248,35 @@ namespace Tango.MachineStudio.UsersAndRoles.ViewModels
}
}
- private void LoadSelectedOrganization()
+ private async void LoadSelectedOrganization()
{
using (_notification.PushTaskItem("Loading organization..."))
{
- Task.Factory.StartNew(() =>
+ await Task.Factory.StartNew(() =>
{
_manageContext = ObservablesContext.CreateDefault();
- ManagedOrganization = _manageContext.Organizations.SingleOrDefault(x => x.Guid == SelectedOrganization.Guid);
- InvokeUI(() => _navigation.NavigateTo(UsersAndRolesNavigationView.OrganizationManagementView));
+ ManagedOrganization = _manageContext.Adapter.GetOrganizationAndUsers(SelectedOrganization.Guid);
});
+
+ _navigation.NavigateTo(UsersAndRolesNavigationView.OrganizationManagementView);
}
}
private void LoadOrganizations()
{
- _organizationsContext = ObservablesContext.CreateDefault();
- _organizationsContext.Configuration.LazyLoadingEnabled = false;
-
- _organizationsContext.Users.ToList();
- _organizationsContext.Contacts.ToList();
- _organizationsContext.Addresses.ToList();
- _organizationsContext.Machines.ToList();
+ Task.Factory.StartNew(() =>
+ {
+ _organizationsContext = ObservablesContext.CreateDefault();
- Organizations = _organizationsContext.Organizations.ToObservableCollection();
+ Organizations = _organizationsContext.Organizations
+ .Include(x => x.Machines)
+ .Include(x => x.Users)
+ .Include(x => x.Users.Select(y => y.Contact))
+ .Include(x => x.Users.Select(y => y.Address))
+ .Include(x => x.Address)
+ .ToObservableCollection();
+ });
}
public void OnDropRole(Role role)
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/AutoComplete/MachinesProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/AutoComplete/MachinesProvider.cs
index e486ec79a..ec23fefee 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/AutoComplete/MachinesProvider.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/AutoComplete/MachinesProvider.cs
@@ -23,7 +23,7 @@ namespace Tango.MachineStudio.Common.AutoComplete
/// <returns></returns>
public IEnumerable GetSuggestions(string filter)
{
- return ObservablesEntitiesAdapter.Instance.Machines.Where(x => x.SerialNumber.StartsWith(filter, StringComparison.CurrentCultureIgnoreCase) || x.Name.ToLower().Contains(filter.ToLower())).ToList();
+ return ObservablesStaticCollections.Instance.Machines.Where(x => x.SerialNumber.StartsWith(filter, StringComparison.CurrentCultureIgnoreCase) || x.Name.ToLower().Contains(filter.ToLower())).ToList();
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/LoadingPanel.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/LoadingPanel.cs
new file mode 100644
index 000000000..665d6995b
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Controls/LoadingPanel.cs
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.MachineStudio.Common.Controls
+{
+ public class LoadingPanel : ContentControl
+ {
+
+
+ public bool IsLoading
+ {
+ get { return (bool)GetValue(IsLoadingProperty); }
+ set { SetValue(IsLoadingProperty, value); }
+ }
+ public static readonly DependencyProperty IsLoadingProperty =
+ DependencyProperty.Register("IsLoading", typeof(bool), typeof(LoadingPanel), new PropertyMetadata(false));
+
+
+
+ static LoadingPanel()
+ {
+ DefaultStyleKeyProperty.OverrideMetadata(typeof(LoadingPanel), new FrameworkPropertyMetadata(typeof(LoadingPanel)));
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging/DefaultEventLogger.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging/DefaultEventLogger.cs
index c5b9c63cb..cb4611cad 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging/DefaultEventLogger.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/EventLogging/DefaultEventLogger.cs
@@ -81,7 +81,6 @@ namespace Tango.MachineStudio.Common.EventLogging
try
{
_db = ObservablesContext.CreateDefault();
- _db.Configuration.LazyLoadingEnabled = false;
_db.ActionTypes.ToList();
_db.EventTypesActions.ToList();
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/IStudioViewModel.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/IStudioViewModel.cs
index 4203a1e8b..be0906fc4 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/IStudioViewModel.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/IStudioViewModel.cs
@@ -3,25 +3,16 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using static Tango.SharedUI.Controls.NavigationControl;
namespace Tango.MachineStudio.Common
{
/// <summary>
/// Represents a Machine Studio view model.
/// </summary>
- public interface IStudioViewModel
+ public interface IStudioViewModel : INavigationViewModel
{
/// <summary>
- /// Called when the user has navigated in to the module.
- /// </summary>
- void OnNavigatedTo();
-
- /// <summary>
- /// Called when the user has navigated out of the module.
- /// </summary>
- void OnNavigatedFrom();
-
- /// <summary>
/// Called when application is shutting down.
/// </summary>
void OnShuttingDown();
@@ -34,14 +25,13 @@ namespace Tango.MachineStudio.Common
Task<bool> OnShutdownRequest();
/// <summary>
- /// Called when another module has wants to navigate to this module with some arguments.
+ /// Called when the application has been started
/// </summary>
- /// <param name="args">The arguments.</param>
- void OnModuleRequest(params object[] args);
+ void OnApplicationStarted();
/// <summary>
- /// Called when the application has been started
+ /// Called when the application is ready and all modules are loaded.
/// </summary>
- void OnApplicationStarted();
+ void OnApplicationReady();
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Modules/IStudioModuleLoader.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Modules/IStudioModuleLoader.cs
index 1fd72c53a..990300143 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Modules/IStudioModuleLoader.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Modules/IStudioModuleLoader.cs
@@ -13,6 +13,11 @@ namespace Tango.MachineStudio.Common.Modules
public interface IStudioModuleLoader
{
/// <summary>
+ /// Occurs when all modules are initialized.
+ /// </summary>
+ event EventHandler ModulesLoaded;
+
+ /// <summary>
/// Gets all loaded modules.
/// </summary>
ObservableCollection<IStudioModule> AllModules { get; }
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationBlocker.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationBlocker.cs
new file mode 100644
index 000000000..abd6db172
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationBlocker.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.MachineStudio.Common.Navigation
+{
+ /// <summary>
+ /// Represents an object which can abort the navigation from it.
+ /// </summary>
+ public interface INavigationBlocker
+ {
+ /// <summary>
+ /// Called before the navigation system navigates from this object.
+ /// Return false to abort the navigation.
+ /// </summary>
+ /// <returns></returns>
+ Task<bool> OnNavigateOutRequest();
+
+ /// <summary>
+ /// Called before the navigation system navigates back from this object.
+ /// Return false to abort the navigation.
+ /// </summary>
+ /// <returns></returns>
+ Task<bool> OnNavigateBackRequest();
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationManager.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationManager.cs
index 4d1cbea8c..e20940c8d 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationManager.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationManager.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Tango.Core.Commands;
namespace Tango.MachineStudio.Common.Navigation
{
@@ -12,9 +13,102 @@ namespace Tango.MachineStudio.Common.Navigation
public interface INavigationManager
{
/// <summary>
- /// Navigates to the specified view.
+ /// Gets the current module.
+ /// </summary>
+ IStudioModule CurrentModule { get; }
+
+ /// <summary>
+ /// Gets the current view model.
+ /// </summary>
+ StudioViewModel CurrentVM { get; }
+
+ /// <summary>
+ /// Gets a value indicating whether the navigation system is able to navigate to the previous view.
+ /// </summary>
+ bool CanNavigateBack { get; }
+
+ /// <summary>
+ /// Navigates to the previous view if <see cref="CanNavigateBack"/> is true.
+ /// </summary>
+ Task<bool> NavigateBack();
+
+ /// <summary>
+ /// Navigates to the previous view..
+ /// </summary>
+ RelayCommand NavigateBackCommand { get; }
+
+ /// <summary>
+ /// Navigates to the specified full path in command parameter.
+ /// </summary>
+ RelayCommand<String> NavigateToCommand { get; }
+
+ /// <summary>
+ /// Navigates to the specified PPC view.
/// </summary>
/// <param name="view">The view.</param>
- void NavigateTo(NavigationView view);
+ Task<bool> NavigateTo(NavigationView view, bool pushToHistory = true);
+
+ /// <summary>
+ /// Navigates to the specified PPC view with the specified receive object.
+ /// </summary>
+ /// <param name="view">The view.</param>
+ Task<bool> NavigateWithObject<TPass>(NavigationView view, TPass obj, bool pushToHistory = true);
+
+ /// <summary>
+ /// Navigates to the specified module.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ Task<bool> NavigateTo<T>(bool pushToHistory = true) where T : IStudioModule;
+
+ /// <summary>
+ /// Navigates to the specified module using the view path (e.g MainView.JobsView).
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="viewPath">The view path.</param>
+ Task<bool> NavigateTo<T>(String viewPath, bool pushToHistory = true) where T : IStudioModule;
+
+ /// <summary>
+ /// Navigates to the specified module using the view path (e.g MainView,JobsView).
+ /// This method makes it easy to do stuff like NavigateTo(nameof(MainView),nameof(JobsView));
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="viewPath">The view path.</param>
+ Task<bool> NavigateTo<T>(bool pushToHistory = true, params String[] viewPath) where T : IStudioModule;
+
+ /// <summary>
+ /// Navigates to the specified module and view by full path (e.g Jobs.JobsView).
+ /// </summary>
+ /// <param name="fullPath">The full path.</param>
+ Task<bool> NavigateTo(String fullPath, bool pushToHistory = true);
+
+ /// <summary>
+ /// Navigates to the specified module and view with the specified object and expecting a return parameter.
+ /// The view must be of type INavigationResultProvider<TResult>.
+ /// </summary>
+ /// <param name="fullPath">The full path.</param>
+ Task<TResult> NavigateForResult<TModule, TView, TResult, TPass>(TPass obj, bool pushToHistory = true)
+ where TModule : IStudioModule;
+
+ /// <summary>
+ /// Navigates to the specified module and view with the specified object.
+ /// </summary>
+ /// <typeparam name="TModule">The type of the module.</typeparam>
+ /// <typeparam name="TView">The type of the view.</typeparam>
+ /// <typeparam name="TPass">The type of the pass.</typeparam>
+ /// <param name="obj">The object.</param>
+ /// <param name="pushToHistory">if set to <c>true</c> [push to history].</param>
+ /// <returns></returns>
+ Task<bool> NavigateWithObject<TModule, TView, TPass>(TPass obj, bool pushToHistory = true)
+ where TModule : IStudioModule;
+
+ /// <summary>
+ /// Clears the navigation back history.
+ /// </summary>
+ void ClearHistory();
+
+ /// <summary>
+ /// Clears the navigation back history except the specified view type.
+ /// </summary>
+ void ClearHistoryExcept<T>();
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationObjectReceiver.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationObjectReceiver.cs
new file mode 100644
index 000000000..5072881d2
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationObjectReceiver.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.MachineStudio.Common.Navigation
+{
+ /// <summary>
+ /// Represents an object which supports receiving an object as part of the navigation to it.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ public interface INavigationObjectReceiver<T>
+ {
+ /// <summary>
+ /// Called when navigation system is going to navigate to this instance with the specified object.
+ /// </summary>
+ /// <param name="obj">The object.</param>
+ void OnNavigatedToWithObject(T obj);
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationResultProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationResultProvider.cs
new file mode 100644
index 000000000..dee037432
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Navigation/INavigationResultProvider.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.MachineStudio.Common.Navigation
+{
+ /// <summary>
+ /// Represents a object which provides a result the navigation system navigates away from it.
+ /// </summary>
+ /// <typeparam name="TResult">The type of the result.</typeparam>
+ /// <typeparam name="TPass">The type of the pass.</typeparam>
+ public interface INavigationResultProvider<TResult, TPass>
+ {
+ /// <summary>
+ /// Called when the navigation system requests a result when it is navigating away from this instance.
+ /// </summary>
+ /// <returns></returns>
+ TResult GetNavigationResult();
+
+ /// <summary>
+ /// Called when navigation system is going to navigate to this instance with the specified object.
+ /// </summary>
+ /// <param name="obj">The object.</param>
+ void OnNavigationObjectReceived(TPass obj);
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Properties/AssemblyInfo.cs
index 4b671e2e1..cd70982d5 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio Common Components")]
-[assembly: AssemblyVersion("2.0.24.1647")]
+[assembly: AssemblyVersion("2.0.26.1159")]
[assembly: ComVisible(false)]
[assembly:ThemeInfo(
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/MaterialDesign.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/MaterialDesign.xaml
index 07818269b..6fcf6dd72 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/MaterialDesign.xaml
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/MaterialDesign.xaml
@@ -3,6 +3,7 @@
xmlns:converters="clr-namespace:MaterialDesignThemes.Wpf.Converters;assembly=MaterialDesignThemes.Wpf"
xmlns:editors="clr-namespace:Tango.AutoComplete.Editors;assembly=Tango.AutoComplete"
xmlns:dragAndDrop="clr-namespace:Tango.DragAndDrop;assembly=Tango.DragAndDrop"
+ xmlns:sharedConverters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
xmlns:mahApps="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:local="clr-namespace:Tango.MachineStudio.Common.Resources">
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioApplication/IStudioApplicationManager.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioApplication/IStudioApplicationManager.cs
index 07f02df3a..96de3eea0 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioApplication/IStudioApplicationManager.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioApplication/IStudioApplicationManager.cs
@@ -45,13 +45,6 @@ namespace Tango.MachineStudio.Common.StudioApplication
bool IsMachineConnectedViaTCP { get; }
/// <summary>
- /// Loads the specified module if permitted.
- /// </summary>
- /// <param name="moduleName">Name of the module.</param>
- /// <param name="args">The arguments.</param>
- void RequestModule(String moduleName, params object[] args);
-
- /// <summary>
/// Gets the machine studio application version.
/// </summary>
Version Version { get; }
@@ -77,5 +70,10 @@ namespace Tango.MachineStudio.Common.StudioApplication
/// </summary>
/// <param name="window">The window.</param>
void RegisterOpenedWindow(Window window);
+
+ /// <summary>
+ /// Raises the application ready event.
+ /// </summary>
+ void NotifyApplicationReady();
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioViewModel.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioViewModel.cs
index 96715dc20..63ff2119a 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioViewModel.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/StudioViewModel.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Tango.Core.DI;
using Tango.SharedUI;
namespace Tango.MachineStudio.Common
@@ -10,51 +11,42 @@ namespace Tango.MachineStudio.Common
/// <summary>
/// Represents a Machine Studio view model
/// </summary>
- /// <typeparam name="Module">The type of the module.</typeparam>
/// <seealso cref="Tango.SharedUI.ViewModel" />
/// <seealso cref="Tango.MachineStudio.Common.IStudioViewModel" />
- public abstract class StudioViewModelInternal : ViewModel, IStudioViewModel
+ public abstract class StudioViewModel : ViewModel, IStudioViewModel
{
- public bool IsVisible { get; private set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether this view model studio module is currently loaded.
- /// </summary>
- public bool IsModuleLoaded { get; private set; }
-
+ private bool _isVisible;
/// <summary>
- /// Initializes a new instance of the <see cref="StudioViewModel{Module}"/> class.
+ /// Gets or sets a value indicating whether this view model view's is visible.
/// </summary>
- public StudioViewModelInternal() : base()
+ public bool IsVisible
{
-
+ get { return _isVisible; }
+ set { _isVisible = value; RaisePropertyChangedAuto(); }
}
/// <summary>
- /// Called when another module has wants to navigate to this module with some arguments.
+ /// Initializes a new instance of the <see cref="StudioViewModel{Module}"/> class.
/// </summary>
- /// <param name="args">The arguments.</param>
- public virtual void OnModuleRequest(params object[] args)
+ public StudioViewModel() : base()
{
}
/// <summary>
- /// Called when the user has navigated out of the module.
+ /// Called when the user has navigated out of this view model.
/// </summary>
public virtual void OnNavigatedFrom()
{
IsVisible = false;
- IsModuleLoaded = false;
}
/// <summary>
- /// Called when the user has navigated in to the module.
+ /// Called when the user has navigated in to this view model.
/// </summary>
public virtual void OnNavigatedTo()
{
IsVisible = true;
- IsModuleLoaded = true;
}
/// <summary>
@@ -82,153 +74,42 @@ namespace Tango.MachineStudio.Common
{
}
- }
-
- /// <summary>
- /// Represents a Machine Studio view model
- /// </summary>
- /// <typeparam name="Module">The type of the module.</typeparam>
- /// <seealso cref="Tango.SharedUI.ViewModel" />
- /// <seealso cref="Tango.MachineStudio.Common.IStudioViewModel" />
- public abstract class StudioViewModel<Module> : ViewModel, IStudioViewModel where Module : IStudioModule
- {
- public bool IsVisible { get; private set; }
-
- /// <summary>
- /// Gets or sets a value indicating whether this view model studio module is currently loaded.
- /// </summary>
- public bool IsModuleLoaded { get; private set; }
-
- /// <summary>
- /// Initializes a new instance of the <see cref="StudioViewModel{Module}"/> class.
- /// </summary>
- public StudioViewModel() : base()
- {
-
- }
-
- /// <summary>
- /// Called when another module has wants to navigate to this module with some arguments.
- /// </summary>
- /// <param name="args">The arguments.</param>
- public virtual void OnModuleRequest(params object[] args)
- {
-
- }
/// <summary>
- /// Called when the user has navigated out of the module.
- /// </summary>
- public virtual void OnNavigatedFrom()
- {
- IsVisible = false;
- IsModuleLoaded = false;
- }
-
- /// <summary>
- /// Called when the user has navigated in to the module.
- /// </summary>
- public virtual void OnNavigatedTo()
- {
- IsVisible = true;
- IsModuleLoaded = true;
- }
-
- /// <summary>
- /// Called before the application is shutting down.
- /// Return false to cancel the shutdown in case an important process is in progress.
- /// </summary>
- /// <returns></returns>
- public virtual Task<bool> OnShutdownRequest()
- {
- return Task.FromResult(true);
- }
-
- /// <summary>
- /// Called when application is shutting down.
+ /// Called when the application is ready and all modules are loaded.
/// </summary>
- public virtual void OnShuttingDown()
- {
-
- }
-
- /// <summary>
- /// Called when the application has been started
- /// </summary>
- public virtual void OnApplicationStarted()
- {
-
- }
+ public abstract void OnApplicationReady();
}
/// <summary>
- /// Represents a Machine Studio view model.
+ /// Represents a Machine Studio view model with a support for a view contract.
/// </summary>
- /// <typeparam name="Module">The type of the module.</typeparam>
- /// <typeparam name="T"></typeparam>
+ /// <typeparam name="TView"></typeparam>
/// <seealso cref="Tango.SharedUI.ViewModel" />
- /// <seealso cref="Tango.MachineStudio.Common.IStudioViewModel" />
- public abstract class StudioViewModel<Module, T> : ViewModel<T>, IStudioViewModel where Module : IStudioModule where T : IView
+ public abstract class StudioViewModel<TView> : StudioViewModel where TView : IView
{
/// <summary>
- /// Initializes a new instance of the <see cref="StudioViewModel{Module, T}"/> class.
+ /// Gets the view model's view.
/// </summary>
- /// <param name="view">The view.</param>
- public StudioViewModel(T view) : base(view)
- {
-
- }
-
- /// <summary>
- /// Called when the application has been started
- /// </summary>
- public virtual void OnApplicationStarted()
- {
-
- }
+ public TView View { get; private set; }
/// <summary>
- /// Called when another module has wants to navigate to this module with some arguments.
+ /// Initializes a new instance of the <see cref="StudioViewModel{TView}"/> class.
/// </summary>
- /// <param name="args">The arguments.</param>
- public virtual void OnModuleRequest(params object[] args)
- {
-
- }
-
- /// <summary>
- /// Called when the user has navigated out of the module.
- /// </summary>
- public virtual void OnNavigatedFrom()
- {
-
- }
-
- /// <summary>
- /// Called when the user has navigated in to the module.
- /// </summary>
- public virtual void OnNavigatedTo()
- {
-
- }
-
- /// <summary>
- /// Called before the application is shutting down.
- /// Return false to cancel the shutdown in case an important process is in progress.
- /// </summary>
- /// <returns></returns>
- public virtual Task<bool> OnShutdownRequest()
+ public StudioViewModel() : base()
{
- return Task.FromResult(true);
+ TangoIOC.Default.GetInstanceWhenAvailable<TView>((view) =>
+ {
+ View = view;
+ OnViewAttached(view);
+ });
}
/// <summary>
- /// Called when application is shutting down.
+ /// Called when the view has been attached
/// </summary>
- public virtual void OnShuttingDown()
- {
-
- }
+ /// <param name="view">The view.</param>
+ protected abstract void OnViewAttached(TView view);
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
index 6d6803076..09678b515 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
@@ -8,7 +8,7 @@
<OutputType>library</OutputType>
<RootNamespace>Tango.MachineStudio.Common</RootNamespace>
<AssemblyName>Tango.MachineStudio.Common</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
@@ -85,6 +85,7 @@
<DependentUpon>HiveComboControl.xaml</DependentUpon>
</Compile>
<Compile Include="Controls\IRealTimeGraph.cs" />
+ <Compile Include="Controls\LoadingPanel.cs" />
<Compile Include="Controls\RealTimeGraphMultiControl.xaml.cs">
<DependentUpon>RealTimeGraphMultiControl.xaml</DependentUpon>
</Compile>
@@ -105,6 +106,9 @@
<Compile Include="IStudioViewModel.cs" />
<Compile Include="MachineStudioSettings.cs" />
<Compile Include="Messages\MachineConnectionChangedMessage.cs" />
+ <Compile Include="Navigation\INavigationBlocker.cs" />
+ <Compile Include="Navigation\INavigationObjectReceiver.cs" />
+ <Compile Include="Navigation\INavigationResultProvider.cs" />
<Compile Include="Notifications\BarItem.cs" />
<Compile Include="Speech\DefaultSpeechProvider.cs" />
<Compile Include="Speech\ISpeechProvider.cs" />
@@ -114,6 +118,7 @@
<Compile Include="StudioModuleAttribute.cs" />
<Compile Include="StudioModuleBase.cs" />
<Compile Include="StudioViewModel.cs" />
+ <Compile Include="Threading\IDispatcherProvider.cs" />
<Compile Include="Update\CheckForUpdatesResponse.cs" />
<Compile Include="Update\CheckForUpdatesRequest.cs" />
<Compile Include="Update\IMachineStudioUpdateService.cs" />
@@ -163,6 +168,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
+ <Page Include="Themes\Generic.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs">
@@ -287,9 +296,7 @@
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
- <ItemGroup>
- <Folder Include="MarkupExtensions\" />
- </ItemGroup>
+ <ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Themes/Generic.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Themes/Generic.xaml
new file mode 100644
index 000000000..9cc398753
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Themes/Generic.xaml
@@ -0,0 +1,31 @@
+<ResourceDictionary
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:mahApps="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
+ xmlns:local="clr-namespace:Tango.MachineStudio.Common.Controls">
+
+ <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
+ <converters:BooleanToVisibilityInverseConverter x:Key="BooleanToVisibilityInverseConverter" />
+
+ <Style TargetType="{x:Type local:LoadingPanel}">
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type local:LoadingPanel}">
+ <Border Background="{TemplateBinding Background}"
+ BorderBrush="{TemplateBinding BorderBrush}"
+ BorderThickness="{TemplateBinding BorderThickness}">
+
+ <Grid>
+ <ContentPresenter Content="{TemplateBinding Content}" />
+
+ <Grid Background="#60FFFFFF" Visibility="{TemplateBinding IsLoading,Converter={StaticResource BooleanToVisibilityConverter}}">
+ <mahApps:ProgressRing IsActive="{TemplateBinding IsLoading}" />
+ </Grid>
+ </Grid>
+ </Border>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+</ResourceDictionary>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Threading/IDispatcherProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Threading/IDispatcherProvider.cs
new file mode 100644
index 000000000..1c960ed3a
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Threading/IDispatcherProvider.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.MachineStudio.Common.Threading
+{
+ /// <summary>
+ /// Represents a mechanism for invoking actions on the main application thread.
+ /// </summary>
+ public interface IDispatcherProvider
+ {
+ /// <summary>
+ /// Invokes the specified action asynchronously.
+ /// </summary>
+ /// <param name="action">The action.</param>
+ void Invoke(Action action);
+
+ /// <summary>
+ /// Invokes the specified action synchronously.
+ /// </summary>
+ /// <param name="action">The action.</param>
+ void InvokeSync(Action action);
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/app.config b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/app.config
index 77b7003e2..0e58ccf54 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/app.config
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/app.config
@@ -50,6 +50,10 @@
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ </dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Installer/Tango.MachineStudio.Installer.vdproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Installer/Tango.MachineStudio.Installer.vdproj
index 3d8330858..a79853910 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Installer/Tango.MachineStudio.Installer.vdproj
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Installer/Tango.MachineStudio.Installer.vdproj
@@ -15,116 +15,20 @@
{
"Entry"
{
- "MsmKey" = "8:_00AB5F4CB0B9DCC466359F8589533B68"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_00AB5F4CB0B9DCC466359F8589533B68"
- "OwnerKey" = "8:_94B0EAFC6BCADB7C6DC2EF31467C8C24"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_018A2A1E8555CACB14EEBBCFE003E82A"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_023CEE1263BC2659C4302E37A4F8A946"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_032C05575B795D1CAEDD5105F1520FBB"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "OwnerKey" = "8:_61ACBC61C06E40FB3AE4346599718EB4"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "OwnerKey" = "8:_13428C81458C52275C0A41D014521151"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "OwnerKey" = "8:_7745EEBA3C6F32DA91434BF623E143C5"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "OwnerKey" = "8:_0E196D84800B9656BC318F85626EFE05"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "OwnerKey" = "8:_2423100AF29217C4332A90074E54D4D0"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "OwnerKey" = "8:_FAAE7C62982AB9171B3FF838FB304946"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "OwnerKey" = "8:_47ECF1DA52157B12F544FB237D85F564"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "OwnerKey" = "8:_4446241C89A5162FB80809A05F581472"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_0B42804156762B4BDCC3EF894CED60AC"
+ "OwnerKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_08C7D6D7EF105161BD48E61BBEBBF002"
+ "MsmKey" = "8:_0B42804156762B4BDCC3EF894CED60AC"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_0B4B393563808E508848ED965CF47AEE"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_0B42804156762B4BDCC3EF894CED60AC"
+ "OwnerKey" = "8:_CAE724B9A481E2BAEC967AC01E7440FC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -135,236 +39,38 @@
}
"Entry"
{
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_13428C81458C52275C0A41D014521151"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_4A177C28F7864675BCA7A0910494A760"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_5C9E5FF7D356A4422B8968FB61BDF478"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_7745EEBA3C6F32DA91434BF623E143C5"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_0E196D84800B9656BC318F85626EFE05"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_2423100AF29217C4332A90074E54D4D0"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_FAAE7C62982AB9171B3FF838FB304946"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_47ECF1DA52157B12F544FB237D85F564"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_4446241C89A5162FB80809A05F581472"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_EB16994750C856659A7BE41BD02F8ABE"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_61ACBC61C06E40FB3AE4346599718EB4"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_D6A37AFBBBDA445164B68F2E7D5B3E80"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_E9B6634643306242F65E192204E9C56A"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_F1DFFB8E50BAD2529B0C859268ED8956"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_2F23291F311EE9576449E5628A5702AE"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_67EAE4B6E14417FC2BF4F4EBF4473A1E"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_38A402C026B59AE31D2CBB0235AF3368"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_0E196D84800B9656BC318F85626EFE05"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_13428C81458C52275C0A41D014521151"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_0D36BD88AEF84A1CA7AC32F4687643FD"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_13803D82858878E2D3953D4742A1A596"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_14CF2DBBA5462C65F94A9137DCE014F9"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_173C4B05CE04BA34E920DC64B25A8670"
+ "MsmKey" = "8:_136196DD2763419D959721C2BA143498"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_17BFDCA42AB1DE7706418C4C953F856E"
- "OwnerKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_17BFDCA42AB1DE7706418C4C953F856E"
+ "MsmKey" = "8:_1CB515C82F6904C632717D23A858B116"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_1910D5B276479C48B4F7762A638405F5"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "MsmKey" = "8:_1EC9EA112C92712F7DD0290C02F8F1EB"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_1AC47588060EAA9F2B7A13EC07359D10"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_1BDA3B7B2EF85A48708A41568E05F63F"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_1EC9EA112C92712F7DD0290C02F8F1EB"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_201B65B789181625CAF1E7D925466231"
- "OwnerKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
+ "OwnerKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -387,368 +93,344 @@
}
"Entry"
{
- "MsmKey" = "8:_201B65B789181625CAF1E7D925466231"
- "OwnerKey" = "8:_5C9E5FF7D356A4422B8968FB61BDF478"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_2423100AF29217C4332A90074E54D4D0"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_2444D22B50272EAE03F2B5D2457335EC"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_21E475E8F9DBB207476AD595250634BF"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_244F067B77DB6F9852E2286427480A18"
+ "MsmKey" = "8:_21E475E8F9DBB207476AD595250634BF"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2589A08E4AC51C4B69842E948EFC87DB"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_21E475E8F9DBB207476AD595250634BF"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_262CDE6547BE15C0065FC563C76194D2"
- "OwnerKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
+ "MsmKey" = "8:_269E1BD3A1EBC31895AD3845529D3A9A"
+ "OwnerKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_262CDE6547BE15C0065FC563C76194D2"
- "OwnerKey" = "8:_D949D70DDDDCF94CDCAD9B76A400C3D3"
+ "MsmKey" = "8:_269E1BD3A1EBC31895AD3845529D3A9A"
+ "OwnerKey" = "8:_CAE724B9A481E2BAEC967AC01E7440FC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_262CDE6547BE15C0065FC563C76194D2"
- "OwnerKey" = "8:_6E2E48228E9ADAD05ABEFB8E7A69DCCC"
+ "MsmKey" = "8:_269E1BD3A1EBC31895AD3845529D3A9A"
+ "OwnerKey" = "8:_0B42804156762B4BDCC3EF894CED60AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_262CDE6547BE15C0065FC563C76194D2"
- "OwnerKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
+ "MsmKey" = "8:_269E1BD3A1EBC31895AD3845529D3A9A"
+ "OwnerKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_262CDE6547BE15C0065FC563C76194D2"
+ "MsmKey" = "8:_269E1BD3A1EBC31895AD3845529D3A9A"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_262CDE6547BE15C0065FC563C76194D2"
- "OwnerKey" = "8:_BA22D23CB5304B5389C531581B1D5C63"
+ "MsmKey" = "8:_269E1BD3A1EBC31895AD3845529D3A9A"
+ "OwnerKey" = "8:_386D8E25E67F7711289168ABA40EEA5D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_26BF1219019A4367BA3497A5899C05B1"
+ "MsmKey" = "8:_2797CFFB7DAA734F75BFE8FB845163D3"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_283F49175556E95BE98A7C8600F4030B"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_2797CFFB7DAA734F75BFE8FB845163D3"
+ "OwnerKey" = "8:_A9A74798DD330F41ADBD32DBB9480F5C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2EB48F8299C56A3911017460C55FDA43"
+ "MsmKey" = "8:_2A67839C006307363A784C0284DC07B0"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2EB48F8299C56A3911017460C55FDA43"
- "OwnerKey" = "8:_17BFDCA42AB1DE7706418C4C953F856E"
+ "MsmKey" = "8:_2A67839C006307363A784C0284DC07B0"
+ "OwnerKey" = "8:_E521ECFD6C000298EBF2C298D2E4376B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "MsmKey" = "8:_30FDB43A5EE9C1E3839D05F6363080D6"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2F23291F311EE9576449E5628A5702AE"
- "OwnerKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
+ "MsmKey" = "8:_30FDB43A5EE9C1E3839D05F6363080D6"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2F23291F311EE9576449E5628A5702AE"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "MsmKey" = "8:_36D30082439E3E9B7F5AAF6701F0C22F"
+ "OwnerKey" = "8:_88E760F600D2E195D8119F6014AB651E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2F23291F311EE9576449E5628A5702AE"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "MsmKey" = "8:_36D30082439E3E9B7F5AAF6701F0C22F"
+ "OwnerKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2F23291F311EE9576449E5628A5702AE"
- "OwnerKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
+ "MsmKey" = "8:_36D30082439E3E9B7F5AAF6701F0C22F"
+ "OwnerKey" = "8:_E521ECFD6C000298EBF2C298D2E4376B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2F23291F311EE9576449E5628A5702AE"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "MsmKey" = "8:_36D30082439E3E9B7F5AAF6701F0C22F"
+ "OwnerKey" = "8:_53C4681D5305DDF26BFC8A4775CAF16E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2F23291F311EE9576449E5628A5702AE"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_36D30082439E3E9B7F5AAF6701F0C22F"
+ "OwnerKey" = "8:_C5F581AD9F0D1DCAB6E2DE32A49DCD96"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_2FA2B573783C66016BCED4EA9D33E5B6"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_36D30082439E3E9B7F5AAF6701F0C22F"
+ "OwnerKey" = "8:_B706D77ACF741812BE0E0A94728413E8"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_359F09B8EC59D6FC1859EFF3D2274920"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_36D30082439E3E9B7F5AAF6701F0C22F"
+ "OwnerKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_382ADCBEA6FF11871606FD406333761E"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_36D30082439E3E9B7F5AAF6701F0C22F"
+ "OwnerKey" = "8:_FB49CF72492394629C7D629F6FAB4446"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_38A402C026B59AE31D2CBB0235AF3368"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_36D30082439E3E9B7F5AAF6701F0C22F"
+ "OwnerKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_38A402C026B59AE31D2CBB0235AF3368"
- "OwnerKey" = "8:_5C9E5FF7D356A4422B8968FB61BDF478"
+ "MsmKey" = "8:_36D30082439E3E9B7F5AAF6701F0C22F"
+ "OwnerKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_38A402C026B59AE31D2CBB0235AF3368"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "MsmKey" = "8:_36D30082439E3E9B7F5AAF6701F0C22F"
+ "OwnerKey" = "8:_422EDE425080BE992A7471DEF2AB1103"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_39C2ACA7C5003F7A39323635C3B4B924"
+ "MsmKey" = "8:_3737DF68C5D4F9EEA98383147C09217D"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_39DD938A5F3E194F296D11EA2F72EB3E"
- "OwnerKey" = "8:_17BFDCA42AB1DE7706418C4C953F856E"
+ "MsmKey" = "8:_386D8E25E67F7711289168ABA40EEA5D"
+ "OwnerKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_39DD938A5F3E194F296D11EA2F72EB3E"
+ "MsmKey" = "8:_386D8E25E67F7711289168ABA40EEA5D"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_3B351F730871D9CC74A40D74B6C6E61A"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_38750CCB0CB6E026D5D88F129FB1013A"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_3C71904C35BED6686835B5A1C74768BE"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_3E6534AA37C9012ED3BDF4DCB02EFDB6"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_419E2BE26037D1DF36751EB628D51EBC"
+ "OwnerKey" = "8:_E521ECFD6C000298EBF2C298D2E4376B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
+ "MsmKey" = "8:_419E2BE26037D1DF36751EB628D51EBC"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "OwnerKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
+ "OwnerKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_4446241C89A5162FB80809A05F581472"
+ "OwnerKey" = "8:_FF9B3021994C6FE507A9C7BE198B6C03"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_61ACBC61C06E40FB3AE4346599718EB4"
+ "OwnerKey" = "8:_38750CCB0CB6E026D5D88F129FB1013A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_7F2A242EE11515CC12A6793521574B9B"
+ "OwnerKey" = "8:_8F71C11DA0BAD2C98087755DC7A25AD3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
+ "OwnerKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_2F23291F311EE9576449E5628A5702AE"
+ "OwnerKey" = "8:_A9A74798DD330F41ADBD32DBB9480F5C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
+ "OwnerKey" = "8:_7A69315CD79099E601F096562C7406DF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_42250239B4791E8133657256CCE3506C"
- "OwnerKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
+ "OwnerKey" = "8:_76136B423153FD040335B97D71CF6A3E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_4446241C89A5162FB80809A05F581472"
+ "MsmKey" = "8:_422EDE425080BE992A7471DEF2AB1103"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_4446241C89A5162FB80809A05F581472"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_448950FC944968D96107991185C22806"
- "OwnerKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
+ "MsmKey" = "8:_422EDE425080BE992A7471DEF2AB1103"
+ "OwnerKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_448950FC944968D96107991185C22806"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_422EDE425080BE992A7471DEF2AB1103"
+ "OwnerKey" = "8:_E521ECFD6C000298EBF2C298D2E4376B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_448EC30219E98C0B91ABF43C7D4F223F"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_422EDE425080BE992A7471DEF2AB1103"
+ "OwnerKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_448EC30219E98C0B91ABF43C7D4F223F"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_422EDE425080BE992A7471DEF2AB1103"
+ "OwnerKey" = "8:_DB4BF3BCEC4456BC4D94E6F732E82803"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_4672E56FCA5A7523E491A1DF92B58426"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_437F8E654D5A08B1CA3EA7BCC8B911F9"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_47ECF1DA52157B12F544FB237D85F564"
- "OwnerKey" = "8:_4446241C89A5162FB80809A05F581472"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_47ECF1DA52157B12F544FB237D85F564"
+ "MsmKey" = "8:_437F8E654D5A08B1CA3EA7BCC8B911F9"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_47ECF1DA52157B12F544FB237D85F564"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "MsmKey" = "8:_4936236609673FB3A97D4EA723B1A767"
+ "OwnerKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_4A177C28F7864675BCA7A0910494A760"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "MsmKey" = "8:_4936236609673FB3A97D4EA723B1A767"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_4A177C28F7864675BCA7A0910494A760"
+ "MsmKey" = "8:_4936236609673FB3A97D4EA723B1A767"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_4A5E77F2FEA9C4080C8FD63B968FBE6C"
- "OwnerKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
+ "OwnerKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -759,86 +441,44 @@
}
"Entry"
{
- "MsmKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
- "OwnerKey" = "8:_75EE66E420D1D88C8A6F9FAC15995211"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
- "OwnerKey" = "8:_E9B6634643306242F65E192204E9C56A"
+ "MsmKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
+ "OwnerKey" = "8:_8533A0FC046C1B311644EB6565AADCF4"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
+ "MsmKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
- "OwnerKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
- "OwnerKey" = "8:_6E2E48228E9ADAD05ABEFB8E7A69DCCC"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
- "OwnerKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
- "OwnerKey" = "8:_17BFDCA42AB1DE7706418C4C953F856E"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
- "OwnerKey" = "8:_448950FC944968D96107991185C22806"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
- "OwnerKey" = "8:_D66A3A6B6E4CBDAA1D6A1FD30FFAB6F2"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_4E399A139695EBD13928A80C850A7E9D"
+ "MsmKey" = "8:_5147DA93AA30302C252F810D0809D8FB"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_4F605B43B6D1B3804C25477D671A9101"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_516016F1B93156015497DAD5F7FBE9A1"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_4FC5C727C21C7B57C1E2B8E55A9E8748"
+ "MsmKey" = "8:_516016F1B93156015497DAD5F7FBE9A1"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_4FC5C727C21C7B57C1E2B8E55A9E8748"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_516016F1B93156015497DAD5F7FBE9A1"
+ "OwnerKey" = "8:_FF9B3021994C6FE507A9C7BE198B6C03"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_51C4508525FA0604A9CD727897EBD530"
- "OwnerKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
+ "OwnerKey" = "8:_7A69315CD79099E601F096562C7406DF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -862,61 +502,55 @@
"Entry"
{
"MsmKey" = "8:_51C4508525FA0604A9CD727897EBD530"
- "OwnerKey" = "8:_13428C81458C52275C0A41D014521151"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_51C4508525FA0604A9CD727897EBD530"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "OwnerKey" = "8:_3737DF68C5D4F9EEA98383147C09217D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_51C4508525FA0604A9CD727897EBD530"
- "OwnerKey" = "8:_5C9E5FF7D356A4422B8968FB61BDF478"
+ "OwnerKey" = "8:_949EF578C14CE0D93133060EF66C018F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_51C4508525FA0604A9CD727897EBD530"
- "OwnerKey" = "8:_2423100AF29217C4332A90074E54D4D0"
+ "OwnerKey" = "8:_B0DC463AFB084472BA1EA9F43F930940"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_51C4508525FA0604A9CD727897EBD530"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_51C4508525FA0604A9CD727897EBD530"
- "OwnerKey" = "8:_FAAE7C62982AB9171B3FF838FB304946"
+ "OwnerKey" = "8:_5147DA93AA30302C252F810D0809D8FB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_51C4508525FA0604A9CD727897EBD530"
- "OwnerKey" = "8:_61ACBC61C06E40FB3AE4346599718EB4"
+ "OwnerKey" = "8:_ACA4B81C7B67E4C6FD57C20AD15BF952"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_51C4508525FA0604A9CD727897EBD530"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
+ "OwnerKey" = "8:_38750CCB0CB6E026D5D88F129FB1013A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_51C4508525FA0604A9CD727897EBD530"
- "OwnerKey" = "8:_EA4D0354739F3915FC03731153325AA5"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_51C4508525FA0604A9CD727897EBD530"
- "OwnerKey" = "8:_38A402C026B59AE31D2CBB0235AF3368"
+ "OwnerKey" = "8:_C28A9B0313A578C409D1E57773FB001E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -933,266 +567,158 @@
}
"Entry"
{
- "MsmKey" = "8:_55D25B13F818972AA7BF22C7264EBB19"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
- "OwnerKey" = "8:_E9B6634643306242F65E192204E9C56A"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
- "OwnerKey" = "8:_D949D70DDDDCF94CDCAD9B76A400C3D3"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
- "OwnerKey" = "8:_6E2E48228E9ADAD05ABEFB8E7A69DCCC"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
- "OwnerKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
+ "MsmKey" = "8:_53C4681D5305DDF26BFC8A4775CAF16E"
+ "OwnerKey" = "8:_C5F581AD9F0D1DCAB6E2DE32A49DCD96"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5747A410B7984793A0F6D9121679C6F3"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_53C4681D5305DDF26BFC8A4775CAF16E"
+ "OwnerKey" = "8:_DF9470C286C095EB5289BC0A57E7AA2C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
+ "MsmKey" = "8:_53C4681D5305DDF26BFC8A4775CAF16E"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "OwnerKey" = "8:_13428C81458C52275C0A41D014521151"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "OwnerKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "OwnerKey" = "8:_7745EEBA3C6F32DA91434BF623E143C5"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "OwnerKey" = "8:_0E196D84800B9656BC318F85626EFE05"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "OwnerKey" = "8:_2423100AF29217C4332A90074E54D4D0"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "OwnerKey" = "8:_FAAE7C62982AB9171B3FF838FB304946"
+ "MsmKey" = "8:_53C4681D5305DDF26BFC8A4775CAF16E"
+ "OwnerKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "OwnerKey" = "8:_47ECF1DA52157B12F544FB237D85F564"
+ "MsmKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
+ "OwnerKey" = "8:_269E1BD3A1EBC31895AD3845529D3A9A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "OwnerKey" = "8:_4446241C89A5162FB80809A05F581472"
+ "MsmKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
+ "OwnerKey" = "8:_DF9470C286C095EB5289BC0A57E7AA2C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "OwnerKey" = "8:_61ACBC61C06E40FB3AE4346599718EB4"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_5BB4E116AC988395D2A72901433A7CB9"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_5BB4E116AC988395D2A72901433A7CB9"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_5BB4E116AC988395D2A72901433A7CB9"
- "OwnerKey" = "8:_61ACBC61C06E40FB3AE4346599718EB4"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_5C5582DB321E2CC26F8F1FBF8B4866F0"
+ "MsmKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5C9E5FF7D356A4422B8968FB61BDF478"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "MsmKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
+ "OwnerKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5C9E5FF7D356A4422B8968FB61BDF478"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
+ "OwnerKey" = "8:_CAE724B9A481E2BAEC967AC01E7440FC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5D31D40A55F64C363A1DE193E24D604B"
- "OwnerKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
+ "MsmKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
+ "OwnerKey" = "8:_0B42804156762B4BDCC3EF894CED60AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5D31D40A55F64C363A1DE193E24D604B"
- "OwnerKey" = "8:_13428C81458C52275C0A41D014521151"
+ "MsmKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
+ "OwnerKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5D31D40A55F64C363A1DE193E24D604B"
- "OwnerKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
+ "MsmKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
+ "OwnerKey" = "8:_E521ECFD6C000298EBF2C298D2E4376B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5D31D40A55F64C363A1DE193E24D604B"
- "OwnerKey" = "8:_69CC8DD07F81DD7EA883434F53157FBC"
+ "MsmKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
+ "OwnerKey" = "8:_C5F581AD9F0D1DCAB6E2DE32A49DCD96"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5D31D40A55F64C363A1DE193E24D604B"
- "OwnerKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
+ "MsmKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
+ "OwnerKey" = "8:_53C4681D5305DDF26BFC8A4775CAF16E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5D31D40A55F64C363A1DE193E24D604B"
- "OwnerKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
+ "MsmKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
+ "OwnerKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5D31D40A55F64C363A1DE193E24D604B"
- "OwnerKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
+ "MsmKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
+ "OwnerKey" = "8:_FB49CF72492394629C7D629F6FAB4446"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5D31D40A55F64C363A1DE193E24D604B"
+ "MsmKey" = "8:_5F07DDA90732658EC4A03117CF7DD774"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5D31D40A55F64C363A1DE193E24D604B"
- "OwnerKey" = "8:_17BFDCA42AB1DE7706418C4C953F856E"
+ "MsmKey" = "8:_5F07DDA90732658EC4A03117CF7DD774"
+ "OwnerKey" = "8:_3737DF68C5D4F9EEA98383147C09217D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5D31D40A55F64C363A1DE193E24D604B"
- "OwnerKey" = "8:_99DE0EEEA77B1C8F35CBE84DD3C935C4"
+ "MsmKey" = "8:_5F07DDA90732658EC4A03117CF7DD774"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5D31D40A55F64C363A1DE193E24D604B"
- "OwnerKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
+ "MsmKey" = "8:_5F07DDA90732658EC4A03117CF7DD774"
+ "OwnerKey" = "8:_949EF578C14CE0D93133060EF66C018F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_5DAE745CD40555B469B53E8DB8A5D7DA"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_5F07DDA90732658EC4A03117CF7DD774"
+ "OwnerKey" = "8:_B0DC463AFB084472BA1EA9F43F930940"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_61ACBC61C06E40FB3AE4346599718EB4"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_5F07DDA90732658EC4A03117CF7DD774"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_62EC6F0F04E5435ABCC0479D48BEBE1B"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_5F07DDA90732658EC4A03117CF7DD774"
+ "OwnerKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_633F9949B09BE13FCEC5B9CE99D81421"
+ "MsmKey" = "8:_6362DA873243657F5F1FD41C1A4E104A"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_633F9949B09BE13FCEC5B9CE99D81421"
- "OwnerKey" = "8:_17BFDCA42AB1DE7706418C4C953F856E"
+ "MsmKey" = "8:_6362DA873243657F5F1FD41C1A4E104A"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_633F9949B09BE13FCEC5B9CE99D81421"
- "OwnerKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
+ "MsmKey" = "8:_6362DA873243657F5F1FD41C1A4E104A"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -1222,7 +748,7 @@
"Entry"
{
"MsmKey" = "8:_64AD2A918B16AA625B839A6A2D4288AB"
- "OwnerKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
+ "OwnerKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -1233,1514 +759,1424 @@
}
"Entry"
{
- "MsmKey" = "8:_67EAE4B6E14417FC2BF4F4EBF4473A1E"
+ "MsmKey" = "8:_705F2A9700A0B6F6A5308537C5F876EA"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_67EAE4B6E14417FC2BF4F4EBF4473A1E"
- "OwnerKey" = "8:_13428C81458C52275C0A41D014521151"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_67EAE4B6E14417FC2BF4F4EBF4473A1E"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_67EAE4B6E14417FC2BF4F4EBF4473A1E"
- "OwnerKey" = "8:_0E196D84800B9656BC318F85626EFE05"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_67EAE4B6E14417FC2BF4F4EBF4473A1E"
- "OwnerKey" = "8:_2423100AF29217C4332A90074E54D4D0"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_67EAE4B6E14417FC2BF4F4EBF4473A1E"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_67EAE4B6E14417FC2BF4F4EBF4473A1E"
- "OwnerKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_69CC8DD07F81DD7EA883434F53157FBC"
- "OwnerKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_69CC8DD07F81DD7EA883434F53157FBC"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_69CC8DD07F81DD7EA883434F53157FBC"
+ "MsmKey" = "8:_709D007D7E89A10E63C141E3A08311FD"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_6AE2958999F8B1E88D8475CB3E791CF2"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_6AE2958999F8B1E88D8475CB3E791CF2"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_712AAF71834640D10C755D415AF2200C"
+ "OwnerKey" = "8:_A9A74798DD330F41ADBD32DBB9480F5C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_6D9156D5DBF08959BE20FE18FA09E71A"
+ "MsmKey" = "8:_712AAF71834640D10C755D415AF2200C"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_6E2E48228E9ADAD05ABEFB8E7A69DCCC"
- "OwnerKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
+ "MsmKey" = "8:_712AAF71834640D10C755D415AF2200C"
+ "OwnerKey" = "8:_73674B32069839371DC47411D1B7EBE0"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_6E2E48228E9ADAD05ABEFB8E7A69DCCC"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_712AAF71834640D10C755D415AF2200C"
+ "OwnerKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_6E2E48228E9ADAD05ABEFB8E7A69DCCC"
- "OwnerKey" = "8:_D949D70DDDDCF94CDCAD9B76A400C3D3"
+ "MsmKey" = "8:_73674B32069839371DC47411D1B7EBE0"
+ "OwnerKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_705F2A9700A0B6F6A5308537C5F876EA"
+ "MsmKey" = "8:_73674B32069839371DC47411D1B7EBE0"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_709D007D7E89A10E63C141E3A08311FD"
+ "MsmKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_712AAF71834640D10C755D415AF2200C"
- "OwnerKey" = "8:_2F23291F311EE9576449E5628A5702AE"
+ "MsmKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
+ "OwnerKey" = "8:_DF9470C286C095EB5289BC0A57E7AA2C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_712AAF71834640D10C755D415AF2200C"
+ "MsmKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_712AAF71834640D10C755D415AF2200C"
- "OwnerKey" = "8:_73674B32069839371DC47411D1B7EBE0"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_712AAF71834640D10C755D415AF2200C"
- "OwnerKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
+ "MsmKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
+ "OwnerKey" = "8:_DF9470C286C095EB5289BC0A57E7AA2C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_73674B32069839371DC47411D1B7EBE0"
- "OwnerKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
+ "MsmKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
+ "OwnerKey" = "8:_CAE724B9A481E2BAEC967AC01E7440FC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_73674B32069839371DC47411D1B7EBE0"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
+ "OwnerKey" = "8:_0B42804156762B4BDCC3EF894CED60AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
+ "OwnerKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "MsmKey" = "8:_76136B423153FD040335B97D71CF6A3E"
+ "OwnerKey" = "8:_7A69315CD79099E601F096562C7406DF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "MsmKey" = "8:_76136B423153FD040335B97D71CF6A3E"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
- "OwnerKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
+ "MsmKey" = "8:_76136B423153FD040335B97D71CF6A3E"
+ "OwnerKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "MsmKey" = "8:_76136B423153FD040335B97D71CF6A3E"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
- "OwnerKey" = "8:_47ECF1DA52157B12F544FB237D85F564"
+ "MsmKey" = "8:_76136B423153FD040335B97D71CF6A3E"
+ "OwnerKey" = "8:_ACA4B81C7B67E4C6FD57C20AD15BF952"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
- "OwnerKey" = "8:_4446241C89A5162FB80809A05F581472"
+ "MsmKey" = "8:_76136B423153FD040335B97D71CF6A3E"
+ "OwnerKey" = "8:_FF9B3021994C6FE507A9C7BE198B6C03"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
+ "MsmKey" = "8:_76136B423153FD040335B97D71CF6A3E"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75EE66E420D1D88C8A6F9FAC15995211"
- "OwnerKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
+ "MsmKey" = "8:_76136B423153FD040335B97D71CF6A3E"
+ "OwnerKey" = "8:_38750CCB0CB6E026D5D88F129FB1013A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75EE66E420D1D88C8A6F9FAC15995211"
- "OwnerKey" = "8:_E9B6634643306242F65E192204E9C56A"
+ "MsmKey" = "8:_76136B423153FD040335B97D71CF6A3E"
+ "OwnerKey" = "8:_8F71C11DA0BAD2C98087755DC7A25AD3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75EE66E420D1D88C8A6F9FAC15995211"
- "OwnerKey" = "8:_D949D70DDDDCF94CDCAD9B76A400C3D3"
+ "MsmKey" = "8:_76136B423153FD040335B97D71CF6A3E"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75EE66E420D1D88C8A6F9FAC15995211"
- "OwnerKey" = "8:_6E2E48228E9ADAD05ABEFB8E7A69DCCC"
+ "MsmKey" = "8:_76136B423153FD040335B97D71CF6A3E"
+ "OwnerKey" = "8:_A9A74798DD330F41ADBD32DBB9480F5C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75EE66E420D1D88C8A6F9FAC15995211"
- "OwnerKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
+ "MsmKey" = "8:_76136B423153FD040335B97D71CF6A3E"
+ "OwnerKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75EE66E420D1D88C8A6F9FAC15995211"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75EE66E420D1D88C8A6F9FAC15995211"
- "OwnerKey" = "8:_D66A3A6B6E4CBDAA1D6A1FD30FFAB6F2"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
+ "OwnerKey" = "8:_3737DF68C5D4F9EEA98383147C09217D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_75EE66E420D1D88C8A6F9FAC15995211"
- "OwnerKey" = "8:_448950FC944968D96107991185C22806"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_7745EEBA3C6F32DA91434BF623E143C5"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
+ "OwnerKey" = "8:_8533A0FC046C1B311644EB6565AADCF4"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_7A0D754929705CC64EF84E26BD75D642"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
+ "OwnerKey" = "8:_949EF578C14CE0D93133060EF66C018F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_7A0D754929705CC64EF84E26BD75D642"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
+ "OwnerKey" = "8:_B0DC463AFB084472BA1EA9F43F930940"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_7A0D754929705CC64EF84E26BD75D642"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_7E765F76FDFC3DCF4EAEB59B5546B063"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
+ "OwnerKey" = "8:_5147DA93AA30302C252F810D0809D8FB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_7F2A242EE11515CC12A6793521574B9B"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
+ "OwnerKey" = "8:_ACA4B81C7B67E4C6FD57C20AD15BF952"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_7F2A242EE11515CC12A6793521574B9B"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
+ "OwnerKey" = "8:_FF9B3021994C6FE507A9C7BE198B6C03"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_847DE93907D7F6B17C0694F74120086B"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_877DF22E1E92563A6F4E77209D76B185"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
+ "OwnerKey" = "8:_38750CCB0CB6E026D5D88F129FB1013A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_896E731F0FFC039A04E0A4482B3FED1F"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
+ "OwnerKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_90C6EB30636F05FB3DFD7C943DC16EAC"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7A69315CD79099E601F096562C7406DF"
+ "OwnerKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_90D408142B1F2A9F72CBF42FC38348F0"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
+ "OwnerKey" = "8:_38750CCB0CB6E026D5D88F129FB1013A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
+ "OwnerKey" = "8:_3737DF68C5D4F9EEA98383147C09217D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
- "OwnerKey" = "8:_E9B6634643306242F65E192204E9C56A"
+ "MsmKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
- "OwnerKey" = "8:_712AAF71834640D10C755D415AF2200C"
+ "MsmKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
+ "OwnerKey" = "8:_8533A0FC046C1B311644EB6565AADCF4"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
- "OwnerKey" = "8:_90D408142B1F2A9F72CBF42FC38348F0"
+ "MsmKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
+ "OwnerKey" = "8:_949EF578C14CE0D93133060EF66C018F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
+ "OwnerKey" = "8:_B0DC463AFB084472BA1EA9F43F930940"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "MsmKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
- "OwnerKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
+ "MsmKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
+ "OwnerKey" = "8:_5147DA93AA30302C252F810D0809D8FB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
- "OwnerKey" = "8:_73674B32069839371DC47411D1B7EBE0"
+ "MsmKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
+ "OwnerKey" = "8:_ACA4B81C7B67E4C6FD57C20AD15BF952"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
- "OwnerKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
+ "MsmKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
+ "OwnerKey" = "8:_FF9B3021994C6FE507A9C7BE198B6C03"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_94B0EAFC6BCADB7C6DC2EF31467C8C24"
+ "MsmKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_95A39C4C0476DF1F27B60A43C00DEAB7"
+ "MsmKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_95A39C4C0476DF1F27B60A43C00DEAB7"
- "OwnerKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
+ "MsmKey" = "8:_7E765F76FDFC3DCF4EAEB59B5546B063"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_967E9E20CB6B9C494DFC2637B6384B13"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_7A69315CD79099E601F096562C7406DF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_967E9E20CB6B9C494DFC2637B6384B13"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_3737DF68C5D4F9EEA98383147C09217D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "OwnerKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_437F8E654D5A08B1CA3EA7BCC8B911F9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "OwnerKey" = "8:_5C9E5FF7D356A4422B8968FB61BDF478"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_8533A0FC046C1B311644EB6565AADCF4"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "OwnerKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_949EF578C14CE0D93133060EF66C018F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "OwnerKey" = "8:_7745EEBA3C6F32DA91434BF623E143C5"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_B0DC463AFB084472BA1EA9F43F930940"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "OwnerKey" = "8:_4446241C89A5162FB80809A05F581472"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_5147DA93AA30302C252F810D0809D8FB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_ACA4B81C7B67E4C6FD57C20AD15BF952"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_FF9B3021994C6FE507A9C7BE198B6C03"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "OwnerKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_516016F1B93156015497DAD5F7FBE9A1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "OwnerKey" = "8:_38A402C026B59AE31D2CBB0235AF3368"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "OwnerKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_38750CCB0CB6E026D5D88F129FB1013A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_983D79DC449AD65746DD38E6468BD886"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_1EC9EA112C92712F7DD0290C02F8F1EB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_98D5175644A3BC174BCA498A1B20FF84"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_DF9470C286C095EB5289BC0A57E7AA2C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_99DE0EEEA77B1C8F35CBE84DD3C935C4"
- "OwnerKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_99DE0EEEA77B1C8F35CBE84DD3C935C4"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_99DFCB38D3C7E1A7AC6AE6E2397D5EAE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_99DE0EEEA77B1C8F35CBE84DD3C935C4"
- "OwnerKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_A9A74798DD330F41ADBD32DBB9480F5C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_99DE0EEEA77B1C8F35CBE84DD3C935C4"
- "OwnerKey" = "8:_448950FC944968D96107991185C22806"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_99DE0EEEA77B1C8F35CBE84DD3C935C4"
- "OwnerKey" = "8:_D66A3A6B6E4CBDAA1D6A1FD30FFAB6F2"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_5F07DDA90732658EC4A03117CF7DD774"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_99DE0EEEA77B1C8F35CBE84DD3C935C4"
- "OwnerKey" = "8:_75EE66E420D1D88C8A6F9FAC15995211"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
+ "OwnerKey" = "8:_C28A9B0313A578C409D1E57773FB001E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_9CCA52D51EEDBFE9F9794A8ACD30D5D9"
+ "MsmKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_A0C8023CFDF8E1966A878020945346CF"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
+ "OwnerKey" = "8:_FB49CF72492394629C7D629F6FAB4446"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_A1336C0121F3132E09400329ACD12B30"
- "OwnerKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
+ "MsmKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
+ "OwnerKey" = "8:_DF9470C286C095EB5289BC0A57E7AA2C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_A1336C0121F3132E09400329ACD12B30"
+ "MsmKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_A1336C0121F3132E09400329ACD12B30"
- "OwnerKey" = "8:_0E196D84800B9656BC318F85626EFE05"
+ "MsmKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
+ "OwnerKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_A1336C0121F3132E09400329ACD12B30"
- "OwnerKey" = "8:_FAAE7C62982AB9171B3FF838FB304946"
+ "MsmKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
+ "OwnerKey" = "8:_0B42804156762B4BDCC3EF894CED60AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_A1336C0121F3132E09400329ACD12B30"
- "OwnerKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
+ "MsmKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
+ "OwnerKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_A2659FED3E8DE537BFD1EE3E6A429175"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
+ "OwnerKey" = "8:_E521ECFD6C000298EBF2C298D2E4376B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_A35B706F66B9C77B3D87D7B0FF53D652"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
+ "OwnerKey" = "8:_C5F581AD9F0D1DCAB6E2DE32A49DCD96"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_A7976B20CB4BFC0F5C8BE15430B6005E"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
+ "OwnerKey" = "8:_53C4681D5305DDF26BFC8A4775CAF16E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_AB0E0C1990036EFBAC9C728A9902D668"
+ "MsmKey" = "8:_847DE93907D7F6B17C0694F74120086B"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_AC22B81E0F8A0CB4C79C8B878F2D1BCF"
+ "MsmKey" = "8:_8533A0FC046C1B311644EB6565AADCF4"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_AED50036F562B75035A039EECFC7BA07"
+ "MsmKey" = "8:_88E760F600D2E195D8119F6014AB651E"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_AF79FC974C2F42D24D74E5313E475E87"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_88E760F600D2E195D8119F6014AB651E"
+ "OwnerKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B12544C6B013F48780D190EB513A3B82"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_8939008A4B57155156AE83AACC008030"
+ "OwnerKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B12544C6B013F48780D190EB513A3B82"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "MsmKey" = "8:_8939008A4B57155156AE83AACC008030"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B12544C6B013F48780D190EB513A3B82"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
+ "MsmKey" = "8:_8939008A4B57155156AE83AACC008030"
+ "OwnerKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B20313AE68F1E5D38CDE24036C32E69B"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_8939008A4B57155156AE83AACC008030"
+ "OwnerKey" = "8:_8533A0FC046C1B311644EB6565AADCF4"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B20313AE68F1E5D38CDE24036C32E69B"
- "OwnerKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
+ "MsmKey" = "8:_8939008A4B57155156AE83AACC008030"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B78AD04F5CD695E22F6F139EAC69B5A5"
- "OwnerKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
+ "MsmKey" = "8:_8939008A4B57155156AE83AACC008030"
+ "OwnerKey" = "8:_FF9B3021994C6FE507A9C7BE198B6C03"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B78AD04F5CD695E22F6F139EAC69B5A5"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_8939008A4B57155156AE83AACC008030"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B78AD04F5CD695E22F6F139EAC69B5A5"
- "OwnerKey" = "8:_6E2E48228E9ADAD05ABEFB8E7A69DCCC"
+ "MsmKey" = "8:_8939008A4B57155156AE83AACC008030"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_B8EE1FC78F28FD0B62389E8796D603FB"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_8939008A4B57155156AE83AACC008030"
+ "OwnerKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_BA22D23CB5304B5389C531581B1D5C63"
- "OwnerKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
+ "MsmKey" = "8:_8939008A4B57155156AE83AACC008030"
+ "OwnerKey" = "8:_7A69315CD79099E601F096562C7406DF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_BA22D23CB5304B5389C531581B1D5C63"
+ "MsmKey" = "8:_89CF13C29028D3D7E6E68C097A72CB90"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_BDEEC0B558BD7D7AF03CB6049BCEBDAC"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
+ "MsmKey" = "8:_8F71C11DA0BAD2C98087755DC7A25AD3"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_BDEEC0B558BD7D7AF03CB6049BCEBDAC"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_8F71C11DA0BAD2C98087755DC7A25AD3"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_BDEEC0B558BD7D7AF03CB6049BCEBDAC"
- "OwnerKey" = "8:_13428C81458C52275C0A41D014521151"
+ "MsmKey" = "8:_90D408142B1F2A9F72CBF42FC38348F0"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_BDEEC0B558BD7D7AF03CB6049BCEBDAC"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
+ "OwnerKey" = "8:_712AAF71834640D10C755D415AF2200C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_BDEEC0B558BD7D7AF03CB6049BCEBDAC"
- "OwnerKey" = "8:_0E196D84800B9656BC318F85626EFE05"
+ "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
+ "OwnerKey" = "8:_90D408142B1F2A9F72CBF42FC38348F0"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_BF01A029E83A968C697506DFA469C90B"
+ "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_BF01A029E83A968C697506DFA469C90B"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_BF01A029E83A968C697506DFA469C90B"
- "OwnerKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
+ "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
+ "OwnerKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_C179B63E2F5A58786B70FADA6C8496A5"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
+ "OwnerKey" = "8:_73674B32069839371DC47411D1B7EBE0"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_92EADCA3313D55CFE2BB3BBA193941F3"
+ "OwnerKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_C658BF7DEB725E94A2BAF4FD48BAD3FA"
+ "MsmKey" = "8:_949EF578C14CE0D93133060EF66C018F"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_C658BF7DEB725E94A2BAF4FD48BAD3FA"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "MsmKey" = "8:_95EBE8B225CEEAD24E06F44863ABAECB"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_C6BFB4DAD78C1798616508141EF1234E"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_95EBE8B225CEEAD24E06F44863ABAECB"
+ "OwnerKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_CC07BBC3C44CE424AA0EF90844590E4E"
+ "MsmKey" = "8:_98D5175644A3BC174BCA498A1B20FF84"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_CC7BD04781686DE3403908303698199D"
+ "MsmKey" = "8:_99DFCB38D3C7E1A7AC6AE6E2397D5EAE"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_CCD49B330E05F963B5AE73E3D04F5762"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_99DFCB38D3C7E1A7AC6AE6E2397D5EAE"
+ "OwnerKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D09F278664B0560653FAC1AD0BCAE93F"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_99DFCB38D3C7E1A7AC6AE6E2397D5EAE"
+ "OwnerKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D0CFB25F1239503E9FE3881A033B3110"
- "OwnerKey" = "8:_00AB5F4CB0B9DCC466359F8589533B68"
+ "MsmKey" = "8:_9A234F7FB4239AC3DB0DBE9415BDE695"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D0CFB25F1239503E9FE3881A033B3110"
+ "MsmKey" = "8:_9A234F7FB4239AC3DB0DBE9415BDE695"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D1CB239DDD65E78A28094BC854772AFF"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_9A234F7FB4239AC3DB0DBE9415BDE695"
+ "OwnerKey" = "8:_3737DF68C5D4F9EEA98383147C09217D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D3EF38D40E0CBE1BD391303952B0493E"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_9A234F7FB4239AC3DB0DBE9415BDE695"
+ "OwnerKey" = "8:_949EF578C14CE0D93133060EF66C018F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D48D475C8BD232C2AC87A2A7C6CCA53D"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_9A234F7FB4239AC3DB0DBE9415BDE695"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
- "OwnerKey" = "8:_7745EEBA3C6F32DA91434BF623E143C5"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_3737DF68C5D4F9EEA98383147C09217D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D66A3A6B6E4CBDAA1D6A1FD30FFAB6F2"
- "OwnerKey" = "8:_448950FC944968D96107991185C22806"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D66A3A6B6E4CBDAA1D6A1FD30FFAB6F2"
- "OwnerKey" = "8:_E9B6634643306242F65E192204E9C56A"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D66A3A6B6E4CBDAA1D6A1FD30FFAB6F2"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_B0DC463AFB084472BA1EA9F43F930940"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D66A3A6B6E4CBDAA1D6A1FD30FFAB6F2"
- "OwnerKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D6A37AFBBBDA445164B68F2E7D5B3E80"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_ACA4B81C7B67E4C6FD57C20AD15BF952"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D6A37AFBBBDA445164B68F2E7D5B3E80"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D8A84B2F626300DA2E9147709713E9CB"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_38750CCB0CB6E026D5D88F129FB1013A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D947550594E2BF53BED76C7D7F9747D7"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_DF9470C286C095EB5289BC0A57E7AA2C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D949D70DDDDCF94CDCAD9B76A400C3D3"
- "OwnerKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_D949D70DDDDCF94CDCAD9B76A400C3D3"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_A9A74798DD330F41ADBD32DBB9480F5C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_13428C81458C52275C0A41D014521151"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_7A69315CD79099E601F096562C7406DF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "MsmKey" = "8:_9A98137A42052685F51607892D00B8A0"
+ "OwnerKey" = "8:_8939008A4B57155156AE83AACC008030"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_5C9E5FF7D356A4422B8968FB61BDF478"
+ "MsmKey" = "8:_9C822EC8B208111C8872DC2C929B4F49"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "MsmKey" = "8:_A1336C0121F3132E09400329ACD12B30"
+ "OwnerKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
+ "MsmKey" = "8:_A1336C0121F3132E09400329ACD12B30"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "MsmKey" = "8:_A1336C0121F3132E09400329ACD12B30"
+ "OwnerKey" = "8:_949EF578C14CE0D93133060EF66C018F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_47ECF1DA52157B12F544FB237D85F564"
+ "MsmKey" = "8:_A1336C0121F3132E09400329ACD12B30"
+ "OwnerKey" = "8:_5147DA93AA30302C252F810D0809D8FB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
+ "MsmKey" = "8:_A1336C0121F3132E09400329ACD12B30"
+ "OwnerKey" = "8:_7A69315CD79099E601F096562C7406DF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_61ACBC61C06E40FB3AE4346599718EB4"
+ "MsmKey" = "8:_A17D8A4EDE1F489FABA27DB45F1A3F56"
+ "OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_E9B6634643306242F65E192204E9C56A"
+ "MsmKey" = "8:_A9A74798DD330F41ADBD32DBB9480F5C"
+ "OwnerKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_A9A74798DD330F41ADBD32DBB9480F5C"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_2F23291F311EE9576449E5628A5702AE"
+ "MsmKey" = "8:_A9A74798DD330F41ADBD32DBB9480F5C"
+ "OwnerKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
+ "MsmKey" = "8:_A9A74798DD330F41ADBD32DBB9480F5C"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
+ "MsmKey" = "8:_A9A74798DD330F41ADBD32DBB9480F5C"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "OwnerKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
+ "MsmKey" = "8:_AC9A178FF920FC61BC39E1F955343BF2"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DB4A94107FB1929721E56ED40844F276"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_AC9A178FF920FC61BC39E1F955343BF2"
+ "OwnerKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DC627D829804D2AC4A3984133840F2D5"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_ACA4B81C7B67E4C6FD57C20AD15BF952"
+ "OwnerKey" = "8:_FF9B3021994C6FE507A9C7BE198B6C03"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DCD0D71251FAABFB20D57E60AC3DEFA3"
+ "MsmKey" = "8:_ACA4B81C7B67E4C6FD57C20AD15BF952"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DD10CB022785FD0CE997E8C7BC1D0FE6"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_ACA4B81C7B67E4C6FD57C20AD15BF952"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DD77D7B58FFDC37F83D85D632BEC9DC4"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_B0A07289218E6EFD42CF3518073813D6"
+ "OwnerKey" = "8:_1CB515C82F6904C632717D23A858B116"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DE3FACD5F197D2E261A0C6B32E0D1CAC"
+ "MsmKey" = "8:_B0DC463AFB084472BA1EA9F43F930940"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- "OwnerKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
+ "MsmKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "MsmKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
+ "OwnerKey" = "8:_3737DF68C5D4F9EEA98383147C09217D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "MsmKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- "OwnerKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
+ "MsmKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
+ "OwnerKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "MsmKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
+ "OwnerKey" = "8:_8533A0FC046C1B311644EB6565AADCF4"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- "OwnerKey" = "8:_47ECF1DA52157B12F544FB237D85F564"
+ "MsmKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
+ "OwnerKey" = "8:_949EF578C14CE0D93133060EF66C018F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- "OwnerKey" = "8:_4446241C89A5162FB80809A05F581472"
+ "MsmKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
+ "OwnerKey" = "8:_B0DC463AFB084472BA1EA9F43F930940"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
+ "MsmKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- "OwnerKey" = "8:_61ACBC61C06E40FB3AE4346599718EB4"
+ "MsmKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
+ "OwnerKey" = "8:_5147DA93AA30302C252F810D0809D8FB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- "OwnerKey" = "8:_7F2A242EE11515CC12A6793521574B9B"
+ "MsmKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
+ "OwnerKey" = "8:_ACA4B81C7B67E4C6FD57C20AD15BF952"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
+ "OwnerKey" = "8:_FF9B3021994C6FE507A9C7BE198B6C03"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- "OwnerKey" = "8:_2F23291F311EE9576449E5628A5702AE"
+ "MsmKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- "OwnerKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
+ "MsmKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
+ "OwnerKey" = "8:_38750CCB0CB6E026D5D88F129FB1013A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E0573A6D7543083D0A5654271DF50643"
+ "MsmKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E0FCEE9366306B5A88DC7CF29E913A4B"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
- "OwnerKey" = "8:_262CDE6547BE15C0065FC563C76194D2"
+ "MsmKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
- "OwnerKey" = "8:_E9B6634643306242F65E192204E9C56A"
+ "MsmKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
+ "OwnerKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
- "OwnerKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
+ "MsmKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
+ "OwnerKey" = "8:_ACA4B81C7B67E4C6FD57C20AD15BF952"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
- "OwnerKey" = "8:_D949D70DDDDCF94CDCAD9B76A400C3D3"
+ "MsmKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
+ "OwnerKey" = "8:_FF9B3021994C6FE507A9C7BE198B6C03"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
- "OwnerKey" = "8:_6E2E48228E9ADAD05ABEFB8E7A69DCCC"
+ "MsmKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
- "OwnerKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
+ "MsmKey" = "8:_B706D77ACF741812BE0E0A94728413E8"
+ "OwnerKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
- "OwnerKey" = "8:_17BFDCA42AB1DE7706418C4C953F856E"
+ "MsmKey" = "8:_B706D77ACF741812BE0E0A94728413E8"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
- "OwnerKey" = "8:_448950FC944968D96107991185C22806"
+ "MsmKey" = "8:_B706D77ACF741812BE0E0A94728413E8"
+ "OwnerKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
- "OwnerKey" = "8:_D66A3A6B6E4CBDAA1D6A1FD30FFAB6F2"
+ "MsmKey" = "8:_B706D77ACF741812BE0E0A94728413E8"
+ "OwnerKey" = "8:_C5F581AD9F0D1DCAB6E2DE32A49DCD96"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
- "OwnerKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
+ "MsmKey" = "8:_B706D77ACF741812BE0E0A94728413E8"
+ "OwnerKey" = "8:_53C4681D5305DDF26BFC8A4775CAF16E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
- "OwnerKey" = "8:_75EE66E420D1D88C8A6F9FAC15995211"
+ "MsmKey" = "8:_B706D77ACF741812BE0E0A94728413E8"
+ "OwnerKey" = "8:_FB49CF72492394629C7D629F6FAB4446"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_E9B6634643306242F65E192204E9C56A"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_BA75D5EAA8F428D075548128CE91FDD3"
+ "OwnerKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_EA4D0354739F3915FC03731153325AA5"
+ "MsmKey" = "8:_BA75D5EAA8F428D075548128CE91FDD3"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_EA4D0354739F3915FC03731153325AA5"
- "OwnerKey" = "8:_5C9E5FF7D356A4422B8968FB61BDF478"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_EA4D0354739F3915FC03731153325AA5"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "MsmKey" = "8:_BA75D5EAA8F428D075548128CE91FDD3"
+ "OwnerKey" = "8:_0B42804156762B4BDCC3EF894CED60AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_EB16994750C856659A7BE41BD02F8ABE"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
+ "MsmKey" = "8:_BD559C5264D2EB8DB2F96C7F161ECCFE"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_EB16994750C856659A7BE41BD02F8ABE"
+ "MsmKey" = "8:_BD559C5264D2EB8DB2F96C7F161ECCFE"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_EB16994750C856659A7BE41BD02F8ABE"
- "OwnerKey" = "8:_4446241C89A5162FB80809A05F581472"
+ "MsmKey" = "8:_C28A9B0313A578C409D1E57773FB001E"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_EB38C1BD04FDFE44579B9868D6D1E139"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
+ "MsmKey" = "8:_C5F581AD9F0D1DCAB6E2DE32A49DCD96"
+ "OwnerKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_EB38C1BD04FDFE44579B9868D6D1E139"
+ "MsmKey" = "8:_C5F581AD9F0D1DCAB6E2DE32A49DCD96"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_EB38C1BD04FDFE44579B9868D6D1E139"
- "OwnerKey" = "8:_FAAE7C62982AB9171B3FF838FB304946"
+ "MsmKey" = "8:_C78640287566584857304B60C7E09D2E"
+ "OwnerKey" = "8:_E0B7DFF98B1B17C9E2E2BD3B6DBBFF8A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_EB90C5C498BD80F4675C07A364C45E3D"
+ "MsmKey" = "8:_C78640287566584857304B60C7E09D2E"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_EBFEF6DABA658232EC82197A8E01F66E"
+ "MsmKey" = "8:_C79F4B145CE2D951C3E342053EC26159"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_ED524252AD28281FAE5468349D0E5797"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_ED524252AD28281FAE5468349D0E5797"
- "OwnerKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
+ "MsmKey" = "8:_CAE724B9A481E2BAEC967AC01E7440FC"
+ "OwnerKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_EF2623DE67EDC70B584821A055B86302"
+ "MsmKey" = "8:_CAE724B9A481E2BAEC967AC01E7440FC"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_EF2898B0C9AAB2E33674325B9F86943B"
+ "MsmKey" = "8:_D09F278664B0560653FAC1AD0BCAE93F"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_F1DFFB8E50BAD2529B0C859268ED8956"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_D7FBEFA3359B5E4558E45316AF3159B0"
+ "OwnerKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_F1DFFB8E50BAD2529B0C859268ED8956"
- "OwnerKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
+ "MsmKey" = "8:_D7FBEFA3359B5E4558E45316AF3159B0"
+ "OwnerKey" = "8:_3737DF68C5D4F9EEA98383147C09217D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_F1DFFB8E50BAD2529B0C859268ED8956"
- "OwnerKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
+ "MsmKey" = "8:_D7FBEFA3359B5E4558E45316AF3159B0"
+ "OwnerKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_F3898C4F454B4D1481E055F2AB2B217B"
- "OwnerKey" = "8:_UNDEFINED"
+ "MsmKey" = "8:_D7FBEFA3359B5E4558E45316AF3159B0"
+ "OwnerKey" = "8:_4936236609673FB3A97D4EA723B1A767"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_F3D3908BF1850F33CACA8DC41CB6869E"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_D7FBEFA3359B5E4558E45316AF3159B0"
+ "OwnerKey" = "8:_8939008A4B57155156AE83AACC008030"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_F46F8B020857673C983D66FE2F41B983"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_D7FBEFA3359B5E4558E45316AF3159B0"
+ "OwnerKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_F78136CC822CCB014A68583A48E41B1C"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_D7FBEFA3359B5E4558E45316AF3159B0"
+ "OwnerKey" = "8:_7A69315CD79099E601F096562C7406DF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_D7FBEFA3359B5E4558E45316AF3159B0"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
- "OwnerKey" = "8:_17BFDCA42AB1DE7706418C4C953F856E"
+ "MsmKey" = "8:_D7FBEFA3359B5E4558E45316AF3159B0"
+ "OwnerKey" = "8:_E521ECFD6C000298EBF2C298D2E4376B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
- "OwnerKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
+ "MsmKey" = "8:_D7FBEFA3359B5E4558E45316AF3159B0"
+ "OwnerKey" = "8:_B706D77ACF741812BE0E0A94728413E8"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
- "OwnerKey" = "8:_633F9949B09BE13FCEC5B9CE99D81421"
+ "MsmKey" = "8:_D7FBEFA3359B5E4558E45316AF3159B0"
+ "OwnerKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FA58218115CCED35D22896A731510356"
+ "MsmKey" = "8:_DB4BF3BCEC4456BC4D94E6F732E82803"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FA58218115CCED35D22896A731510356"
- "OwnerKey" = "8:_2F23291F311EE9576449E5628A5702AE"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_FA58218115CCED35D22896A731510356"
- "OwnerKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_FA58218115CCED35D22896A731510356"
- "OwnerKey" = "8:_17BFDCA42AB1DE7706418C4C953F856E"
+ "MsmKey" = "8:_DB4BF3BCEC4456BC4D94E6F732E82803"
+ "OwnerKey" = "8:_E521ECFD6C000298EBF2C298D2E4376B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FA58218115CCED35D22896A731510356"
- "OwnerKey" = "8:_D66A3A6B6E4CBDAA1D6A1FD30FFAB6F2"
+ "MsmKey" = "8:_DB4BF3BCEC4456BC4D94E6F732E82803"
+ "OwnerKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FA58218115CCED35D22896A731510356"
- "OwnerKey" = "8:_448950FC944968D96107991185C22806"
+ "MsmKey" = "8:_DF9470C286C095EB5289BC0A57E7AA2C"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FA58218115CCED35D22896A731510356"
- "OwnerKey" = "8:_99DE0EEEA77B1C8F35CBE84DD3C935C4"
+ "MsmKey" = "8:_E0B7DFF98B1B17C9E2E2BD3B6DBBFF8A"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FA58218115CCED35D22896A731510356"
- "OwnerKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
+ "MsmKey" = "8:_E0B7DFF98B1B17C9E2E2BD3B6DBBFF8A"
+ "OwnerKey" = "8:_C79F4B145CE2D951C3E342053EC26159"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FA58218115CCED35D22896A731510356"
- "OwnerKey" = "8:_75EE66E420D1D88C8A6F9FAC15995211"
+ "MsmKey" = "8:_E521ECFD6C000298EBF2C298D2E4376B"
+ "OwnerKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FA58218115CCED35D22896A731510356"
- "OwnerKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
+ "MsmKey" = "8:_E521ECFD6C000298EBF2C298D2E4376B"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FA58218115CCED35D22896A731510356"
- "OwnerKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
+ "MsmKey" = "8:_EB38C1BD04FDFE44579B9868D6D1E139"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FA58218115CCED35D22896A731510356"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "MsmKey" = "8:_EB38C1BD04FDFE44579B9868D6D1E139"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FA58218115CCED35D22896A731510356"
- "OwnerKey" = "8:_B20313AE68F1E5D38CDE24036C32E69B"
+ "MsmKey" = "8:_EB38C1BD04FDFE44579B9868D6D1E139"
+ "OwnerKey" = "8:_5147DA93AA30302C252F810D0809D8FB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FA997D5286D6E9EC1A80EB888D9FDA72"
+ "MsmKey" = "8:_ECDF8B3BECC1C92F35C36C2743D8E99E"
"OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FAAE7C62982AB9171B3FF838FB304946"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_ECDF8B3BECC1C92F35C36C2743D8E99E"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
+ "MsmKey" = "8:_ECDF8B3BECC1C92F35C36C2743D8E99E"
+ "OwnerKey" = "8:_7A69315CD79099E601F096562C7406DF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_13428C81458C52275C0A41D014521151"
+ "MsmKey" = "8:_EF2898B0C9AAB2E33674325B9F86943B"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "MsmKey" = "8:_FB49CF72492394629C7D629F6FAB4446"
+ "OwnerKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "MsmKey" = "8:_FB49CF72492394629C7D629F6FAB4446"
+ "OwnerKey" = "8:_DF9470C286C095EB5289BC0A57E7AA2C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_7745EEBA3C6F32DA91434BF623E143C5"
+ "MsmKey" = "8:_FB49CF72492394629C7D629F6FAB4446"
+ "OwnerKey" = "8:_CAE724B9A481E2BAEC967AC01E7440FC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_0E196D84800B9656BC318F85626EFE05"
+ "MsmKey" = "8:_FB49CF72492394629C7D629F6FAB4446"
+ "OwnerKey" = "8:_0B42804156762B4BDCC3EF894CED60AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_2423100AF29217C4332A90074E54D4D0"
+ "MsmKey" = "8:_FB49CF72492394629C7D629F6FAB4446"
+ "OwnerKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "MsmKey" = "8:_FB49CF72492394629C7D629F6FAB4446"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_FAAE7C62982AB9171B3FF838FB304946"
+ "MsmKey" = "8:_FB49CF72492394629C7D629F6FAB4446"
+ "OwnerKey" = "8:_53C4681D5305DDF26BFC8A4775CAF16E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_47ECF1DA52157B12F544FB237D85F564"
+ "MsmKey" = "8:_FB49CF72492394629C7D629F6FAB4446"
+ "OwnerKey" = "8:_C5F581AD9F0D1DCAB6E2DE32A49DCD96"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_4446241C89A5162FB80809A05F581472"
+ "MsmKey" = "8:_FF26B2424D1F2EB451FE2EDE8CD8D7CD"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
+ "MsmKey" = "8:_FF26B2424D1F2EB451FE2EDE8CD8D7CD"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_61ACBC61C06E40FB3AE4346599718EB4"
+ "MsmKey" = "8:_FF26B2424D1F2EB451FE2EDE8CD8D7CD"
+ "OwnerKey" = "8:_38750CCB0CB6E026D5D88F129FB1013A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
+ "MsmKey" = "8:_FF9B3021994C6FE507A9C7BE198B6C03"
+ "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
- "MsmKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
- "OwnerKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
+ "MsmKey" = "8:_FF9B3021994C6FE507A9C7BE198B6C03"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -2806,55 +2242,43 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_13428C81458C52275C0A41D014521151"
+ "OwnerKey" = "8:_3737DF68C5D4F9EEA98383147C09217D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_382ADCBEA6FF11871606FD406333761E"
+ "OwnerKey" = "8:_89CF13C29028D3D7E6E68C097A72CB90"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "OwnerKey" = "8:_401029CD43B9D1C7D6B8A91580C72246"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_6AE2958999F8B1E88D8475CB3E791CF2"
+ "OwnerKey" = "8:_BD559C5264D2EB8DB2F96C7F161ECCFE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_4A177C28F7864675BCA7A0910494A760"
+ "OwnerKey" = "8:_437F8E654D5A08B1CA3EA7BCC8B911F9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "OwnerKey" = "8:_8533A0FC046C1B311644EB6565AADCF4"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_5C9E5FF7D356A4422B8968FB61BDF478"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_7745EEBA3C6F32DA91434BF623E143C5"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_D528F21311ECF12D91A0EFF0F8DCA468"
+ "OwnerKey" = "8:_509008BF7DDF652EFD30748DF7B623AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -2872,61 +2296,61 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_0E196D84800B9656BC318F85626EFE05"
+ "OwnerKey" = "8:_949EF578C14CE0D93133060EF66C018F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_2423100AF29217C4332A90074E54D4D0"
+ "OwnerKey" = "8:_B0DC463AFB084472BA1EA9F43F930940"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "OwnerKey" = "8:_7E089FB0FAFDC91358668C33586665F3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_FAAE7C62982AB9171B3FF838FB304946"
+ "OwnerKey" = "8:_5147DA93AA30302C252F810D0809D8FB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_4446241C89A5162FB80809A05F581472"
+ "OwnerKey" = "8:_FF9B3021994C6FE507A9C7BE198B6C03"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_47ECF1DA52157B12F544FB237D85F564"
+ "OwnerKey" = "8:_ACA4B81C7B67E4C6FD57C20AD15BF952"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_61ACBC61C06E40FB3AE4346599718EB4"
+ "OwnerKey" = "8:_38750CCB0CB6E026D5D88F129FB1013A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_059A6746A8576493957C8E5AF3CEB9D9"
+ "OwnerKey" = "8:_7A925C02110B1D4B95987D2EEEFE6FDE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_BDEEC0B558BD7D7AF03CB6049BCEBDAC"
+ "OwnerKey" = "8:_9A234F7FB4239AC3DB0DBE9415BDE695"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_7A0D754929705CC64EF84E26BD75D642"
+ "OwnerKey" = "8:_21E475E8F9DBB207476AD595250634BF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -2938,67 +2362,61 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_EB16994750C856659A7BE41BD02F8ABE"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_7F2A242EE11515CC12A6793521574B9B"
+ "OwnerKey" = "8:_516016F1B93156015497DAD5F7FBE9A1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_D6A37AFBBBDA445164B68F2E7D5B3E80"
+ "OwnerKey" = "8:_8F71C11DA0BAD2C98087755DC7A25AD3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_EA4D0354739F3915FC03731153325AA5"
+ "OwnerKey" = "8:_1EC9EA112C92712F7DD0290C02F8F1EB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_C658BF7DEB725E94A2BAF4FD48BAD3FA"
+ "OwnerKey" = "8:_30FDB43A5EE9C1E3839D05F6363080D6"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_B12544C6B013F48780D190EB513A3B82"
+ "OwnerKey" = "8:_6362DA873243657F5F1FD41C1A4E104A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_5BB4E116AC988395D2A72901433A7CB9"
+ "OwnerKey" = "8:_FF26B2424D1F2EB451FE2EDE8CD8D7CD"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_E9B6634643306242F65E192204E9C56A"
+ "OwnerKey" = "8:_DF9470C286C095EB5289BC0A57E7AA2C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_5A8B326A4A0607AFC366F8FD9657A87A"
+ "OwnerKey" = "8:_B0F63EB1426CCC22506AFCB6C5809138"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_F1DFFB8E50BAD2529B0C859268ED8956"
+ "OwnerKey" = "8:_99DFCB38D3C7E1A7AC6AE6E2397D5EAE"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_75D29198D3E03B5554EF1C7382CF5B14"
+ "OwnerKey" = "8:_B363FB7BD2F44E6C8573500668C2C9D1"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -3010,7 +2428,7 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_2F23291F311EE9576449E5628A5702AE"
+ "OwnerKey" = "8:_A9A74798DD330F41ADBD32DBB9480F5C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -3034,55 +2452,55 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_69CC8DD07F81DD7EA883434F53157FBC"
+ "OwnerKey" = "8:_4936236609673FB3A97D4EA723B1A767"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_67EAE4B6E14417FC2BF4F4EBF4473A1E"
+ "OwnerKey" = "8:_5F07DDA90732658EC4A03117CF7DD774"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_38A402C026B59AE31D2CBB0235AF3368"
+ "OwnerKey" = "8:_C28A9B0313A578C409D1E57773FB001E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_94B0EAFC6BCADB7C6DC2EF31467C8C24"
+ "OwnerKey" = "8:_C79F4B145CE2D951C3E342053EC26159"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_FC7C3735446215F02CF0C477948EAAFC"
+ "OwnerKey" = "8:_7A69315CD79099E601F096562C7406DF"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_201B65B789181625CAF1E7D925466231"
+ "OwnerKey" = "8:_51C4508525FA0604A9CD727897EBD530"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_51C4508525FA0604A9CD727897EBD530"
+ "OwnerKey" = "8:_76136B423153FD040335B97D71CF6A3E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_DF6FFF88157E7FBCFB7E188431AAF4CF"
+ "OwnerKey" = "8:_7EBA1AC1C70BAC60E9165BB0A3640C98"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_0D2EC478B8B5A060121B647E6BA3DE05"
+ "OwnerKey" = "8:_201B65B789181625CAF1E7D925466231"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
@@ -3100,601 +2518,193 @@
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_9758638AABE50C72FFA87E6544F6D70F"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_DB4941BAFA45E5921E7072990000621E"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_00AB5F4CB0B9DCC466359F8589533B68"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_D0CFB25F1239503E9FE3881A033B3110"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_922DFCAF3DE2758155669B16C5E04B95"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_D949D70DDDDCF94CDCAD9B76A400C3D3"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_6E2E48228E9ADAD05ABEFB8E7A69DCCC"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_B78AD04F5CD695E22F6F139EAC69B5A5"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_95A39C4C0476DF1F27B60A43C00DEAB7"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_56D463E782DDBEB9880013C0D31F3C99"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_17BFDCA42AB1DE7706418C4C953F856E"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_39DD938A5F3E194F296D11EA2F72EB3E"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_448950FC944968D96107991185C22806"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_D66A3A6B6E4CBDAA1D6A1FD30FFAB6F2"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_BA22D23CB5304B5389C531581B1D5C63"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_75EE66E420D1D88C8A6F9FAC15995211"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_4DE31F37261519B6E72F89F737E10A45"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_99DE0EEEA77B1C8F35CBE84DD3C935C4"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_262CDE6547BE15C0065FC563C76194D2"
+ "OwnerKey" = "8:_8939008A4B57155156AE83AACC008030"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_E97069A1CAEDE89621181DEE3B97B547"
+ "OwnerKey" = "8:_9A98137A42052685F51607892D00B8A0"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_5D31D40A55F64C363A1DE193E24D604B"
+ "OwnerKey" = "8:_E0B7DFF98B1B17C9E2E2BD3B6DBBFF8A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_2EB48F8299C56A3911017460C55FDA43"
+ "OwnerKey" = "8:_C78640287566584857304B60C7E09D2E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_633F9949B09BE13FCEC5B9CE99D81421"
+ "OwnerKey" = "8:_74A44143E117110ECBFD7D981E9D6D99"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_877DF22E1E92563A6F4E77209D76B185"
+ "OwnerKey" = "8:_CAE724B9A481E2BAEC967AC01E7440FC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_1AC47588060EAA9F2B7A13EC07359D10"
+ "OwnerKey" = "8:_0B42804156762B4BDCC3EF894CED60AC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_C6BFB4DAD78C1798616508141EF1234E"
+ "OwnerKey" = "8:_BA75D5EAA8F428D075548128CE91FDD3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_032C05575B795D1CAEDD5105F1520FBB"
+ "OwnerKey" = "8:_AC9A178FF920FC61BC39E1F955343BF2"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_3B351F730871D9CC74A40D74B6C6E61A"
+ "OwnerKey" = "8:_75673BFBCF71A9463483B9C1DE022EAB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_2FA2B573783C66016BCED4EA9D33E5B6"
+ "OwnerKey" = "8:_E521ECFD6C000298EBF2C298D2E4376B"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_1910D5B276479C48B4F7762A638405F5"
+ "OwnerKey" = "8:_419E2BE26037D1DF36751EB628D51EBC"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_1BDA3B7B2EF85A48708A41568E05F63F"
+ "OwnerKey" = "8:_C5F581AD9F0D1DCAB6E2DE32A49DCD96"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_DB4A94107FB1929721E56ED40844F276"
+ "OwnerKey" = "8:_53C4681D5305DDF26BFC8A4775CAF16E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_4672E56FCA5A7523E491A1DF92B58426"
+ "OwnerKey" = "8:_386D8E25E67F7711289168ABA40EEA5D"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_2444D22B50272EAE03F2B5D2457335EC"
+ "OwnerKey" = "8:_FB49CF72492394629C7D629F6FAB4446"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_4F605B43B6D1B3804C25477D671A9101"
+ "OwnerKey" = "8:_80A5A4D5BE60BC865B4C5F64B5A09D47"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_3E6534AA37C9012ED3BDF4DCB02EFDB6"
+ "OwnerKey" = "8:_B706D77ACF741812BE0E0A94728413E8"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_3C71904C35BED6686835B5A1C74768BE"
+ "OwnerKey" = "8:_269E1BD3A1EBC31895AD3845529D3A9A"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_AF79FC974C2F42D24D74E5313E475E87"
+ "OwnerKey" = "8:_5731AEC46C736AD3549A441125EE75F9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_E0FCEE9366306B5A88DC7CF29E913A4B"
+ "OwnerKey" = "8:_D7FBEFA3359B5E4558E45316AF3159B0"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_F78136CC822CCB014A68583A48E41B1C"
+ "OwnerKey" = "8:_2A67839C006307363A784C0284DC07B0"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_F93FF260A2F031FD129C02F9FB2A6E9D"
+ "OwnerKey" = "8:_DB4BF3BCEC4456BC4D94E6F732E82803"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_ED524252AD28281FAE5468349D0E5797"
+ "OwnerKey" = "8:_422EDE425080BE992A7471DEF2AB1103"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_BF01A029E83A968C697506DFA469C90B"
+ "OwnerKey" = "8:_95EBE8B225CEEAD24E06F44863ABAECB"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_55D25B13F818972AA7BF22C7264EBB19"
+ "OwnerKey" = "8:_ECDF8B3BECC1C92F35C36C2743D8E99E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_B20313AE68F1E5D38CDE24036C32E69B"
+ "OwnerKey" = "8:_9C822EC8B208111C8872DC2C929B4F49"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_FA58218115CCED35D22896A731510356"
+ "OwnerKey" = "8:_88E760F600D2E195D8119F6014AB651E"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_D947550594E2BF53BED76C7D7F9747D7"
+ "OwnerKey" = "8:_36D30082439E3E9B7F5AAF6701F0C22F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_B8EE1FC78F28FD0B62389E8796D603FB"
+ "OwnerKey" = "8:_2797CFFB7DAA734F75BFE8FB845163D3"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_D3EF38D40E0CBE1BD391303952B0493E"
+ "OwnerKey" = "8:_1CB515C82F6904C632717D23A858B116"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_136196DD2763419D959721C2BA143498"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_4E399A139695EBD13928A80C850A7E9D"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_359F09B8EC59D6FC1859EFF3D2274920"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_EBFEF6DABA658232EC82197A8E01F66E"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_DD10CB022785FD0CE997E8C7BC1D0FE6"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_9CCA52D51EEDBFE9F9794A8ACD30D5D9"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_A7976B20CB4BFC0F5C8BE15430B6005E"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_A2659FED3E8DE537BFD1EE3E6A429175"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_983D79DC449AD65746DD38E6468BD886"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_26BF1219019A4367BA3497A5899C05B1"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_DC627D829804D2AC4A3984133840F2D5"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_90C6EB30636F05FB3DFD7C943DC16EAC"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_D8A84B2F626300DA2E9147709713E9CB"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_D48D475C8BD232C2AC87A2A7C6CCA53D"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_14CF2DBBA5462C65F94A9137DCE014F9"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_DE3FACD5F197D2E261A0C6B32E0D1CAC"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_448EC30219E98C0B91ABF43C7D4F223F"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_DD77D7B58FFDC37F83D85D632BEC9DC4"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_A35B706F66B9C77B3D87D7B0FF53D652"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_AED50036F562B75035A039EECFC7BA07"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_5DAE745CD40555B469B53E8DB8A5D7DA"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_6D9156D5DBF08959BE20FE18FA09E71A"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_D1CB239DDD65E78A28094BC854772AFF"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_CC07BBC3C44CE424AA0EF90844590E4E"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_2589A08E4AC51C4B69842E948EFC87DB"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_967E9E20CB6B9C494DFC2637B6384B13"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_62EC6F0F04E5435ABCC0479D48BEBE1B"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_39C2ACA7C5003F7A39323635C3B4B924"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_0B4B393563808E508848ED965CF47AEE"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_08C7D6D7EF105161BD48E61BBEBBF002"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_A0C8023CFDF8E1966A878020945346CF"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_896E731F0FFC039A04E0A4482B3FED1F"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_EF2623DE67EDC70B584821A055B86302"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_CCD49B330E05F963B5AE73E3D04F5762"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_244F067B77DB6F9852E2286427480A18"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_AC22B81E0F8A0CB4C79C8B878F2D1BCF"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_CC7BD04781686DE3403908303698199D"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_F46F8B020857673C983D66FE2F41B983"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_4FC5C727C21C7B57C1E2B8E55A9E8748"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_5C5582DB321E2CC26F8F1FBF8B4866F0"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_DCD0D71251FAABFB20D57E60AC3DEFA3"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_C179B63E2F5A58786B70FADA6C8496A5"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_FA997D5286D6E9EC1A80EB888D9FDA72"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_023CEE1263BC2659C4302E37A4F8A946"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_EB90C5C498BD80F4675C07A364C45E3D"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_283F49175556E95BE98A7C8600F4030B"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_E0573A6D7543083D0A5654271DF50643"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_F3D3908BF1850F33CACA8DC41CB6869E"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_AB0E0C1990036EFBAC9C728A9902D668"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_018A2A1E8555CACB14EEBBCFE003E82A"
- "MsmSig" = "8:_UNDEFINED"
- }
- "Entry"
- {
- "MsmKey" = "8:_UNDEFINED"
- "OwnerKey" = "8:_13803D82858878E2D3953D4742A1A596"
+ "OwnerKey" = "8:_B0A07289218E6EFD42CF3518073813D6"
"MsmSig" = "8:_UNDEFINED"
}
}
@@ -3705,7 +2715,7 @@
"DisplayName" = "8:Debug"
"IsDebugOnly" = "11:TRUE"
"IsReleaseOnly" = "11:FALSE"
- "OutputFilename" = "8:..\\..\\Build\\Installers\\Machine Studio\\Debug\\Machine Studio Installer v1.0.0.5.msi"
+ "OutputFilename" = "8:..\\..\\Build\\Installers\\Machine Studio\\Debug\\Machine Studio Installer v3.0.msi"
"PackageFilesAs" = "3:2"
"PackageFileSize" = "3:-2147483648"
"CabType" = "3:1"
@@ -3737,7 +2747,7 @@
"DisplayName" = "8:Release"
"IsDebugOnly" = "11:FALSE"
"IsReleaseOnly" = "11:TRUE"
- "OutputFilename" = "8:..\\..\\Build\\Installers\\Machine Studio\\Release\\Machine Studio Installer v1.0.0.5.msi"
+ "OutputFilename" = "8:..\\..\\Build\\Installers\\Machine Studio\\Release\\Machine Studio Installer v3.0.msi"
"PackageFilesAs" = "3:2"
"PackageFileSize" = "3:-2147483648"
"CabType" = "3:1"
@@ -3792,170 +2802,20 @@
}
"File"
{
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_00AB5F4CB0B9DCC466359F8589533B68"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:RazorEngine, Version=3.10.0.0, Culture=neutral, PublicKeyToken=9ee697374c7e744a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:RazorEngine.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_018A2A1E8555CACB14EEBBCFE003E82A"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Collections, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_018A2A1E8555CACB14EEBBCFE003E82A"
- {
- "Name" = "8:System.Collections.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:System.Collections.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_023CEE1263BC2659C4302E37A4F8A946"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Diagnostics.Tools, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_023CEE1263BC2659C4302E37A4F8A946"
- {
- "Name" = "8:System.Diagnostics.Tools.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Diagnostics.Tools.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_032C05575B795D1CAEDD5105F1520FBB"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Text.RegularExpressions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_032C05575B795D1CAEDD5105F1520FBB"
- {
- "Name" = "8:System.Text.RegularExpressions.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:System.Text.RegularExpressions.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_059A6746A8576493957C8E5AF3CEB9D9"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.Common, Version=2.0.23.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_059A6746A8576493957C8E5AF3CEB9D9"
- {
- "Name" = "8:Tango.MachineStudio.Common.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:Tango.MachineStudio.Common.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_08C7D6D7EF105161BD48E61BBEBBF002"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_0B42804156762B4BDCC3EF894CED60AC"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Reflection, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.WorkItemTracking.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_08C7D6D7EF105161BD48E61BBEBBF002"
+ "_0B42804156762B4BDCC3EF894CED60AC"
{
- "Name" = "8:System.Reflection.dll"
+ "Name" = "8:Microsoft.TeamFoundation.WorkItemTracking.Common.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Reflection.dll"
+ "SourcePath" = "8:Microsoft.TeamFoundation.WorkItemTracking.Common.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -3973,37 +2833,6 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_0B4B393563808E508848ED965CF47AEE"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Reflection.Emit, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_0B4B393563808E508848ED965CF47AEE"
- {
- "Name" = "8:System.Reflection.Emit.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Reflection.Emit.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_0BF8133A6082FDD658EA3570802D86DE"
{
"AssemblyRegister" = "3:1"
@@ -4035,168 +2864,12 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_0D2EC478B8B5A060121B647E6BA3DE05"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.Core, Version=2.0.26.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Tango.Core.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_0E196D84800B9656BC318F85626EFE05"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.MachineDesigner, Version=2.0.8.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_0E196D84800B9656BC318F85626EFE05"
- {
- "Name" = "8:Tango.MachineStudio.MachineDesigner.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:Tango.MachineStudio.MachineDesigner.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_13428C81458C52275C0A41D014521151"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.UsersAndRoles, Version=2.0.7.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_13428C81458C52275C0A41D014521151"
- {
- "Name" = "8:Tango.MachineStudio.UsersAndRoles.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:Tango.MachineStudio.UsersAndRoles.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_13803D82858878E2D3953D4742A1A596"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Collections.Concurrent, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_13803D82858878E2D3953D4742A1A596"
- {
- "Name" = "8:System.Collections.Concurrent.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:System.Collections.Concurrent.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_14CF2DBBA5462C65F94A9137DCE014F9"
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_0D36BD88AEF84A1CA7AC32F4687643FD"
{
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Runtime.Serialization.Xml, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_14CF2DBBA5462C65F94A9137DCE014F9"
- {
- "Name" = "8:System.Runtime.Serialization.Xml.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Runtime.Serialization.Xml.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_173C4B05CE04BA34E920DC64B25A8670"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Xml.ReaderWriter, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:System.Xml.ReaderWriter.dll"
- "TargetName" = "8:"
+ "SourcePath" = "8:..\\..\\Build\\Core\\Debug\\x86\\SQLite.Interop.dll"
+ "TargetName" = "8:SQLite.Interop.dll"
"Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
+ "Folder" = "8:_137C662BA6B24073AC58ED6C67DA7951"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
@@ -4208,49 +2881,23 @@
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_17BFDCA42AB1DE7706418C4C953F856E"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_1CB515C82F6904C632717D23A858B116"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.VisualStudio.Services.Client.Interactive, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Microsoft.VisualStudio.Services.Client.Interactive.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_1910D5B276479C48B4F7762A638405F5"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
"ScatterAssemblies"
{
- "_1910D5B276479C48B4F7762A638405F5"
+ "_1CB515C82F6904C632717D23A858B116"
{
- "Name" = "8:System.Runtime.dll"
+ "Name" = "8:System.IO.Compression.FileSystem.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Runtime.dll"
+ "SourcePath" = "8:System.IO.Compression.FileSystem.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -4268,82 +2915,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_1AB2D4983FA9742736ECF3B7F206F2F2"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_1EC9EA112C92712F7DD0290C02F8F1EB"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.Synchronization, Version=2.0.9.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_1AB2D4983FA9742736ECF3B7F206F2F2"
- {
- "Name" = "8:Tango.MachineStudio.Synchronization.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:Tango.MachineStudio.Synchronization.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_1AC47588060EAA9F2B7A13EC07359D10"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Threading, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.Editors, Version=2.0.19.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_1AC47588060EAA9F2B7A13EC07359D10"
+ "_1EC9EA112C92712F7DD0290C02F8F1EB"
{
- "Name" = "8:System.Threading.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:System.Threading.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_1BDA3B7B2EF85A48708A41568E05F63F"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Runtime.Serialization.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_1BDA3B7B2EF85A48708A41568E05F63F"
- {
- "Name" = "8:System.Runtime.Serialization.Primitives.dll"
+ "Name" = "8:Tango.Editors.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Runtime.Serialization.Primitives.dll"
+ "SourcePath" = "8:Tango.Editors.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -4392,20 +2977,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2423100AF29217C4332A90074E54D4D0"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_21E475E8F9DBB207476AD595250634BF"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.HardwareDesigner, Version=2.0.8.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:RealTimeGraphEx, Version=1.0.20.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_2423100AF29217C4332A90074E54D4D0"
+ "_21E475E8F9DBB207476AD595250634BF"
{
- "Name" = "8:Tango.MachineStudio.HardwareDesigner.dll"
+ "Name" = "8:RealTimeGraphEx.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.MachineStudio.HardwareDesigner.dll"
+ "SourcePath" = "8:RealTimeGraphEx.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -4423,20 +3008,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2444D22B50272EAE03F2B5D2457335EC"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_269E1BD3A1EBC31895AD3845529D3A9A"
{
"AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Reflection, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyIsInGAC" = "11:FALSE"
+ "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_2444D22B50272EAE03F2B5D2457335EC"
+ "_269E1BD3A1EBC31895AD3845529D3A9A"
{
- "Name" = "8:System.Reflection.dll"
+ "Name" = "8:Microsoft.TeamFoundation.Common.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Reflection.dll"
+ "SourcePath" = "8:Microsoft.TeamFoundation.Common.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -4454,77 +3039,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_244F067B77DB6F9852E2286427480A18"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Net.NetworkInformation, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_244F067B77DB6F9852E2286427480A18"
- {
- "Name" = "8:System.Net.NetworkInformation.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Net.NetworkInformation.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2589A08E4AC51C4B69842E948EFC87DB"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2797CFFB7DAA734F75BFE8FB845163D3"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Reflection.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ScatterAssemblies"
{
- "_2589A08E4AC51C4B69842E948EFC87DB"
+ "_2797CFFB7DAA734F75BFE8FB845163D3"
{
- "Name" = "8:System.Reflection.Primitives.dll"
- "Attributes" = "3:0"
+ "Name" = "8:System.Net.Http.dll"
+ "Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Reflection.Primitives.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_262CDE6547BE15C0065FC563C76194D2"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Microsoft.TeamFoundation.Common.dll"
+ "SourcePath" = "8:System.Net.Http.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -4542,76 +3070,19 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_26BF1219019A4367BA3497A5899C05B1"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2A67839C006307363A784C0284DC07B0"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.ServiceModel.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_26BF1219019A4367BA3497A5899C05B1"
- {
- "Name" = "8:System.ServiceModel.Primitives.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.ServiceModel.Primitives.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_283F49175556E95BE98A7C8600F4030B"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Diagnostics.Contracts, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_283F49175556E95BE98A7C8600F4030B"
+ "_2A67839C006307363A784C0284DC07B0"
{
- "Name" = "8:System.Diagnostics.Contracts.dll"
- "Attributes" = "3:0"
+ "Name" = "8:Microsoft.ServiceBus.dll"
+ "Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Diagnostics.Contracts.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2EB48F8299C56A3911017460C55FDA43"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.ServiceBus, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
"SourcePath" = "8:Microsoft.ServiceBus.dll"
"TargetName" = "8:"
"Tag" = "8:"
@@ -4630,46 +3101,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2ED45DA7AF8B8894A38769DFF94F274F"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_30FDB43A5EE9C1E3839D05F6363080D6"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.Developer, Version=2.0.15.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.CSV, Version=2.0.17.1657, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_2ED45DA7AF8B8894A38769DFF94F274F"
+ "_30FDB43A5EE9C1E3839D05F6363080D6"
{
- "Name" = "8:Tango.MachineStudio.Developer.dll"
+ "Name" = "8:Tango.CSV.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.MachineStudio.Developer.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2F23291F311EE9576449E5628A5702AE"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.Transport, Version=2.0.25.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Tango.Transport.dll"
+ "SourcePath" = "8:Tango.CSV.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -4687,20 +3132,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2FA2B573783C66016BCED4EA9D33E5B6"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_36D30082439E3E9B7F5AAF6701F0C22F"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Text.Encoding.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_2FA2B573783C66016BCED4EA9D33E5B6"
+ "_36D30082439E3E9B7F5AAF6701F0C22F"
{
- "Name" = "8:System.Text.Encoding.Extensions.dll"
+ "Name" = "8:System.Net.Http.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Text.Encoding.Extensions.dll"
+ "SourcePath" = "8:System.Net.Http.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -4718,77 +3163,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_359F09B8EC59D6FC1859EFF3D2274920"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Threading.Tasks.Parallel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_359F09B8EC59D6FC1859EFF3D2274920"
- {
- "Name" = "8:System.Threading.Tasks.Parallel.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Threading.Tasks.Parallel.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_382ADCBEA6FF11871606FD406333761E"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_3737DF68C5D4F9EEA98383147C09217D"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.Updater, Version=2.0.7.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.UsersAndRoles, Version=2.0.9.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_382ADCBEA6FF11871606FD406333761E"
+ "_3737DF68C5D4F9EEA98383147C09217D"
{
- "Name" = "8:Tango.MachineStudio.Updater.exe"
+ "Name" = "8:Tango.MachineStudio.UsersAndRoles.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.MachineStudio.Updater.exe"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_38A402C026B59AE31D2CBB0235AF3368"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.DAL.Remote, Version=2.0.25.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Tango.DAL.Remote.dll"
+ "SourcePath" = "8:Tango.MachineStudio.UsersAndRoles.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -4806,46 +3194,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_39C2ACA7C5003F7A39323635C3B4B924"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_386D8E25E67F7711289168ABA40EEA5D"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Reflection.Emit.ILGeneration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.Diff, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_39C2ACA7C5003F7A39323635C3B4B924"
+ "_386D8E25E67F7711289168ABA40EEA5D"
{
- "Name" = "8:System.Reflection.Emit.ILGeneration.dll"
- "Attributes" = "3:0"
+ "Name" = "8:Microsoft.TeamFoundation.Diff.dll"
+ "Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Reflection.Emit.ILGeneration.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_39DD938A5F3E194F296D11EA2F72EB3E"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.IdentityModel.Tokens.Jwt, Version=4.0.20622.1351, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:System.IdentityModel.Tokens.Jwt.dll"
+ "SourcePath" = "8:Microsoft.TeamFoundation.Diff.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -4863,20 +3225,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_3B351F730871D9CC74A40D74B6C6E61A"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_38750CCB0CB6E026D5D88F129FB1013A"
{
"AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Text.Encoding, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyIsInGAC" = "11:FALSE"
+ "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.ColorLab, Version=2.0.10.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_3B351F730871D9CC74A40D74B6C6E61A"
+ "_38750CCB0CB6E026D5D88F129FB1013A"
{
- "Name" = "8:System.Text.Encoding.dll"
+ "Name" = "8:Tango.MachineStudio.ColorLab.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Text.Encoding.dll"
+ "SourcePath" = "8:Tango.MachineStudio.ColorLab.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -4894,20 +3256,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_3C71904C35BED6686835B5A1C74768BE"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_401029CD43B9D1C7D6B8A91580C72246"
{
"AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Globalization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyIsInGAC" = "11:FALSE"
+ "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.Technician, Version=2.0.14.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_3C71904C35BED6686835B5A1C74768BE"
+ "_401029CD43B9D1C7D6B8A91580C72246"
{
- "Name" = "8:System.Globalization.dll"
+ "Name" = "8:Tango.MachineStudio.Technician.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Globalization.dll"
+ "SourcePath" = "8:Tango.MachineStudio.Technician.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -4925,20 +3287,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_3E6534AA37C9012ED3BDF4DCB02EFDB6"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_419E2BE26037D1DF36751EB628D51EBC"
{
"AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.IO, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyIsInGAC" = "11:FALSE"
+ "AssemblyAsmDisplayName" = "8:System.IdentityModel.Tokens.Jwt, Version=4.0.20622.1351, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_3E6534AA37C9012ED3BDF4DCB02EFDB6"
+ "_419E2BE26037D1DF36751EB628D51EBC"
{
- "Name" = "8:System.IO.dll"
+ "Name" = "8:System.IdentityModel.Tokens.Jwt.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.IO.dll"
+ "SourcePath" = "8:System.IdentityModel.Tokens.Jwt.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -4987,108 +3349,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_4446241C89A5162FB80809A05F581472"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_422EDE425080BE992A7471DEF2AB1103"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.DataCapture, Version=2.0.8.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.19.8.16603, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_4446241C89A5162FB80809A05F581472"
+ "_422EDE425080BE992A7471DEF2AB1103"
{
- "Name" = "8:Tango.MachineStudio.DataCapture.dll"
+ "Name" = "8:Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.MachineStudio.DataCapture.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_448950FC944968D96107991185C22806"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.Work.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Microsoft.TeamFoundation.Work.WebApi.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_448EC30219E98C0B91ABF43C7D4F223F"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Runtime.Serialization.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_448EC30219E98C0B91ABF43C7D4F223F"
- {
- "Name" = "8:System.Runtime.Serialization.Json.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Runtime.Serialization.Json.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_4672E56FCA5A7523E491A1DF92B58426"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Runtime.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_4672E56FCA5A7523E491A1DF92B58426"
- {
- "Name" = "8:System.Runtime.Extensions.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:System.Runtime.Extensions.dll"
+ "SourcePath" = "8:Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -5106,20 +3380,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_47ECF1DA52157B12F544FB237D85F564"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_437F8E654D5A08B1CA3EA7BCC8B911F9"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.Logging, Version=2.0.15.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.Visuals, Version=2.0.8.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_47ECF1DA52157B12F544FB237D85F564"
+ "_437F8E654D5A08B1CA3EA7BCC8B911F9"
{
- "Name" = "8:Tango.MachineStudio.Logging.dll"
+ "Name" = "8:Tango.Visuals.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.MachineStudio.Logging.dll"
+ "SourcePath" = "8:Tango.Visuals.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -5137,20 +3411,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_4A177C28F7864675BCA7A0910494A760"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_4936236609673FB3A97D4EA723B1A767"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.Visuals, Version=2.0.7.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.Serialization, Version=2.0.27.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_4A177C28F7864675BCA7A0910494A760"
+ "_4936236609673FB3A97D4EA723B1A767"
{
- "Name" = "8:Tango.Visuals.dll"
+ "Name" = "8:Tango.Serialization.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.Visuals.dll"
+ "SourcePath" = "8:Tango.Serialization.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -5199,15 +3473,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_4DE31F37261519B6E72F89F737E10A45"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_509008BF7DDF652EFD30748DF7B623AC"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.VisualStudio.Services.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.Stubs, Version=2.0.9.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
+ "_509008BF7DDF652EFD30748DF7B623AC"
+ {
+ "Name" = "8:Tango.Stubs.dll"
+ "Attributes" = "3:512"
+ }
}
- "SourcePath" = "8:Microsoft.VisualStudio.Services.WebApi.dll"
+ "SourcePath" = "8:Tango.Stubs.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -5225,51 +3504,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_4E399A139695EBD13928A80C850A7E9D"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5147DA93AA30302C252F810D0809D8FB"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Threading.Timer, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_4E399A139695EBD13928A80C850A7E9D"
- {
- "Name" = "8:System.Threading.Timer.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Threading.Timer.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_4F605B43B6D1B3804C25477D671A9101"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Net.Primitives, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.DB, Version=2.0.9.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_4F605B43B6D1B3804C25477D671A9101"
+ "_5147DA93AA30302C252F810D0809D8FB"
{
- "Name" = "8:System.Net.Primitives.dll"
+ "Name" = "8:Tango.MachineStudio.DB.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Net.Primitives.dll"
+ "SourcePath" = "8:Tango.MachineStudio.DB.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -5287,26 +3535,26 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_4FC5C727C21C7B57C1E2B8E55A9E8748"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_516016F1B93156015497DAD5F7FBE9A1"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Tango.Video, Version=2.0.19.1159, Culture=neutral, processorArchitecture=x86"
"ScatterAssemblies"
{
- "_4FC5C727C21C7B57C1E2B8E55A9E8748"
+ "_516016F1B93156015497DAD5F7FBE9A1"
{
- "Name" = "8:System.Linq.dll"
- "Attributes" = "3:0"
+ "Name" = "8:Tango.Video.dll"
+ "Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Linq.dll"
+ "SourcePath" = "8:Tango.Video.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
+ "Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
@@ -5314,7 +3562,7 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
- "Exclude" = "11:TRUE"
+ "Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
@@ -5380,123 +3628,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_55D25B13F818972AA7BF22C7264EBB19"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_53C4681D5305DDF26BFC8A4775CAF16E"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_55D25B13F818972AA7BF22C7264EBB19"
- {
- "Name" = "8:System.Windows.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Windows.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_56D463E782DDBEB9880013C0D31F3C99"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.Client, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Microsoft.TeamFoundation.Client.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5747A410B7984793A0F6D9121679C6F3"
- {
- "SourcePath" = "8:..\\..\\Build\\Debug\\x86\\SQLite.Interop.dll"
- "TargetName" = "8:SQLite.Interop.dll"
- "Tag" = "8:"
- "Folder" = "8:_137C662BA6B24073AC58ED6C67DA7951"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:FALSE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5A8B326A4A0607AFC366F8FD9657A87A"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.SharedUI, Version=2.0.24.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Tango.SharedUI.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5BB4E116AC988395D2A72901433A7CB9"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.BrushPicker, Version=2.0.7.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.WorkItemTracking.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_5BB4E116AC988395D2A72901433A7CB9"
+ "_53C4681D5305DDF26BFC8A4775CAF16E"
{
- "Name" = "8:Tango.BrushPicker.dll"
+ "Name" = "8:Microsoft.TeamFoundation.WorkItemTracking.WebApi.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.BrushPicker.dll"
+ "SourcePath" = "8:Microsoft.TeamFoundation.WorkItemTracking.WebApi.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -5514,20 +3659,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5C5582DB321E2CC26F8F1FBF8B4866F0"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5731AEC46C736AD3549A441125EE75F9"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.IO, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Microsoft.VisualStudio.Services.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_5C5582DB321E2CC26F8F1FBF8B4866F0"
+ "_5731AEC46C736AD3549A441125EE75F9"
{
- "Name" = "8:System.IO.dll"
+ "Name" = "8:Microsoft.VisualStudio.Services.Common.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.IO.dll"
+ "SourcePath" = "8:Microsoft.VisualStudio.Services.Common.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -5545,46 +3690,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5C9E5FF7D356A4422B8968FB61BDF478"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5F07DDA90732658EC4A03117CF7DD774"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.Synchronization, Version=2.0.14.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.DragAndDrop, Version=2.0.25.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_5C9E5FF7D356A4422B8968FB61BDF478"
+ "_5F07DDA90732658EC4A03117CF7DD774"
{
- "Name" = "8:Tango.Synchronization.dll"
+ "Name" = "8:Tango.DragAndDrop.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.Synchronization.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5D31D40A55F64C363A1DE193E24D604B"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Newtonsoft.Json.dll"
+ "SourcePath" = "8:Tango.DragAndDrop.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -5602,108 +3721,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5DAE745CD40555B469B53E8DB8A5D7DA"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Runtime.Handles, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_5DAE745CD40555B469B53E8DB8A5D7DA"
- {
- "Name" = "8:System.Runtime.Handles.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Runtime.Handles.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_61ACBC61C06E40FB3AE4346599718EB4"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6362DA873243657F5F1FD41C1A4E104A"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.ColorLab, Version=2.0.8.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.ColorPicker, Version=2.0.19.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_61ACBC61C06E40FB3AE4346599718EB4"
+ "_6362DA873243657F5F1FD41C1A4E104A"
{
- "Name" = "8:Tango.MachineStudio.ColorLab.dll"
+ "Name" = "8:Tango.ColorPicker.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.MachineStudio.ColorLab.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_62EC6F0F04E5435ABCC0479D48BEBE1B"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Reflection.Emit.Lightweight, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_62EC6F0F04E5435ABCC0479D48BEBE1B"
- {
- "Name" = "8:System.Reflection.Emit.Lightweight.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Reflection.Emit.Lightweight.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_633F9949B09BE13FCEC5B9CE99D81421"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll"
+ "SourcePath" = "8:Tango.ColorPicker.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -5752,146 +3783,6 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_67EAE4B6E14417FC2BF4F4EBF4473A1E"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.DragAndDrop, Version=2.0.23.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Tango.DragAndDrop.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_69CC8DD07F81DD7EA883434F53157FBC"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.Serialization, Version=2.0.25.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Tango.Serialization.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6AE2958999F8B1E88D8475CB3E791CF2"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:WpfAnimatedGif, Version=1.4.14.0, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_6AE2958999F8B1E88D8475CB3E791CF2"
- {
- "Name" = "8:WpfAnimatedGif.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:WpfAnimatedGif.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6D9156D5DBF08959BE20FE18FA09E71A"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Runtime.Extensions, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_6D9156D5DBF08959BE20FE18FA09E71A"
- {
- "Name" = "8:System.Runtime.Extensions.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:System.Runtime.Extensions.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6E2E48228E9ADAD05ABEFB8E7A69DCCC"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.WorkItemTracking.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Microsoft.TeamFoundation.WorkItemTracking.Common.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_705F2A9700A0B6F6A5308537C5F876EA"
{
"AssemblyRegister" = "3:1"
@@ -6016,72 +3907,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_75D29198D3E03B5554EF1C7382CF5B14"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.Integration, Version=2.0.25.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Tango.Integration.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_75EE66E420D1D88C8A6F9FAC15995211"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_74A44143E117110ECBFD7D981E9D6D99"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.Core.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Microsoft.TeamFoundation.Core.WebApi.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7745EEBA3C6F32DA91434BF623E143C5"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.Stubs, Version=2.0.7.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_7745EEBA3C6F32DA91434BF623E143C5"
+ "_74A44143E117110ECBFD7D981E9D6D99"
{
- "Name" = "8:Tango.MachineStudio.Stubs.dll"
+ "Name" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.MachineStudio.Stubs.dll"
+ "SourcePath" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6099,20 +3938,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7A0D754929705CC64EF84E26BD75D642"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_75673BFBCF71A9463483B9C1DE022EAB"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:RealTimeGraphEx, Version=1.0.17.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.Client, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_7A0D754929705CC64EF84E26BD75D642"
+ "_75673BFBCF71A9463483B9C1DE022EAB"
{
- "Name" = "8:RealTimeGraphEx.dll"
+ "Name" = "8:Microsoft.TeamFoundation.Client.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:RealTimeGraphEx.dll"
+ "SourcePath" = "8:Microsoft.TeamFoundation.Client.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6130,20 +3969,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7E765F76FDFC3DCF4EAEB59B5546B063"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_76136B423153FD040335B97D71CF6A3E"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:MaterialDesignColors, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.PMR, Version=2.0.36.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_7E765F76FDFC3DCF4EAEB59B5546B063"
+ "_76136B423153FD040335B97D71CF6A3E"
{
- "Name" = "8:MaterialDesignColors.dll"
+ "Name" = "8:Tango.PMR.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:MaterialDesignColors.dll"
+ "SourcePath" = "8:Tango.PMR.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6161,20 +4000,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7F2A242EE11515CC12A6793521574B9B"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7A69315CD79099E601F096562C7406DF"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.EmbroideryUI, Version=1.0.5.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.BL, Version=2.0.32.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_7F2A242EE11515CC12A6793521574B9B"
+ "_7A69315CD79099E601F096562C7406DF"
{
- "Name" = "8:Tango.EmbroideryUI.dll"
+ "Name" = "8:Tango.BL.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.EmbroideryUI.dll"
+ "SourcePath" = "8:Tango.BL.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6192,20 +4031,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_847DE93907D7F6B17C0694F74120086B"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7A925C02110B1D4B95987D2EEEFE6FDE"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:FontAwesome.WPF, Version=4.7.0.37774, Culture=neutral, PublicKeyToken=0758b07a11a4f466, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.Common, Version=2.0.26.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_847DE93907D7F6B17C0694F74120086B"
+ "_7A925C02110B1D4B95987D2EEEFE6FDE"
{
- "Name" = "8:FontAwesome.WPF.dll"
+ "Name" = "8:Tango.MachineStudio.Common.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:FontAwesome.WPF.dll"
+ "SourcePath" = "8:Tango.MachineStudio.Common.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6223,20 +4062,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_877DF22E1E92563A6F4E77209D76B185"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7E089FB0FAFDC91358668C33586665F3"
{
"AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Xml.XDocument, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyIsInGAC" = "11:FALSE"
+ "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.Developer, Version=2.0.17.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_877DF22E1E92563A6F4E77209D76B185"
+ "_7E089FB0FAFDC91358668C33586665F3"
{
- "Name" = "8:System.Xml.XDocument.dll"
+ "Name" = "8:Tango.MachineStudio.Developer.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Xml.XDocument.dll"
+ "SourcePath" = "8:Tango.MachineStudio.Developer.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6254,57 +4093,26 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_896E731F0FFC039A04E0A4482B3FED1F"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Net.WebHeaderCollection, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_896E731F0FFC039A04E0A4482B3FED1F"
- {
- "Name" = "8:System.Net.WebHeaderCollection.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Net.WebHeaderCollection.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_90C6EB30636F05FB3DFD7C943DC16EAC"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7E765F76FDFC3DCF4EAEB59B5546B063"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.ServiceModel.Http, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:MaterialDesignColors, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_90C6EB30636F05FB3DFD7C943DC16EAC"
+ "_7E765F76FDFC3DCF4EAEB59B5546B063"
{
- "Name" = "8:System.ServiceModel.Http.dll"
- "Attributes" = "3:0"
+ "Name" = "8:MaterialDesignColors.dll"
+ "Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.ServiceModel.Http.dll"
+ "SourcePath" = "8:MaterialDesignColors.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
+ "Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
@@ -6312,24 +4120,24 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
- "Exclude" = "11:TRUE"
+ "Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_90D408142B1F2A9F72CBF42FC38348F0"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7EBA1AC1C70BAC60E9165BB0A3640C98"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Reactive.Windows.Threading, Version=3.0.1000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.Core, Version=2.0.29.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_90D408142B1F2A9F72CBF42FC38348F0"
+ "_7EBA1AC1C70BAC60E9165BB0A3640C98"
{
- "Name" = "8:System.Reactive.Windows.Threading.dll"
+ "Name" = "8:Tango.Core.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Reactive.Windows.Threading.dll"
+ "SourcePath" = "8:Tango.Core.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6347,15 +4155,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_922DFCAF3DE2758155669B16C5E04B95"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_80A5A4D5BE60BC865B4C5F64B5A09D47"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Microsoft.VisualStudio.Services.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
+ "_80A5A4D5BE60BC865B4C5F64B5A09D47"
+ {
+ "Name" = "8:Microsoft.VisualStudio.Services.WebApi.dll"
+ "Attributes" = "3:512"
+ }
}
- "SourcePath" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client.dll"
+ "SourcePath" = "8:Microsoft.VisualStudio.Services.WebApi.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6373,20 +4186,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_92EADCA3313D55CFE2BB3BBA193941F3"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_847DE93907D7F6B17C0694F74120086B"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Reactive.Core, Version=3.0.3000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:FontAwesome.WPF, Version=4.7.0.37774, Culture=neutral, PublicKeyToken=0758b07a11a4f466, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_92EADCA3313D55CFE2BB3BBA193941F3"
+ "_847DE93907D7F6B17C0694F74120086B"
{
- "Name" = "8:System.Reactive.Core.dll"
+ "Name" = "8:FontAwesome.WPF.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Reactive.Core.dll"
+ "SourcePath" = "8:FontAwesome.WPF.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6404,15 +4217,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_94B0EAFC6BCADB7C6DC2EF31467C8C24"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_8533A0FC046C1B311644EB6565AADCF4"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.CodeGeneration, Version=2.0.14.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.Stubs, Version=2.0.9.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
+ "_8533A0FC046C1B311644EB6565AADCF4"
+ {
+ "Name" = "8:Tango.MachineStudio.Stubs.dll"
+ "Attributes" = "3:512"
+ }
}
- "SourcePath" = "8:Tango.CodeGeneration.dll"
+ "SourcePath" = "8:Tango.MachineStudio.Stubs.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6430,15 +4248,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_95A39C4C0476DF1F27B60A43C00DEAB7"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_88E760F600D2E195D8119F6014AB651E"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:System.Net.Http.WebRequest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ScatterAssemblies"
{
+ "_88E760F600D2E195D8119F6014AB651E"
+ {
+ "Name" = "8:System.Net.Http.WebRequest.dll"
+ "Attributes" = "3:512"
+ }
}
- "SourcePath" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader.dll"
+ "SourcePath" = "8:System.Net.Http.WebRequest.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6456,45 +4279,19 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_967E9E20CB6B9C494DFC2637B6384B13"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_8939008A4B57155156AE83AACC008030"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Reflection.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Tango.Settings, Version=2.0.27.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_967E9E20CB6B9C494DFC2637B6384B13"
+ "_8939008A4B57155156AE83AACC008030"
{
- "Name" = "8:System.Reflection.Extensions.dll"
- "Attributes" = "3:0"
+ "Name" = "8:Tango.Settings.dll"
+ "Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Reflection.Extensions.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_9758638AABE50C72FFA87E6544F6D70F"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.Settings, Version=2.0.25.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
"SourcePath" = "8:Tango.Settings.dll"
"TargetName" = "8:"
"Tag" = "8:"
@@ -6513,77 +4310,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_983D79DC449AD65746DD38E6468BD886"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.ServiceModel.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_983D79DC449AD65746DD38E6468BD886"
- {
- "Name" = "8:System.ServiceModel.Security.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.ServiceModel.Security.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_98D5175644A3BC174BCA498A1B20FF84"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_89CF13C29028D3D7E6E68C097A72CB90"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Dragablz, Version=0.0.3.197, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.Updater, Version=2.0.8.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_98D5175644A3BC174BCA498A1B20FF84"
+ "_89CF13C29028D3D7E6E68C097A72CB90"
{
- "Name" = "8:Dragablz.dll"
+ "Name" = "8:Tango.MachineStudio.Updater.exe"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Dragablz.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_99DE0EEEA77B1C8F35CBE84DD3C935C4"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Net.Http.Formatting, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:System.Net.Http.Formatting.dll"
+ "SourcePath" = "8:Tango.MachineStudio.Updater.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6601,20 +4341,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_9CCA52D51EEDBFE9F9794A8ACD30D5D9"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_8F71C11DA0BAD2C98087755DC7A25AD3"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Text.RegularExpressions, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Tango.EmbroideryUI, Version=1.0.7.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_9CCA52D51EEDBFE9F9794A8ACD30D5D9"
+ "_8F71C11DA0BAD2C98087755DC7A25AD3"
{
- "Name" = "8:System.Text.RegularExpressions.dll"
+ "Name" = "8:Tango.EmbroideryUI.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Text.RegularExpressions.dll"
+ "SourcePath" = "8:Tango.EmbroideryUI.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6632,20 +4372,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_A0C8023CFDF8E1966A878020945346CF"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_90D408142B1F2A9F72CBF42FC38348F0"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.ObjectModel, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:System.Reactive.Windows.Threading, Version=3.0.1000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_A0C8023CFDF8E1966A878020945346CF"
+ "_90D408142B1F2A9F72CBF42FC38348F0"
{
- "Name" = "8:System.ObjectModel.dll"
+ "Name" = "8:System.Reactive.Windows.Threading.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.ObjectModel.dll"
+ "SourcePath" = "8:System.Reactive.Windows.Threading.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6663,20 +4403,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_A1336C0121F3132E09400329ACD12B30"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_92EADCA3313D55CFE2BB3BBA193941F3"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:SimpleValidator, Version=0.6.1.0, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:System.Reactive.Core, Version=3.0.3000.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_A1336C0121F3132E09400329ACD12B30"
+ "_92EADCA3313D55CFE2BB3BBA193941F3"
{
- "Name" = "8:SimpleValidator.dll"
+ "Name" = "8:System.Reactive.Core.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:SimpleValidator.dll"
+ "SourcePath" = "8:System.Reactive.Core.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6694,20 +4434,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_A2659FED3E8DE537BFD1EE3E6A429175"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_949EF578C14CE0D93133060EF66C018F"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Text.Encoding, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.MachineDesigner, Version=2.0.10.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_A2659FED3E8DE537BFD1EE3E6A429175"
+ "_949EF578C14CE0D93133060EF66C018F"
{
- "Name" = "8:System.Text.Encoding.dll"
+ "Name" = "8:Tango.MachineStudio.MachineDesigner.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Text.Encoding.dll"
+ "SourcePath" = "8:Tango.MachineStudio.MachineDesigner.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6725,51 +4465,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_A35B706F66B9C77B3D87D7B0FF53D652"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_95EBE8B225CEEAD24E06F44863ABAECB"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Runtime.InteropServices.WindowsRuntime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_A35B706F66B9C77B3D87D7B0FF53D652"
- {
- "Name" = "8:System.Runtime.InteropServices.WindowsRuntime.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Runtime.InteropServices.WindowsRuntime.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_A7976B20CB4BFC0F5C8BE15430B6005E"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Text.Encoding.Extensions, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:ICSharpCode.AvalonEdit, Version=1.0.18.1933, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_A7976B20CB4BFC0F5C8BE15430B6005E"
+ "_95EBE8B225CEEAD24E06F44863ABAECB"
{
- "Name" = "8:System.Text.Encoding.Extensions.dll"
+ "Name" = "8:ICSharpCode.AvalonEdit.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Text.Encoding.Extensions.dll"
+ "SourcePath" = "8:ICSharpCode.AvalonEdit.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6787,82 +4496,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_AB0E0C1990036EFBAC9C728A9902D668"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.ComponentModel.Annotations, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_AB0E0C1990036EFBAC9C728A9902D668"
- {
- "Name" = "8:System.ComponentModel.Annotations.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.ComponentModel.Annotations.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_AC22B81E0F8A0CB4C79C8B878F2D1BCF"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Linq.Queryable, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_AC22B81E0F8A0CB4C79C8B878F2D1BCF"
- {
- "Name" = "8:System.Linq.Queryable.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Linq.Queryable.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_AED50036F562B75035A039EECFC7BA07"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_98D5175644A3BC174BCA498A1B20FF84"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Runtime.InteropServices, Version=4.0.20.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Dragablz, Version=0.0.3.197, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_AED50036F562B75035A039EECFC7BA07"
+ "_98D5175644A3BC174BCA498A1B20FF84"
{
- "Name" = "8:System.Runtime.InteropServices.dll"
+ "Name" = "8:Dragablz.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Runtime.InteropServices.dll"
+ "SourcePath" = "8:Dragablz.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6880,20 +4527,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_AF79FC974C2F42D24D74E5313E475E87"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_99DFCB38D3C7E1A7AC6AE6E2397D5EAE"
{
"AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Diagnostics.Debug, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyIsInGAC" = "11:FALSE"
+ "AssemblyAsmDisplayName" = "8:Tango.Scripting, Version=2.0.26.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_AF79FC974C2F42D24D74E5313E475E87"
+ "_99DFCB38D3C7E1A7AC6AE6E2397D5EAE"
{
- "Name" = "8:System.Diagnostics.Debug.dll"
+ "Name" = "8:Tango.Scripting.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Diagnostics.Debug.dll"
+ "SourcePath" = "8:Tango.Scripting.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6911,20 +4558,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B12544C6B013F48780D190EB513A3B82"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_9A234F7FB4239AC3DB0DBE9415BDE695"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.ColorPicker, Version=2.0.17.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.AutoComplete, Version=1.0.20.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_B12544C6B013F48780D190EB513A3B82"
+ "_9A234F7FB4239AC3DB0DBE9415BDE695"
{
- "Name" = "8:Tango.ColorPicker.dll"
+ "Name" = "8:Tango.AutoComplete.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.ColorPicker.dll"
+ "SourcePath" = "8:Tango.AutoComplete.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6942,46 +4589,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B20313AE68F1E5D38CDE24036C32E69B"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_9A98137A42052685F51607892D00B8A0"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Net.Http.WebRequest, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Tango.Logging, Version=2.0.33.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_B20313AE68F1E5D38CDE24036C32E69B"
+ "_9A98137A42052685F51607892D00B8A0"
{
- "Name" = "8:System.Net.Http.WebRequest.dll"
+ "Name" = "8:Tango.Logging.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Net.Http.WebRequest.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B78AD04F5CD695E22F6F139EAC69B5A5"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client.QueryLanguage, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client.QueryLanguage.dll"
+ "SourcePath" = "8:Tango.Logging.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -6999,20 +4620,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B8EE1FC78F28FD0B62389E8796D603FB"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_9C822EC8B208111C8872DC2C929B4F49"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Xml.XmlSerializer, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:System.Windows, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
"ScatterAssemblies"
{
- "_B8EE1FC78F28FD0B62389E8796D603FB"
+ "_9C822EC8B208111C8872DC2C929B4F49"
{
- "Name" = "8:System.Xml.XmlSerializer.dll"
+ "Name" = "8:System.Windows.dll"
"Attributes" = "3:0"
}
}
- "SourcePath" = "8:System.Xml.XmlSerializer.dll"
+ "SourcePath" = "8:System.Windows.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7030,46 +4651,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_BA22D23CB5304B5389C531581B1D5C63"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.Diff, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Microsoft.TeamFoundation.Diff.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_BDEEC0B558BD7D7AF03CB6049BCEBDAC"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_A1336C0121F3132E09400329ACD12B30"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.AutoComplete, Version=1.0.17.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:SimpleValidator, Version=0.6.1.0, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_BDEEC0B558BD7D7AF03CB6049BCEBDAC"
+ "_A1336C0121F3132E09400329ACD12B30"
{
- "Name" = "8:Tango.AutoComplete.dll"
+ "Name" = "8:SimpleValidator.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.AutoComplete.dll"
+ "SourcePath" = "8:SimpleValidator.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7087,18 +4682,12 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_BF01A029E83A968C697506DFA469C90B"
+ "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_A17D8A4EDE1F489FABA27DB45F1A3F56"
{
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:ColorMine, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:ColorMine.dll"
- "TargetName" = "8:"
+ "SourcePath" = "8:..\\..\\Build\\Core\\Debug\\x64\\SQLite.Interop.dll"
+ "TargetName" = "8:SQLite.Interop.dll"
"Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
+ "Folder" = "8:_37D35F637FDD433095D8A36CAA7424C8"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
@@ -7110,29 +4699,29 @@
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
+ "IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C179B63E2F5A58786B70FADA6C8496A5"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_A9A74798DD330F41ADBD32DBB9480F5C"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Dynamic.Runtime, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Tango.Transport, Version=2.0.28.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_C179B63E2F5A58786B70FADA6C8496A5"
+ "_A9A74798DD330F41ADBD32DBB9480F5C"
{
- "Name" = "8:System.Dynamic.Runtime.dll"
- "Attributes" = "3:0"
+ "Name" = "8:Tango.Transport.dll"
+ "Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Dynamic.Runtime.dll"
+ "SourcePath" = "8:Tango.Transport.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
+ "Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
@@ -7140,24 +4729,24 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
- "Exclude" = "11:TRUE"
+ "Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C5718F2557E2B4CE76D02A14D19B0F00"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_AC9A178FF920FC61BC39E1F955343BF2"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.Technician, Version=2.0.12.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_C5718F2557E2B4CE76D02A14D19B0F00"
+ "_AC9A178FF920FC61BC39E1F955343BF2"
{
- "Name" = "8:Tango.MachineStudio.Technician.dll"
+ "Name" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.MachineStudio.Technician.dll"
+ "SourcePath" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7175,20 +4764,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C658BF7DEB725E94A2BAF4FD48BAD3FA"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_ACA4B81C7B67E4C6FD57C20AD15BF952"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.CSV, Version=2.0.17.1657, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.Logging, Version=2.0.17.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_C658BF7DEB725E94A2BAF4FD48BAD3FA"
+ "_ACA4B81C7B67E4C6FD57C20AD15BF952"
{
- "Name" = "8:Tango.CSV.dll"
+ "Name" = "8:Tango.MachineStudio.Logging.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.CSV.dll"
+ "SourcePath" = "8:Tango.MachineStudio.Logging.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7206,20 +4795,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C6BFB4DAD78C1798616508141EF1234E"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B0A07289218E6EFD42CF3518073813D6"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Threading.Tasks, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:System.IO.Compression, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_C6BFB4DAD78C1798616508141EF1234E"
+ "_B0A07289218E6EFD42CF3518073813D6"
{
- "Name" = "8:System.Threading.Tasks.dll"
+ "Name" = "8:System.IO.Compression.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Threading.Tasks.dll"
+ "SourcePath" = "8:System.IO.Compression.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7237,82 +4826,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_CC07BBC3C44CE424AA0EF90844590E4E"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Resources.ResourceManager, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_CC07BBC3C44CE424AA0EF90844590E4E"
- {
- "Name" = "8:System.Resources.ResourceManager.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Resources.ResourceManager.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_CC7BD04781686DE3403908303698199D"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Linq.Parallel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_CC7BD04781686DE3403908303698199D"
- {
- "Name" = "8:System.Linq.Parallel.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Linq.Parallel.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_CCD49B330E05F963B5AE73E3D04F5762"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B0DC463AFB084472BA1EA9F43F930940"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Net.Primitives, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.HardwareDesigner, Version=2.0.10.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_CCD49B330E05F963B5AE73E3D04F5762"
+ "_B0DC463AFB084472BA1EA9F43F930940"
{
- "Name" = "8:System.Net.Primitives.dll"
+ "Name" = "8:Tango.MachineStudio.HardwareDesigner.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Net.Primitives.dll"
+ "SourcePath" = "8:Tango.MachineStudio.HardwareDesigner.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7330,46 +4857,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D09F278664B0560653FAC1AD0BCAE93F"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B0F63EB1426CCC22506AFCB6C5809138"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Data.SQLite.EF6, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.SharedUI, Version=2.0.27.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_D09F278664B0560653FAC1AD0BCAE93F"
+ "_B0F63EB1426CCC22506AFCB6C5809138"
{
- "Name" = "8:System.Data.SQLite.EF6.dll"
+ "Name" = "8:Tango.SharedUI.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Data.SQLite.EF6.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D0CFB25F1239503E9FE3881A033B3110"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:System.Web.Razor.dll"
+ "SourcePath" = "8:Tango.SharedUI.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7387,20 +4888,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D1CB239DDD65E78A28094BC854772AFF"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B363FB7BD2F44E6C8573500668C2C9D1"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Runtime, Version=4.0.20.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Tango.Integration, Version=2.0.28.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_D1CB239DDD65E78A28094BC854772AFF"
+ "_B363FB7BD2F44E6C8573500668C2C9D1"
{
- "Name" = "8:System.Runtime.dll"
+ "Name" = "8:Tango.Integration.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Runtime.dll"
+ "SourcePath" = "8:Tango.Integration.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7418,20 +4919,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D3EF38D40E0CBE1BD391303952B0493E"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B706D77ACF741812BE0E0A94728413E8"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Xml.XDocument, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:System.Net.Http.Formatting, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_D3EF38D40E0CBE1BD391303952B0493E"
+ "_B706D77ACF741812BE0E0A94728413E8"
{
- "Name" = "8:System.Xml.XDocument.dll"
+ "Name" = "8:System.Net.Http.Formatting.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Xml.XDocument.dll"
+ "SourcePath" = "8:System.Net.Http.Formatting.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7449,26 +4950,26 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D48D475C8BD232C2AC87A2A7C6CCA53D"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_BA75D5EAA8F428D075548128CE91FDD3"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Security.Principal, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client.QueryLanguage, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_D48D475C8BD232C2AC87A2A7C6CCA53D"
+ "_BA75D5EAA8F428D075548128CE91FDD3"
{
- "Name" = "8:System.Security.Principal.dll"
- "Attributes" = "3:0"
+ "Name" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client.QueryLanguage.dll"
+ "Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Security.Principal.dll"
+ "SourcePath" = "8:Microsoft.TeamFoundation.WorkItemTracking.Client.QueryLanguage.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
+ "Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
@@ -7476,24 +4977,24 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
- "Exclude" = "11:TRUE"
+ "Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D528F21311ECF12D91A0EFF0F8DCA468"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_BD559C5264D2EB8DB2F96C7F161ECCFE"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.Stubs, Version=2.0.7.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:WpfAnimatedGif, Version=1.4.14.0, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_D528F21311ECF12D91A0EFF0F8DCA468"
+ "_BD559C5264D2EB8DB2F96C7F161ECCFE"
{
- "Name" = "8:Tango.Stubs.dll"
+ "Name" = "8:WpfAnimatedGif.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.Stubs.dll"
+ "SourcePath" = "8:WpfAnimatedGif.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7511,15 +5012,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D66A3A6B6E4CBDAA1D6A1FD30FFAB6F2"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C28A9B0313A578C409D1E57773FB001E"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.WorkItemTracking.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Tango.DAL.Remote, Version=2.0.28.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
+ "_C28A9B0313A578C409D1E57773FB001E"
+ {
+ "Name" = "8:Tango.DAL.Remote.dll"
+ "Attributes" = "3:512"
+ }
}
- "SourcePath" = "8:Microsoft.TeamFoundation.WorkItemTracking.WebApi.dll"
+ "SourcePath" = "8:Tango.DAL.Remote.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7537,20 +5043,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D6A37AFBBBDA445164B68F2E7D5B3E80"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C5F581AD9F0D1DCAB6E2DE32A49DCD96"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.Editors, Version=2.0.17.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.Work.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_D6A37AFBBBDA445164B68F2E7D5B3E80"
+ "_C5F581AD9F0D1DCAB6E2DE32A49DCD96"
{
- "Name" = "8:Tango.Editors.dll"
+ "Name" = "8:Microsoft.TeamFoundation.Work.WebApi.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.Editors.dll"
+ "SourcePath" = "8:Microsoft.TeamFoundation.Work.WebApi.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7568,26 +5074,26 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D8A84B2F626300DA2E9147709713E9CB"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C78640287566584857304B60C7E09D2E"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.ServiceModel.Duplex, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_D8A84B2F626300DA2E9147709713E9CB"
+ "_C78640287566584857304B60C7E09D2E"
{
- "Name" = "8:System.ServiceModel.Duplex.dll"
- "Attributes" = "3:0"
+ "Name" = "8:System.Web.Razor.dll"
+ "Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.ServiceModel.Duplex.dll"
+ "SourcePath" = "8:System.Web.Razor.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
"Condition" = "8:"
"Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
+ "Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
@@ -7595,24 +5101,24 @@
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
- "Exclude" = "11:TRUE"
+ "Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D947550594E2BF53BED76C7D7F9747D7"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C79F4B145CE2D951C3E342053EC26159"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.IO.Compression.FileSystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
+ "AssemblyAsmDisplayName" = "8:Tango.CodeGeneration, Version=2.0.16.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_D947550594E2BF53BED76C7D7F9747D7"
+ "_C79F4B145CE2D951C3E342053EC26159"
{
- "Name" = "8:System.IO.Compression.FileSystem.dll"
+ "Name" = "8:Tango.CodeGeneration.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.IO.Compression.FileSystem.dll"
+ "SourcePath" = "8:Tango.CodeGeneration.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7630,72 +5136,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D949D70DDDDCF94CDCAD9B76A400C3D3"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_CAE724B9A481E2BAEC967AC01E7440FC"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.WorkItemTracking.Proxy, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- }
- "SourcePath" = "8:Microsoft.TeamFoundation.WorkItemTracking.Proxy.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DB4941BAFA45E5921E7072990000621E"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.Logging, Version=2.0.30.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Tango.Logging.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DB4A94107FB1929721E56ED40844F276"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Runtime.InteropServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_DB4A94107FB1929721E56ED40844F276"
+ "_CAE724B9A481E2BAEC967AC01E7440FC"
{
- "Name" = "8:System.Runtime.InteropServices.dll"
+ "Name" = "8:Microsoft.TeamFoundation.WorkItemTracking.Proxy.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Runtime.InteropServices.dll"
+ "SourcePath" = "8:Microsoft.TeamFoundation.WorkItemTracking.Proxy.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7713,51 +5167,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DC627D829804D2AC4A3984133840F2D5"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.ServiceModel.NetTcp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_DC627D829804D2AC4A3984133840F2D5"
- {
- "Name" = "8:System.ServiceModel.NetTcp.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.ServiceModel.NetTcp.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DCD0D71251FAABFB20D57E60AC3DEFA3"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D09F278664B0560653FAC1AD0BCAE93F"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Globalization, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:System.Data.SQLite.EF6, Version=1.0.108.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_DCD0D71251FAABFB20D57E60AC3DEFA3"
+ "_D09F278664B0560653FAC1AD0BCAE93F"
{
- "Name" = "8:System.Globalization.dll"
+ "Name" = "8:System.Data.SQLite.EF6.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Globalization.dll"
+ "SourcePath" = "8:System.Data.SQLite.EF6.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7775,20 +5198,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DD10CB022785FD0CE997E8C7BC1D0FE6"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D7FBEFA3359B5E4558E45316AF3159B0"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Threading, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_DD10CB022785FD0CE997E8C7BC1D0FE6"
+ "_D7FBEFA3359B5E4558E45316AF3159B0"
{
- "Name" = "8:System.Threading.dll"
+ "Name" = "8:Newtonsoft.Json.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Threading.dll"
+ "SourcePath" = "8:Newtonsoft.Json.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7806,77 +5229,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DD77D7B58FFDC37F83D85D632BEC9DC4"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Runtime.Numerics, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_DD77D7B58FFDC37F83D85D632BEC9DC4"
- {
- "Name" = "8:System.Runtime.Numerics.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Runtime.Numerics.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DE3FACD5F197D2E261A0C6B32E0D1CAC"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DB4BF3BCEC4456BC4D94E6F732E82803"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Runtime.Serialization.Primitives, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Microsoft.IdentityModel.Clients.ActiveDirectory.Platform, Version=3.19.8.16603, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_DE3FACD5F197D2E261A0C6B32E0D1CAC"
+ "_DB4BF3BCEC4456BC4D94E6F732E82803"
{
- "Name" = "8:System.Runtime.Serialization.Primitives.dll"
+ "Name" = "8:Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Runtime.Serialization.Primitives.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DF6FFF88157E7FBCFB7E188431AAF4CF"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.PMR, Version=2.0.33.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Tango.PMR.dll"
+ "SourcePath" = "8:Microsoft.IdentityModel.Clients.ActiveDirectory.Platform.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -7894,102 +5260,19 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E0573A6D7543083D0A5654271DF50643"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_DF9470C286C095EB5289BC0A57E7AA2C"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.ComponentModel.EventBasedAsync, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Tango.TFS, Version=2.0.19.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_E0573A6D7543083D0A5654271DF50643"
+ "_DF9470C286C095EB5289BC0A57E7AA2C"
{
- "Name" = "8:System.ComponentModel.EventBasedAsync.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.ComponentModel.EventBasedAsync.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E0FCEE9366306B5A88DC7CF29E913A4B"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Collections, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_E0FCEE9366306B5A88DC7CF29E913A4B"
- {
- "Name" = "8:System.Collections.dll"
+ "Name" = "8:Tango.TFS.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Collections.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E97069A1CAEDE89621181DEE3B97B547"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.VisualStudio.Services.Common, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Microsoft.VisualStudio.Services.Common.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E9B6634643306242F65E192204E9C56A"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.TFS, Version=2.0.17.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
"SourcePath" = "8:Tango.TFS.dll"
"TargetName" = "8:"
"Tag" = "8:"
@@ -8008,20 +5291,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EA4D0354739F3915FC03731153325AA5"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E0B7DFF98B1B17C9E2E2BD3B6DBBFF8A"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.DAL.Local, Version=2.0.14.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:RazorEngine, Version=3.10.0.0, Culture=neutral, PublicKeyToken=9ee697374c7e744a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_EA4D0354739F3915FC03731153325AA5"
+ "_E0B7DFF98B1B17C9E2E2BD3B6DBBFF8A"
{
- "Name" = "8:Tango.DAL.Local.dll"
+ "Name" = "8:RazorEngine.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.DAL.Local.dll"
+ "SourcePath" = "8:RazorEngine.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -8039,20 +5322,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EB16994750C856659A7BE41BD02F8ABE"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E521ECFD6C000298EBF2C298D2E4376B"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.Video, Version=2.0.17.1633, Culture=neutral, processorArchitecture=MSIL"
+ "AssemblyAsmDisplayName" = "8:Microsoft.VisualStudio.Services.Client.Interactive, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_EB16994750C856659A7BE41BD02F8ABE"
+ "_E521ECFD6C000298EBF2C298D2E4376B"
{
- "Name" = "8:Tango.Video.dll"
+ "Name" = "8:Microsoft.VisualStudio.Services.Client.Interactive.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.Video.dll"
+ "SourcePath" = "8:Microsoft.VisualStudio.Services.Client.Interactive.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -8101,77 +5384,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EB90C5C498BD80F4675C07A364C45E3D"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_ECDF8B3BECC1C92F35C36C2743D8E99E"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Diagnostics.Debug, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_EB90C5C498BD80F4675C07A364C45E3D"
- {
- "Name" = "8:System.Diagnostics.Debug.dll"
- "Attributes" = "3:512"
- }
- }
- "SourcePath" = "8:System.Diagnostics.Debug.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EBFEF6DABA658232EC82197A8E01F66E"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Threading.Tasks, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:ColorMine, Version=1.2.0.0, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_EBFEF6DABA658232EC82197A8E01F66E"
+ "_ECDF8B3BECC1C92F35C36C2743D8E99E"
{
- "Name" = "8:System.Threading.Tasks.dll"
+ "Name" = "8:ColorMine.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Threading.Tasks.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_ED524252AD28281FAE5468349D0E5797"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:ICSharpCode.AvalonEdit, Version=1.0.18.1933, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:ICSharpCode.AvalonEdit.dll"
+ "SourcePath" = "8:ColorMine.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -8189,37 +5415,6 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EF2623DE67EDC70B584821A055B86302"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Net.Requests, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_EF2623DE67EDC70B584821A055B86302"
- {
- "Name" = "8:System.Net.Requests.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Net.Requests.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EF2898B0C9AAB2E33674325B9F86943B"
{
"AssemblyRegister" = "3:1"
@@ -8251,97 +5446,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_F1DFFB8E50BAD2529B0C859268ED8956"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FB49CF72492394629C7D629F6FAB4446"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.Scripting, Version=2.0.23.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Tango.Scripting.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F3898C4F454B4D1481E055F2AB2B217B"
- {
- "SourcePath" = "8:..\\..\\Build\\Debug\\x64\\SQLite.Interop.dll"
- "TargetName" = "8:SQLite.Interop.dll"
- "Tag" = "8:"
- "Folder" = "8:_37D35F637FDD433095D8A36CAA7424C8"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:FALSE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_F3D3908BF1850F33CACA8DC41CB6869E"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_F3D3908BF1850F33CACA8DC41CB6869E"
- {
- "Name" = "8:System.ComponentModel.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.ComponentModel.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_F46F8B020857673C983D66FE2F41B983"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Linq.Expressions, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Microsoft.TeamFoundation.Core.WebApi, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_F46F8B020857673C983D66FE2F41B983"
+ "_FB49CF72492394629C7D629F6FAB4446"
{
- "Name" = "8:System.Linq.Expressions.dll"
+ "Name" = "8:Microsoft.TeamFoundation.Core.WebApi.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Linq.Expressions.dll"
+ "SourcePath" = "8:Microsoft.TeamFoundation.Core.WebApi.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -8359,46 +5477,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_F78136CC822CCB014A68583A48E41B1C"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FF26B2424D1F2EB451FE2EDE8CD8D7CD"
{
"AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:TRUE"
- "AssemblyAsmDisplayName" = "8:System.Collections.Concurrent, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
+ "AssemblyIsInGAC" = "11:FALSE"
+ "AssemblyAsmDisplayName" = "8:Tango.BrushPicker, Version=2.0.8.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_F78136CC822CCB014A68583A48E41B1C"
+ "_FF26B2424D1F2EB451FE2EDE8CD8D7CD"
{
- "Name" = "8:System.Collections.Concurrent.dll"
+ "Name" = "8:Tango.BrushPicker.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:System.Collections.Concurrent.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_F93FF260A2F031FD129C02F9FB2A6E9D"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.13.5.907, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
+ "SourcePath" = "8:Tango.BrushPicker.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -8416,108 +5508,20 @@
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FA58218115CCED35D22896A731510356"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
- "ScatterAssemblies"
- {
- "_FA58218115CCED35D22896A731510356"
- {
- "Name" = "8:System.Net.Http.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Net.Http.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FA997D5286D6E9EC1A80EB888D9FDA72"
+ "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FF9B3021994C6FE507A9C7BE198B6C03"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:System.Diagnostics.Tracing, Version=4.0.20.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
+ "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.DataCapture, Version=2.0.10.1159, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
- "_FA997D5286D6E9EC1A80EB888D9FDA72"
+ "_FF9B3021994C6FE507A9C7BE198B6C03"
{
- "Name" = "8:System.Diagnostics.Tracing.dll"
- "Attributes" = "3:0"
- }
- }
- "SourcePath" = "8:System.Diagnostics.Tracing.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:FALSE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:TRUE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FAAE7C62982AB9171B3FF838FB304946"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.MachineStudio.DB, Version=2.0.7.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- "_FAAE7C62982AB9171B3FF838FB304946"
- {
- "Name" = "8:Tango.MachineStudio.DB.dll"
+ "Name" = "8:Tango.MachineStudio.DataCapture.dll"
"Attributes" = "3:512"
}
}
- "SourcePath" = "8:Tango.MachineStudio.DB.dll"
- "TargetName" = "8:"
- "Tag" = "8:"
- "Folder" = "8:_C15E39669002469F98F297C08D55903C"
- "Condition" = "8:"
- "Transitive" = "11:FALSE"
- "Vital" = "11:TRUE"
- "ReadOnly" = "11:FALSE"
- "Hidden" = "11:FALSE"
- "System" = "11:FALSE"
- "Permanent" = "11:FALSE"
- "SharedLegacy" = "11:FALSE"
- "PackageAs" = "3:1"
- "Register" = "3:1"
- "Exclude" = "11:FALSE"
- "IsDependency" = "11:TRUE"
- "IsolateTo" = "8:"
- }
- "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_FC7C3735446215F02CF0C477948EAAFC"
- {
- "AssemblyRegister" = "3:1"
- "AssemblyIsInGAC" = "11:FALSE"
- "AssemblyAsmDisplayName" = "8:Tango.BL, Version=2.0.29.1633, Culture=neutral, processorArchitecture=MSIL"
- "ScatterAssemblies"
- {
- }
- "SourcePath" = "8:Tango.BL.dll"
+ "SourcePath" = "8:Tango.MachineStudio.DataCapture.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
@@ -8613,15 +5617,15 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:Machine Studio"
- "ProductCode" = "8:{2CDA6309-5459-4D45-A1FC-EB5CBBC52831}"
- "PackageCode" = "8:{C18A9C7E-6284-435F-A456-2A82C19193FC}"
+ "ProductCode" = "8:{2E4CACCC-2148-47D2-BAFC-0043F43606F1}"
+ "PackageCode" = "8:{E5879A51-DF44-466E-8E92-5D6168C66522}"
"UpgradeCode" = "8:{EDD5BF5D-A0F0-4016-AE0A-5C008DD66BB6}"
"AspNetVersion" = "8:4.0.30319.0"
"RestartWWWService" = "11:FALSE"
- "RemovePreviousVersions" = "11:FALSE"
+ "RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
- "ProductVersion" = "8:1.0.5"
+ "ProductVersion" = "8:3.2.0"
"Manufacturer" = "8:Twine"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:"
@@ -9163,7 +6167,7 @@
{
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_136196DD2763419D959721C2BA143498"
{
- "SourcePath" = "8:..\\Tango.MachineStudio.UI\\obj\\Debug\\Tango.MachineStudio.UI.exe"
+ "SourcePath" = "8:..\\Tango.MachineStudio.UI\\obj\\Release\\Tango.MachineStudio.UI.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_C15E39669002469F98F297C08D55903C"
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Publisher/App.config b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Publisher/App.config
index 209c9be3f..156c5f7e1 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Publisher/App.config
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Publisher/App.config
@@ -49,6 +49,14 @@
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Data.SQLite" publicKeyToken="db937bc2d44ff139" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.0.108.0" newVersion="1.0.108.0" />
+ </dependentAssembly>
</assemblyBinding>
</runtime>
</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Publisher/Tango.MachineStudio.Publisher.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Publisher/Tango.MachineStudio.Publisher.csproj
index e86b3ddf0..f9f337b70 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Publisher/Tango.MachineStudio.Publisher.csproj
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Publisher/Tango.MachineStudio.Publisher.csproj
@@ -8,7 +8,7 @@
<OutputType>WinExe</OutputType>
<RootNamespace>Tango.MachineStudio.Publisher</RootNamespace>
<AssemblyName>Tango.MachineStudio.Publisher</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.config b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.config
index 004400788..4147a78ec 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.config
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.config
@@ -39,7 +39,7 @@
<assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.4.2.0" newVersion="1.4.2.0" />
</dependentAssembly>
- <dependentAssembly>
+ <!--<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
@@ -74,11 +74,19 @@
<dependentAssembly>
<assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
- </dependentAssembly>
+ </dependentAssembly>-->
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-3.19.8.16603" newVersion="3.19.8.16603" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="Microsoft.IdentityModel.Clients.ActiveDirectory.Platform" publicKeyToken="31bf3856ad364e35" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-3.19.8.16603" newVersion="3.19.8.16603" />
+ </dependentAssembly>
</assemblyBinding>
</runtime>
</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs
index ed2cbdbd7..4e1c36593 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs
@@ -37,9 +37,20 @@ namespace Tango.MachineStudio.UI
{
#if DEBUG
- CoreSettings.DefaultDataBaseSource = "localhost\\SQLEXPRESS";
+ CoreSettings.DefaultDataSource = new DataSource()
+ {
+ Address = "localhost\\SQLEXPRESS",
+ Catalog = "Tango",
+ IntegratedSecurity = true,
+ };
#else
- CoreSettings.DefaultDataBaseSource = "twine01\\SQLTWINE";
+
+ CoreSettings.DefaultDataSource = new DataSource()
+ {
+ Address = "twine01\\SQLTWINE",
+ Catalog = "Tango",
+ IntegratedSecurity = true,
+ };
#endif
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Authentication/DefaultAuthenticationProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Authentication/DefaultAuthenticationProvider.cs
index 4e5425138..c16f76449 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Authentication/DefaultAuthenticationProvider.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Authentication/DefaultAuthenticationProvider.cs
@@ -9,6 +9,7 @@ using Tango.BL.Entities;
using Tango.MachineStudio.Common.Authentication;
using Tango.BL;
using Tango.BL.Enumerations;
+using System.Data.Entity;
namespace Tango.MachineStudio.UI.Authentication
{
@@ -48,32 +49,38 @@ namespace Tango.MachineStudio.UI.Authentication
/// <exception cref="AuthenticationException">Login failed for user " + email</exception>
public User Login(string email, string password)
{
- String hash = User.GetPasswordHash(password);
+ using (ObservablesContext db = ObservablesContext.CreateDefault())
+ {
- User user = ObservablesEntitiesAdapter.Instance.Users.SingleOrDefault(x => x.Email.ToLower() == email.ToLower() && x.Password == hash);
+ String hash = User.GetPasswordHash(password);
- if (user == null)
- {
- throw new AuthenticationException("Invalid credentials for " + email);
- }
+ db.Roles.Load();
+ db.Permissions.Load();
+ db.RolesPermissions.Load();
- if (!user.HasPermission(Permissions.RunMachineStudio))
- {
- throw new AuthenticationException("It seems like you do not have sufficient privileges to run Machine Studio. Please contact your administrator.");
- }
+ User user = db.Users
+ .Include(x => x.UsersRoles)
+ .Include(x => x.Organization).SingleOrDefault(x => x.Email.ToLower() == email.ToLower() && x.Password == hash);
- if (user != null)
- {
- using (ObservablesContext db = ObservablesContext.CreateDefault())
+ if (user == null)
+ {
+ throw new AuthenticationException("Invalid credentials for " + email);
+ }
+
+ if (!user.HasPermission(Permissions.RunMachineStudio))
{
- var u = db.Users.Single(x => x.Guid == user.Guid);
- u.LastLogin = DateTime.UtcNow;
+ throw new AuthenticationException("It seems like you do not have sufficient privileges to run Machine Studio. Please contact your administrator.");
+ }
+
+ if (user != null)
+ {
+ user.LastLogin = DateTime.UtcNow;
db.SaveChanges();
}
- }
- CurrentUser = user;
- return user;
+ CurrentUser = user;
+ return user;
+ }
}
/// <summary>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml
index b8a6cd1c0..44b2ed401 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml
@@ -17,7 +17,7 @@
<Viewbox Stretch="Fill">
<Grid x:Name="grid" Width="1920" Height="1100">
<Grid>
- <sharedControls:NavigationControl TransitionAlwaysFades="True" TransitionType="Zoom" x:Name="TransitionControl" x:FieldModifier="public">
+ <sharedControls:NavigationControl TransitionAlwaysFades="True" TransitionType="Zoom" x:Name="NavigationControl" x:FieldModifier="public">
<views:LoadingView sharedControls:NavigationControl.NavigationName="LoadingView"></views:LoadingView>
<views:LoginView sharedControls:NavigationControl.NavigationName="LoginView"></views:LoginView>
<views:MainView sharedControls:NavigationControl.NavigationName="MainView"></views:MainView>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs
index 26a789d0f..13c3d6779 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Modules/DefaultStudioModuleLoader.cs
@@ -12,9 +12,6 @@ using Tango.Logging;
using Tango.MachineStudio.Common;
using Tango.MachineStudio.Common.Authentication;
using Tango.MachineStudio.Common.Modules;
-using Tango.MachineStudio.DB;
-using Tango.MachineStudio.MachineDesigner;
-using Tango.MachineStudio.Stubs;
namespace Tango.MachineStudio.UI.Modules
{
@@ -27,7 +24,6 @@ namespace Tango.MachineStudio.UI.Modules
{
private IAuthenticationProvider _authenticationProvider;
private bool _loaded;
- public event EventHandler ModulesLoaded;
/// <summary>
/// Initializes a new instance of the <see cref="DefaultStudioModuleLoader"/> class.
@@ -78,15 +74,15 @@ namespace Tango.MachineStudio.UI.Modules
{
if (!_loaded)
{
- //Preloaded
+ ////Preloaded
- LogManager.Log(String.Format("Loading module '{0}'...", nameof(StubsModule)));
- AllModules.Add(new StubsModule());
- LogManager.Log(String.Format("Loading module '{0}'...", nameof(DBModule)));
- AllModules.Add(new DBModule());
- LogManager.Log(String.Format("Loading module '{0}'...", nameof(MachineDesignerModule)));
- AllModules.Add(new MachineDesignerModule());
- //Preloaded
+ //LogManager.Log(String.Format("Loading module '{0}'...", nameof(StubsModule)));
+ //AllModules.Add(new StubsModule());
+ //LogManager.Log(String.Format("Loading module '{0}'...", nameof(DBModule)));
+ //AllModules.Add(new DBModule());
+ //LogManager.Log(String.Format("Loading module '{0}'...", nameof(MachineDesignerModule)));
+ //AllModules.Add(new MachineDesignerModule());
+ ////Preloaded
AllModules.Clear();
string assemblyFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
@@ -146,5 +142,10 @@ namespace Tango.MachineStudio.UI.Modules
{
return UserModules.OfType<T>().FirstOrDefault();
}
+
+ /// <summary>
+ /// Occurs when all modules are initialized.
+ /// </summary>
+ public event EventHandler ModulesLoaded;
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Navigation/DefaultNavigationManager.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Navigation/DefaultNavigationManager.cs
index 092b958cc..899ba846e 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Navigation/DefaultNavigationManager.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Navigation/DefaultNavigationManager.cs
@@ -3,8 +3,13 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using Tango.Core;
+using Tango.Core.Commands;
using Tango.MachineStudio.Common;
+using Tango.MachineStudio.Common.Modules;
using Tango.MachineStudio.Common.Navigation;
+using Tango.MachineStudio.Common.Threading;
+using Tango.SharedUI.Controls;
namespace Tango.MachineStudio.UI.Navigation
{
@@ -12,18 +17,372 @@ namespace Tango.MachineStudio.UI.Navigation
/// Represents the Machine Studio default <see cref="INavigationManager">Navigation Manager</see>.
/// </summary>
/// <seealso cref="Tango.MachineStudio.Common.Navigation.INavigationManager" />
- public class DefaultNavigationManager : INavigationManager
+ public class DefaultNavigationManager : ExtendedObject, INavigationManager
{
+ private event Action<Object, Object> NavigationCycleCompleted;
+
+ private IDispatcherProvider _dispatcherProvider;
+ private IStudioModuleLoader _moduleLoader;
+ private Object _currentVM;
+ private String _lastFullPath;
+ private bool _preventHistory;
+ private bool _navigating_back;
+
+ private Stack<String> _navigationHistory;
+
+ /// <summary>
+ /// Gets the current view model.
+ /// </summary>
+ public StudioViewModel CurrentVM
+ {
+ get { return _currentVM as StudioViewModel; }
+ }
+
+ private IStudioModule _currentModule;
+ /// <summary>
+ /// Gets or sets the current module.
+ /// </summary>
+ public IStudioModule CurrentModule
+ {
+ get { return _currentModule; }
+ private set { _currentModule = value; RaisePropertyChangedAuto(); }
+ }
+
+ /// <summary>
+ /// Navigates to the previous view.
+ /// </summary>
+ public RelayCommand NavigateBackCommand { get; private set; }
+
+ /// <summary>
+ /// Navigates to the specified full path in command parameter.
+ /// </summary>
+ public RelayCommand<String> NavigateToCommand { get; private set; }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="DefaultNavigationManager"/> class.
+ /// </summary>
+ /// <param name="moduleLoader">The module loader.</param>
+ public DefaultNavigationManager(IStudioModuleLoader moduleLoader, IDispatcherProvider dispatcherProvider)
+ {
+ _navigationHistory = new Stack<String>();
+ _moduleLoader = moduleLoader;
+
+ NavigateToCommand = new RelayCommand<string>(async (x) => await NavigateTo(x));
+ NavigateBackCommand = new RelayCommand(async () => await NavigateBack());
+
+ _dispatcherProvider = dispatcherProvider;
+ }
+
/// <summary>
- /// Navigates to the specified view.
+ /// Navigates to the specified PPC view.
/// </summary>
/// <param name="view">The view.</param>
- public void NavigateTo(NavigationView view)
+ public Task<bool> NavigateTo(NavigationView view, bool pushToHistory = true)
{
- MainWindow.Instance.Dispatcher.Invoke(() =>
+ LogManager.Log($"Navigating to: {view.ToString()}...");
+
+ _dispatcherProvider.Invoke(() =>
{
- MainWindow.Instance.TransitionControl.NavigateTo(view.ToString());
+ MainWindow.Instance.NavigationControl.NavigateTo(view.ToString());
});
+
+ return Task.FromResult(true);
+ }
+
+ /// <summary>
+ /// Navigates to the specified PPC view with the specified receive object.
+ /// </summary>
+ /// <param name="view">The view.</param>
+ /// <param name="obj"></param>
+ /// <param name="pushToHistory"></param>
+ /// <returns></returns>
+ public Task<bool> NavigateWithObject<TPass>(NavigationView view, TPass obj, bool pushToHistory = true)
+ {
+ LogManager.Log($"Navigating to: {view.ToString()}, with object {typeof(TPass).Name}...");
+ MainWindow.Instance.NavigationControl.NavigateTo(view.ToString());
+ INavigationObjectReceiver<TPass> receiver = MainWindow.Instance.NavigationControl.Elements.FirstOrDefault(x => (x.GetType().Name == view.ToString() || NavigationControl.GetNavigationName(x) == view.ToString()) && x.DataContext is INavigationObjectReceiver<TPass>).DataContext as INavigationObjectReceiver<TPass>;
+
+ if (receiver != null)
+ {
+ receiver.OnNavigatedToWithObject(obj);
+ }
+
+ return Task.FromResult(true);
+ }
+
+ /// <summary>
+ /// Navigates to the specified module.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ public Task<bool> NavigateTo<T>(bool pushToHistory = true) where T : IStudioModule
+ {
+ return NavigateTo(typeof(T));
+ }
+
+ /// <summary>
+ /// Navigates to the specified module using the view path (e.g MainView.JobsView).
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="viewPath">The view path.</param>
+ public Task<bool> NavigateTo<T>(string viewPath, bool pushToHistory = true) where T : IStudioModule
+ {
+ return NavigateTo<T>(pushToHistory, viewPath.Split('.'));
+ }
+
+ /// <summary>
+ /// Navigates to the specified module using the view path (e.g MainView,JobsView).
+ /// This method makes it easy to do stuff like NavigateTo(nameof(MainView),nameof(JobsView));
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ /// <param name="viewPath">The view path.</param>
+ public Task<bool> NavigateTo<T>(bool pushToHistory = true, params String[] viewPath) where T : IStudioModule
+ {
+ return NavigateTo(typeof(T), pushToHistory, viewPath);
+ }
+
+ /// <summary>
+ /// Navigates to the specified module and view by full path (e.g Jobs.JobsView).
+ /// </summary>
+ /// <param name="fullPath">The full path.</param>
+ public async Task<bool> NavigateTo(String fullPath, bool pushToHistory = true)
+ {
+ String[] path = fullPath.Split('.');
+ var module = _moduleLoader.UserModules.SingleOrDefault(x => x.GetType().Name == path[0] || x.Name == path[0]);
+
+ if (path.Length == 1 && path[0] == CurrentModule.Name) return true;
+
+ LogManager.Log($"Navigating to: {fullPath}...");
+
+ var fromVM = _currentVM;
+
+ if (_currentVM != null && _currentVM is INavigationBlocker)
+ {
+ if (_navigating_back)
+ {
+ if (!await (_currentVM as INavigationBlocker).OnNavigateBackRequest())
+ {
+ return false;
+ }
+ }
+ else
+ {
+ if (!await (_currentVM as INavigationBlocker).OnNavigateOutRequest())
+ {
+ return false;
+ }
+ }
+ }
+
+ if (pushToHistory && _lastFullPath != null && !_preventHistory)
+ {
+ _navigationHistory.Push(_lastFullPath);
+ RaisePropertyChanged(nameof(CanNavigateBack));
+ }
+
+ _lastFullPath = fullPath;
+
+ MainWindow.Instance.NavigationControl.NavigateTo(NavigationView.MainView.ToString());
+ var navigationControl = MachineStudio.UI.Views.MainView.Instance.NavigationControl;
+ CurrentModule = module;
+ var moduleView = navigationControl.NavigateTo(module.Name);
+
+ _currentVM = moduleView.DataContext;
+
+ if (path.Length > 1)
+ {
+ var moduleNavigation = moduleView.FindChildOffline<NavigationControl>();
+
+ moduleNavigation.RegisterForLoadedOrNow(async (x, e) =>
+ {
+ foreach (var view in path.Skip(1))
+ {
+ await Task.Delay(100);
+ var v = moduleNavigation.NavigateTo(view);
+
+ if (v != null)
+ {
+ _currentVM = v.DataContext;
+
+ if (view != path.Last())
+ {
+ moduleNavigation = v.FindChildOffline<NavigationControl>();
+ }
+ }
+ else
+ {
+ throw LogManager.Log(new ArgumentNullException("Could not navigate to " + fullPath));
+ }
+ }
+
+ NavigationCycleCompleted?.Invoke(fromVM, _currentVM);
+ });
+ }
+
+ return true;
+ }
+
+ /// <summary>
+ /// Navigates for result.
+ /// </summary>
+ /// <typeparam name="TModule">The type of the module.</typeparam>
+ /// <typeparam name="TView">The type of the view.</typeparam>
+ /// <typeparam name="TResult">The type of the result.</typeparam>
+ /// <typeparam name="TObject">The type of the object.</typeparam>
+ /// <param name="obj">The object.</param>
+ /// <param name="pushToHistory">if set to <c>true</c> [push to history].</param>
+ /// <returns></returns>
+ public Task<TResult> NavigateForResult<TModule, TView, TResult, TObject>(TObject obj, bool pushToHistory = true)
+ where TModule : IStudioModule
+ {
+ TaskCompletionSource<TResult> source = new TaskCompletionSource<TResult>();
+
+ var fromVM = _currentVM;
+ Object toVM = null;
+
+
+ Action<Object, Object> handler = null;
+
+ handler = (from, to) =>
+ {
+ if (toVM == null)
+ {
+ toVM = to;
+ if (toVM is INavigationResultProvider<TResult, TObject>)
+ {
+ (toVM as INavigationResultProvider<TResult, TObject>).OnNavigationObjectReceived(obj);
+ }
+ }
+ else
+ {
+ if (to == fromVM && from == toVM)
+ {
+ if (from is INavigationResultProvider<TResult, TObject>)
+ {
+ source.SetResult((from as INavigationResultProvider<TResult, TObject>).GetNavigationResult());
+ }
+ }
+
+ NavigationCycleCompleted -= handler;
+ }
+ };
+
+ NavigationCycleCompleted += handler;
+
+ NavigateTo<TModule>(typeof(TView).Name, pushToHistory);
+
+ return source.Task;
+ }
+
+ /// <summary>
+ /// Navigates to the specified module and view with the specified object.
+ /// </summary>
+ /// <typeparam name="TModule">The type of the module.</typeparam>
+ /// <typeparam name="TView">The type of the view.</typeparam>
+ /// <typeparam name="TPass">The type of the pass.</typeparam>
+ /// <param name="obj">The object.</param>
+ /// <param name="pushToHistory">if set to <c>true</c> [push to history].</param>
+ /// <returns></returns>
+ public Task<bool> NavigateWithObject<TModule, TView, TPass>(TPass obj, bool pushToHistory = true) where TModule : IStudioModule
+ {
+ TaskCompletionSource<bool> source = new TaskCompletionSource<bool>();
+
+ Action<Object, Object> handler = null;
+
+ handler = (from, to) =>
+ {
+ if (to is INavigationObjectReceiver<TPass>)
+ {
+ (to as INavigationObjectReceiver<TPass>).OnNavigatedToWithObject(obj);
+ }
+
+ NavigationCycleCompleted -= handler;
+ };
+
+ NavigationCycleCompleted += handler;
+
+ NavigateTo<TModule>(typeof(TView).Name, pushToHistory);
+
+ return source.Task;
+ }
+
+ private Task<bool> NavigateTo(Type moduleType, bool pushToHistory = true, params String[] viewPath)
+ {
+ if (viewPath != null && viewPath.Length > 0)
+ {
+ return NavigateTo(moduleType.Name + "." + String.Join(".", viewPath), pushToHistory);
+ }
+ else
+ {
+ return NavigateTo(moduleType.Name, pushToHistory);
+ }
+ }
+
+ /// <summary>
+ /// Gets a value indicating whether the navigation system is able to navigate to the previous view.
+ /// </summary>
+ public bool CanNavigateBack
+ {
+ get { return _navigationHistory.Count > 0; }
+ }
+
+ /// <summary>
+ /// Navigates to the previous view if <see cref="P:Tango.PPC.Common.Navigation.INavigationManager.CanNavigateBack" /> is true.
+ /// </summary>
+ public async Task<bool> NavigateBack()
+ {
+ LogManager.Log("Navigating back...");
+
+ _navigating_back = true;
+
+ String first = _navigationHistory.Pop();
+ _preventHistory = true;
+
+
+ if (await NavigateTo(first))
+ {
+ RaisePropertyChanged(nameof(CanNavigateBack));
+ _preventHistory = false;
+ _navigating_back = false;
+ return true;
+ }
+ else
+ {
+ _navigationHistory.Push(first);
+ _preventHistory = false;
+ _navigating_back = false;
+ RaisePropertyChanged(nameof(CanNavigateBack));
+ return false;
+ }
+ }
+
+ /// <summary>
+ /// Clears the navigation back history.
+ /// </summary>
+ public void ClearHistory()
+ {
+ LogManager.Log("Navigation history cleared.");
+ _navigationHistory.Clear();
+ RaisePropertyChanged(nameof(CanNavigateBack));
+ }
+
+ /// <summary>
+ /// Clears the navigation back history except the specified view type.
+ /// </summary>
+ /// <typeparam name="T"></typeparam>
+ public void ClearHistoryExcept<T>()
+ {
+ LogManager.Log($"Navigation history cleared except for {typeof(T).Name}.");
+
+ var history_list = _navigationHistory.ToList();
+ history_list = history_list.Where(x => x.Contains(typeof(T).Name)).Distinct().ToList();
+ _navigationHistory.Clear();
+
+ foreach (var item in history_list)
+ {
+ _navigationHistory.Push(item);
+ }
+
+ RaisePropertyChanged(nameof(CanNavigateBack));
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs
index 358775686..2ba2c2d37 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Properties/AssemblyInfo.cs
@@ -4,5 +4,5 @@ using System.Runtime.InteropServices;
[assembly: System.Windows.ThemeInfo(System.Windows.ResourceDictionaryLocation.None, System.Windows.ResourceDictionaryLocation.SourceAssembly)]
[assembly: AssemblyTitle("Tango - Machine Studio")]
-[assembly: AssemblyVersion("2.9.23.18231")]
+[assembly: AssemblyVersion("3.1.32.18235")]
[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
index ee9337eb3..7c7e18276 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs
@@ -43,21 +43,10 @@ namespace Tango.MachineStudio.UI.StudioApplication
_navigationManager = navigationManager;
_openedWindows = new List<Window>();
- Task.Factory.StartNew(() =>
+ Application.Current.MainWindow.ContentRendered += (_, __) =>
{
- while (MainWindow.Instance == null)
- {
- Thread.Sleep(100);
- }
-
- InvokeUI(() =>
- {
- MainWindow.Instance.ContentRendered += (_, __) =>
- {
- TangoIOC.Default.GetAllInstancesByBase<IStudioViewModel>().ToList().ForEach(x => x.OnApplicationStarted());
- };
- });
- });
+ TangoIOC.Default.GetAllInstancesByBase<IStudioViewModel>().ToList().ForEach(x => x.OnApplicationStarted());
+ };
}
/// <summary>
@@ -237,31 +226,6 @@ namespace Tango.MachineStudio.UI.StudioApplication
}
/// <summary>
- /// Loads the specified module if permitted.
- /// </summary>
- /// <param name="moduleName">Name of the module.</param>
- /// <param name="args">The arguments.</param>
- public void RequestModule(string moduleName, params object[] args)
- {
- IStudioModule module = _moduleLoader.UserModules.SingleOrDefault(x => x.Name == moduleName);
-
- if (module != null)
- {
- TangoIOC.Default.GetInstance<ViewModels.MainViewVM>().StartModule(module);
-
- //Notify request listeners.
- foreach (var vm in TangoIOC.Default.GetAllInstancesByBase<IStudioViewModel>())
- {
- vm.OnModuleRequest(module, args);
- }
- }
- else
- {
- throw new InvalidOperationException("The module was not found or you do not have sufficient privileges.");
- }
- }
-
- /// <summary>
/// Notify the application manager about an external opened window.
/// When application exists. All registered windows will be closed.
/// </summary>
@@ -305,5 +269,10 @@ namespace Tango.MachineStudio.UI.StudioApplication
return EmbeddedResourceHelper.GetEmbeddedResourceText("Tango.MachineStudio.UI.ChangeLog.txt");
}
}
+
+ public void NotifyApplicationReady()
+ {
+ TangoIOC.Default.GetAllInstancesByBase<IStudioViewModel>().ToList().ForEach(x => x.OnApplicationReady());
+ }
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj
index 724f83680..2ac516903 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj
@@ -8,7 +8,7 @@
<OutputType>WinExe</OutputType>
<RootNamespace>Tango.MachineStudio.UI</RootNamespace>
<AssemblyName>Tango.MachineStudio.UI</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>
@@ -168,6 +168,7 @@
<Compile Include="TFS\TeamFoundationServiceExtendedClient.cs" />
<Compile Include="TFS\TeamMembersProvider.cs" />
<Compile Include="TFS\WorkItemValidationAttribute.cs" />
+ <Compile Include="Threading\DefaultDispatcherProvider.cs" />
<Compile Include="ViewModels\AboutViewVM.cs" />
<Compile Include="ViewModels\ConnectedMachineViewVM.cs" />
<Compile Include="ViewModels\LoadingViewVM.cs" />
@@ -432,10 +433,6 @@
<Project>{22c2aa72-9493-4d0d-b421-8ef9789fb192}</Project>
<Name>Tango.MachineStudio.Stubs</Name>
</ProjectReference>
- <ProjectReference Include="..\Modules\Tango.MachineStudio.Synchronization\Tango.MachineStudio.Synchronization.csproj">
- <Project>{12d0c43c-391f-4c74-92ab-82e9a9beeb9b}</Project>
- <Name>Tango.MachineStudio.Synchronization</Name>
- </ProjectReference>
<ProjectReference Include="..\Modules\Tango.MachineStudio.Technician\Tango.MachineStudio.Technician.csproj">
<Project>{5d39c1e1-3ecd-4634-bd1b-2bcf71c54a15}</Project>
<Name>Tango.MachineStudio.Technician</Name>
@@ -566,7 +563,8 @@ copy /Y "$(SolutionDir)Referenced Assemblies\mscoree.dll" "$(TargetDir)"
copy /Y "$(SolutionDir)Referenced Assemblies\msvcp140d.dll" "$(TargetDir)"
copy /Y "$(SolutionDir)Referenced Assemblies\ucrtbased.dll" "$(TargetDir)"
copy /Y "$(SolutionDir)Referenced Assemblies\vcruntime140.dll" "$(TargetDir)"
-copy /Y "$(SolutionDir)Referenced Assemblies\vcruntime140d.dll" "$(TargetDir)"</PostBuildEvent>
+copy /Y "$(SolutionDir)Referenced Assemblies\vcruntime140d.dll" "$(TargetDir)"
+copy /Y "$(SolutionDir)Referenced Assemblies\Microsoft.WITDataStore32.dll" "$(TargetDir)"</PostBuildEvent>
</PropertyGroup>
<Import Project="..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\..\packages\System.Data.SQLite.Core.1.0.108.0\build\net46\System.Data.SQLite.Core.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Threading/DefaultDispatcherProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Threading/DefaultDispatcherProvider.cs
new file mode 100644
index 000000000..611dca6b9
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Threading/DefaultDispatcherProvider.cs
@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Threading;
+using Tango.MachineStudio.Common.Threading;
+
+namespace Tango.MachineStudio.UI.Threading
+{
+ /// <summary>
+ /// Represents the default PPC <see cref="IDispatcherProvider"/> which will invoke action on the current application dispatcher.
+ /// </summary>
+ /// <seealso cref="Tango.PPC.Common.Threading.IDispatcherProvider" />
+ public class DefaultDispatcherProvider : IDispatcherProvider
+ {
+ private Dispatcher _dispatcher;
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="DefaultDispatcherProvider"/> class.
+ /// </summary>
+ /// <param name="dispatcher">The dispatcher.</param>
+ public DefaultDispatcherProvider(Dispatcher dispatcher)
+ {
+ _dispatcher = dispatcher;
+ }
+
+ /// <summary>
+ /// Invokes the specified action asynchronously.
+ /// </summary>
+ /// <param name="action">The action.</param>
+ public void Invoke(Action action)
+ {
+ _dispatcher.BeginInvoke(action);
+ }
+
+ /// <summary>
+ /// Invokes the specified action synchronously.
+ /// </summary>
+ /// <param name="action">The action.</param>
+ public void InvokeSync(Action action)
+ {
+ _dispatcher.Invoke(action);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
index 2c816eb6c..10aa86ad1 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
@@ -1,4 +1,5 @@
using System;
+using System.Windows;
using Tango.Core.DI;
using Tango.Integration.ExternalBridge;
using Tango.Logging;
@@ -11,6 +12,7 @@ using Tango.MachineStudio.Common.Navigation;
using Tango.MachineStudio.Common.Notifications;
using Tango.MachineStudio.Common.Speech;
using Tango.MachineStudio.Common.StudioApplication;
+using Tango.MachineStudio.Common.Threading;
using Tango.MachineStudio.Common.Video;
using Tango.MachineStudio.UI.Authentication;
using Tango.MachineStudio.UI.Console;
@@ -21,6 +23,7 @@ using Tango.MachineStudio.UI.Notifications;
using Tango.MachineStudio.UI.StudioApplication;
using Tango.MachineStudio.UI.SupervisingController;
using Tango.MachineStudio.UI.TFS;
+using Tango.MachineStudio.UI.Threading;
using Tango.MachineStudio.UI.ViewModels;
using Tango.MachineStudio.UI.Views;
using Tango.Settings;
@@ -64,7 +67,10 @@ namespace Tango.MachineStudio.UI
TangoIOC.Default.Unregister<ISpeechProvider>();
TangoIOC.Default.Unregister<IHtmlPresenter>();
TangoIOC.Default.Unregister<ITeamFoundationServiceClient>();
+ TangoIOC.Default.Unregister<IDispatcherProvider>();
+
+ TangoIOC.Default.Register<IDispatcherProvider, DefaultDispatcherProvider>(new DefaultDispatcherProvider(Application.Current.Dispatcher));
TangoIOC.Default.Register<INotificationProvider, DefaultNotificationProvider>();
TangoIOC.Default.Register<IAuthenticationProvider, DefaultAuthenticationProvider>();
TangoIOC.Default.Register<INavigationManager, DefaultNavigationManager>();
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
index a468dc2e7..215f7afb5 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs
@@ -28,7 +28,7 @@ namespace Tango.MachineStudio.UI.ViewModels
/// Represents the Machine Studio loading view, view model.
/// </summary>
/// <seealso cref="Tango.SharedUI.ViewModel" />
- public class LoadingViewVM : StudioViewModelInternal
+ public class LoadingViewVM : StudioViewModel
{
private INotificationProvider _notificationProvider;
private TeamFoundationServiceExtendedClient _tfs;
@@ -141,7 +141,7 @@ namespace Tango.MachineStudio.UI.ViewModels
Status = "Loading, please wait...";
- ObservablesEntitiesAdapter.Instance.Initialize();
+ ObservablesStaticCollections.Instance.Initialize();
_eventLogger.Log(EventTypes.ApplicationStarted, "Application Started!");
@@ -172,5 +172,10 @@ namespace Tango.MachineStudio.UI.ViewModels
}
});
}
+
+ public override void OnApplicationReady()
+ {
+
+ }
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
index f2a4f1143..a37879a5e 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs
@@ -51,6 +51,15 @@ namespace Tango.MachineStudio.UI.ViewModels
set { _password = value; RaisePropertyChangedAuto(); }
}
+ private bool _isLogging;
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is logging.
+ /// </summary>
+ public bool IsLogging
+ {
+ get { return _isLogging; }
+ set { _isLogging = value; RaisePropertyChangedAuto(); }
+ }
private bool _rememberMe;
/// <summary>
@@ -81,7 +90,7 @@ namespace Tango.MachineStudio.UI.ViewModels
_navigationManager = navigationManager;
_authenticationProvider = authenticationProvider;
_eventLogger = eventLogger;
- LoginCommand = new RelayCommand(Login);
+ LoginCommand = new RelayCommand(Login,() => !IsLogging);
cryptographer = new Rfc2898Cryptographer();
Email = _settings.LastLoginEmail;
@@ -100,26 +109,38 @@ namespace Tango.MachineStudio.UI.ViewModels
/// <summary>
/// Logins the requested user.
/// </summary>
- private void Login()
+ private async void Login()
{
if (Validate())
{
try
{
- _authenticationProvider.Login(Email, Password);
- _navigationManager.NavigateTo(NavigationView.MainView);
- _settings.LastLoginEmail = Email;
- _settings.RememberMe = RememberMe;
+ IsLogging = true;
+ InvalidateRelayCommands();
- _settings.LastLoginPassword = RememberMe ? cryptographer.Encrypt(Password) : null;
- _settings.Save();
+ await Task.Factory.StartNew(() =>
+ {
+ _authenticationProvider.Login(Email, Password);
+ _navigationManager.NavigateTo(NavigationView.MainView);
+ _settings.LastLoginEmail = Email;
+ _settings.RememberMe = RememberMe;
- _eventLogger.Log("User logged in");
+ _settings.LastLoginPassword = RememberMe ? cryptographer.Encrypt(Password) : null;
+ _settings.Save();
+
+ _eventLogger.Log("User logged in");
+ });
}
- catch
+ catch (Exception)
{
+
_notificationProvider.ShowError("Invalid credentials. Please try again.");
}
+ finally
+ {
+ IsLogging = false;
+ InvalidateRelayCommands();
+ }
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineSerialViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineSerialViewVM.cs
index 44cfc6788..db32fe623 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineSerialViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineSerialViewVM.cs
@@ -29,7 +29,7 @@ namespace Tango.MachineStudio.UI.ViewModels
var settings = SettingsManager.Default.GetOrCreate<MachineStudioSettings>();
- SelectedMachine = ObservablesEntitiesAdapter.Instance.Machines.SingleOrDefault(x => x.SerialNumber == settings.LastVirtualMachineSerialNumber);
+ SelectedMachine = ObservablesStaticCollections.Instance.Machines.SingleOrDefault(x => x.SerialNumber == settings.LastVirtualMachineSerialNumber);
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
index f8320e1f2..ee4435832 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
@@ -10,6 +10,7 @@ using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
+using Tango.BL;
using Tango.BL.Entities;
using Tango.Core.Commands;
using Tango.Core.DI;
@@ -515,8 +516,14 @@ namespace Tango.MachineStudio.UI.ViewModels
catch (Exception ex)
{
LogManager.Log(ex);
- _eventLogger.Log(ex, "Error connecting to machine " + x.SelectedMachine.SerialNumber);
+
+ if (x.SelectedMachine != null)
+ {
+ _eventLogger.Log(ex, "Error connecting to machine " + x.SelectedMachine.SerialNumber);
+ }
+
_notificationProvider.ShowError("Could not connect to the selected machine." + Environment.NewLine + ex.Message);
+
}
InvalidateRelayCommands();
@@ -547,8 +554,13 @@ namespace Tango.MachineStudio.UI.ViewModels
{
try
{
- var configuration = ApplicationManager.ConnectedMachine.Machine.Configuration;
- await ApplicationManager.ConnectedMachine.UploadHardwareConfiguration(configuration.HardwareVersion, configuration);
+ using (ObservablesContext db = ObservablesContext.CreateDefault())
+ {
+ var config = db.Adapter.GetConfiguration(s => s.Guid == ApplicationManager.ConnectedMachine.Machine.ConfigurationGuid);
+ var hw = db.Adapter.GetHardwareVersionByMachine(ApplicationManager.ConnectedMachine.Machine.Guid);
+
+ await ApplicationManager.ConnectedMachine.UploadHardwareConfiguration(hw, config);
+ }
NotificationProvider.ShowInfo("Hardware configuration uploaded successfully.");
}
catch (Exception ex)
@@ -623,20 +635,19 @@ namespace Tango.MachineStudio.UI.ViewModels
{
LogManager.Log(String.Format("Starting module '{0}'...", module.Name));
- if (!(MainView.Self as MainView).TransitionControl.Elements.ToList().Exists(x => x.GetType() == module.MainViewType))
+ if (!(MainView.Self as MainView).NavigationControl.Elements.ToList().Exists(x => x.GetType() == module.MainViewType))
{
LogManager.Log("Module was not initialized. Initializing...");
FrameworkElement view = Activator.CreateInstance(module.MainViewType) as FrameworkElement;
NavigationControl.SetNavigationName(view, module.Name);
- (MainView.Self as MainView).TransitionControl.Elements.Add(view);
+ (MainView.Self as MainView).NavigationControl.Elements.Add(view);
}
}
foreach (var m in StudioModuleLoader.AllModules.Where(x => x != module && !x.InNewWindow))
{
m.IsLoaded = false;
- TangoIOC.Default.GetModuleViewModels(m).ToList().ForEach(x => x.OnNavigatedFrom());
}
if (module != null)
@@ -646,15 +657,13 @@ namespace Tango.MachineStudio.UI.ViewModels
IsModuleLoaded = true;
LogManager.Log(String.Format("Navigating to module '{0}'...", module.Name));
- (MainView.Self as MainView).TransitionControl.NavigateTo(module.Name);
-
- TangoIOC.Default.GetModuleViewModels(module).ToList().ForEach(x => x.OnNavigatedTo());
+ (MainView.Self as MainView).NavigationControl.NavigateTo(module.Name);
}
else
{
IsModuleLoaded = false;
LogManager.Log(String.Format("Navigating to Home..."));
- (MainView.Self as MainView).TransitionControl.NavigateTo("Home");
+ (MainView.Self as MainView).NavigationControl.NavigateTo("Home");
}
}
@@ -674,16 +683,16 @@ namespace Tango.MachineStudio.UI.ViewModels
LogManager.Log(String.Format("Starting module '{0}' in new window...", module.Name));
- if (!(MainView.Self as MainView).TransitionControl.Elements.ToList().Exists(x => x.GetType() == module.MainViewType))
+ if (!(MainView.Self as MainView).NavigationControl.Elements.ToList().Exists(x => x.GetType() == module.MainViewType))
{
LogManager.Log("Module was not initialized. Initializing...");
FrameworkElement v = Activator.CreateInstance(module.MainViewType) as FrameworkElement;
NavigationControl.SetNavigationName(v, module.Name);
- (MainView.Self as MainView).TransitionControl.Elements.Add(v);
+ (MainView.Self as MainView).NavigationControl.Elements.Add(v);
}
LogManager.Log("Detaching module view...");
- var view = (MainView.Self as MainView).TransitionControl.GetAndDetach(module.Name);
+ var view = (MainView.Self as MainView).NavigationControl.GetAndDetach(module.Name);
ModuleWindowVM vm = new ModuleWindowVM(module);
ModuleWindow window = new ModuleWindow(this, vm, view);
@@ -694,7 +703,6 @@ namespace Tango.MachineStudio.UI.ViewModels
window.grid.Children.Remove(view);
module.InNewWindow = false;
- TangoIOC.Default.GetModuleViewModels(module).ToList().ForEach(v => v.OnNavigatedFrom());
};
window.Owner = MainWindow.Instance;
@@ -702,8 +710,6 @@ namespace Tango.MachineStudio.UI.ViewModels
LogManager.Log("Opening new window...");
window.Show();
- TangoIOC.Default.GetModuleViewModels(module).ToList().ForEach(x => x.OnNavigatedTo());
-
(_applicationManager as DefaultStudioApplicationManager).RegisterOpenedWindow(window);
}
catch (Exception ex)
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/UpdateViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/UpdateViewVM.cs
index f2550c598..c5831f701 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/UpdateViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/UpdateViewVM.cs
@@ -319,9 +319,9 @@ namespace Tango.MachineStudio.UI.ViewModels
try
{
Process p = new Process();
- p.StartInfo.FileName = _appPath + "\\Tango.MachineStudio.Updater.exe";
+ p.StartInfo.FileName = _newPackageTempFolder + "\\Tango.MachineStudio.Updater.exe";
p.StartInfo.UseShellExecute = true;
- p.StartInfo.Arguments = _newPackageTempFolder;
+ p.StartInfo.Arguments = _appPath;
p.Start();
}
catch (Exception ex)
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoginView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoginView.xaml
index 08e1006c1..68334ad24 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoginView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoginView.xaml
@@ -5,7 +5,9 @@
xmlns:rules="clr-namespace:Tango.MachineStudio.Common.ValidationRules;assembly=Tango.MachineStudio.Common"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
+ xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:automation="clr-namespace:Tango.MachineStudio.Common.Automation;assembly=Tango.MachineStudio.Common"
+ xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
xmlns:helpers="clr-namespace:Tango.SharedUI.Helpers;assembly=Tango.SharedUI"
xmlns:local="clr-namespace:Tango.MachineStudio.UI.Views"
mc:Ignorable="d"
@@ -13,6 +15,8 @@
<UserControl.Resources>
<rules:Required x:Key="Required"></rules:Required>
+ <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter"/>
+ <converters:BooleanToVisibilityInverseConverter x:Key="BooleanToVisibilityInverseConverter" />
</UserControl.Resources>
@@ -24,21 +28,30 @@
<Image Source="/Images/machine-trans.png" RenderOptions.BitmapScalingMode="Fant" Width="100"></Image>
<TextBlock Margin="20 0 0 0" VerticalAlignment="Center" FontSize="70" Foreground="{StaticResource AccentColorBrush}">Machine Studio</TextBlock>
</StackPanel>
- <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Width="320" Margin="0 120 0 0">
- <TextBlock HorizontalAlignment="Center" FontSize="24">Login to your account</TextBlock>
- <Image Source="/Images/account.png" RenderOptions.BitmapScalingMode="Fant" Width="100" Margin="0 20 0 0"></Image>
- <DockPanel Margin="0 20 0 0">
- <materialDesign:PackIcon Margin="0 0 0 0" Width="20" Height="20" VerticalAlignment="Top" Foreground="{Binding ElementName=txtEmail, Path=BorderBrush}" Kind="EmailOutline" />
- <TextBox x:Name="txtEmail" IsTabStop="True" Margin="5 0 0 0" materialDesign:HintAssist.FloatingScale="0.50" materialDesign:HintAssist.Hint="Email" materialDesign:TextFieldAssist.TextBoxViewMargin="1 0 1 0" FontSize="20" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Text="{Binding Email,UpdateSourceTrigger=PropertyChanged,ValidatesOnNotifyDataErrors=True}" AutomationProperties.IsRequiredForForm="True" />
- </DockPanel>
- <DockPanel Margin="0 20 0 0">
- <materialDesign:PackIcon Margin="0 0 0 0" Width="20" Height="20" VerticalAlignment="Top" Foreground="{Binding ElementName=txtPass, Path=BorderBrush}" Kind="Key" />
- <PasswordBox x:Name="txtPass" helpers:PasswordHelper.Attach="True" helpers:PasswordHelper.Password="{Binding Password,Mode=TwoWay}" Margin="5 0 0 0" materialDesign:HintAssist.FloatingScale="0.50" materialDesign:HintAssist.Hint="Password" materialDesign:TextFieldAssist.TextBoxViewMargin="1 0 1 0" FontSize="20" Style="{StaticResource MaterialDesignFloatingHintPasswordBox}" AutomationProperties.IsRequiredForForm="True" />
- </DockPanel>
- <CheckBox Margin="25 20 0 0" IsChecked="{Binding RememberMe}">Remember me</CheckBox>
- <Button AutomationProperties.AutomationId="{x:Static automation:UI.LoginButton}" Margin="25 20 0 0" Height="50" Command="{Binding LoginCommand}" Content="LOGIN">
+ <DockPanel HorizontalAlignment="Center" VerticalAlignment="Center" Width="320" Margin="0 120 0 0" Height="398">
- </Button>
- </StackPanel>
+ <Button DockPanel.Dock="Bottom" AutomationProperties.AutomationId="{x:Static automation:UI.LoginButton}" Margin="25 20 0 0" Height="50" Command="{Binding LoginCommand}" Content="LOGIN"></Button>
+
+ <Grid>
+ <StackPanel Visibility="{Binding IsLogging,Converter={StaticResource BooleanToVisibilityInverseConverter}}">
+ <TextBlock HorizontalAlignment="Center" FontSize="24">Login to your account</TextBlock>
+ <Image Source="/Images/account.png" RenderOptions.BitmapScalingMode="Fant" Width="100" Margin="0 20 0 0"></Image>
+ <DockPanel Margin="0 20 0 0">
+ <materialDesign:PackIcon Margin="0 0 0 0" Width="20" Height="20" VerticalAlignment="Top" Foreground="{Binding ElementName=txtEmail, Path=BorderBrush}" Kind="EmailOutline" />
+ <TextBox x:Name="txtEmail" IsTabStop="True" Margin="5 0 0 0" materialDesign:HintAssist.FloatingScale="0.50" materialDesign:HintAssist.Hint="Email" materialDesign:TextFieldAssist.TextBoxViewMargin="1 0 1 0" FontSize="20" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Text="{Binding Email,UpdateSourceTrigger=PropertyChanged,ValidatesOnNotifyDataErrors=True}" AutomationProperties.IsRequiredForForm="True" />
+ </DockPanel>
+ <DockPanel Margin="0 20 0 0">
+ <materialDesign:PackIcon Margin="0 0 0 0" Width="20" Height="20" VerticalAlignment="Top" Foreground="{Binding ElementName=txtPass, Path=BorderBrush}" Kind="Key" />
+ <PasswordBox x:Name="txtPass" helpers:PasswordHelper.Attach="True" helpers:PasswordHelper.Password="{Binding Password,Mode=TwoWay}" Margin="5 0 0 0" materialDesign:HintAssist.FloatingScale="0.50" materialDesign:HintAssist.Hint="Password" materialDesign:TextFieldAssist.TextBoxViewMargin="1 0 1 0" FontSize="20" Style="{StaticResource MaterialDesignFloatingHintPasswordBox}" AutomationProperties.IsRequiredForForm="True" />
+ </DockPanel>
+ <CheckBox Margin="25 20 0 0" IsChecked="{Binding RememberMe}">Remember me</CheckBox>
+ </StackPanel>
+
+ <StackPanel Visibility="{Binding IsLogging,Converter={StaticResource BooleanToVisibilityConverter}}" VerticalAlignment="Center">
+ <mahapps:ProgressRing Width="80" Height="80" IsActive="{Binding IsLogging}"></mahapps:ProgressRing>
+ <TextBlock HorizontalAlignment="Center" Margin="0 30 0 0" FontSize="18" FontStyle="Italic">Logging you in...</TextBlock>
+ </StackPanel>
+ </Grid>
+ </DockPanel>
</Grid>
</UserControl>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml
index 7044ad32e..9a494f862 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml
@@ -12,7 +12,6 @@
xmlns:entities="clr-namespace:Tango.BL.Entities;assembly=Tango.BL"
xmlns:enumerations="clr-namespace:Tango.BL.Enumerations;assembly=Tango.BL"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
- xmlns:db="clr-namespace:Tango.MachineStudio.DB.Views;assembly=Tango.MachineStudio.DB"
xmlns:local="clr-namespace:Tango.MachineStudio.UI.Views"
xmlns:commonConverters="clr-namespace:Tango.MachineStudio.Common.Converters;assembly=Tango.MachineStudio.Common"
mc:Ignorable="d"
@@ -398,7 +397,7 @@
</Grid.RowDefinitions>
<Grid Grid.Row="1">
- <controls:NavigationControl x:Name="TransitionControl" TransitionAlwaysFades="True" TransitionType="Zoom">
+ <controls:NavigationControl x:Name="NavigationControl" TransitionAlwaysFades="True" TransitionType="Zoom">
<Grid controls:NavigationControl.NavigationName="Home">
<Grid.RowDefinitions>
<RowDefinition Height="150"/>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml.cs
index 1e894f3f2..ca8d7066c 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml.cs
@@ -27,6 +27,7 @@ using Tango.SharedUI.Helpers;
using Tango.Logging;
using static Tango.SharedUI.Controls.NavigationControl;
using Tango.Core.DI;
+using Tango.MachineStudio.Common.StudioApplication;
namespace Tango.MachineStudio.UI.Views
{
@@ -37,10 +38,14 @@ namespace Tango.MachineStudio.UI.Views
{
private DefaultStudioModuleLoader _loader;
+ public static MainView Instance { get; set; }
+
public MainView() : base()
{
InitializeComponent();
+ Instance = this;
+
_loader = TangoIOC.Default.GetInstance<IStudioModuleLoader>() as DefaultStudioModuleLoader;
_loader.ModulesLoaded += Loader_ModulesLoaded;
}
@@ -68,11 +73,11 @@ namespace Tango.MachineStudio.UI.Views
ThreadsHelper.InvokeUI(() =>
{
- if (!TransitionControl.Elements.ToList().Exists(x => x.GetType() == module.MainViewType))
+ if (!NavigationControl.Elements.ToList().Exists(x => x.GetType() == module.MainViewType))
{
FrameworkElement view = Activator.CreateInstance(module.MainViewType) as FrameworkElement;
NavigationControl.SetNavigationName(view, module.Name);
- TransitionControl.Elements.Add(view);
+ NavigationControl.Elements.Add(view);
}
_loader.UserModules.Add(module);
@@ -84,6 +89,11 @@ namespace Tango.MachineStudio.UI.Views
}
item.Pop();
+
+ ThreadsHelper.InvokeUI(() =>
+ {
+ TangoIOC.Default.GetInstance<IStudioApplicationManager>().NotifyApplicationReady();
+ });
});
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ResolvedIssuesView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ResolvedIssuesView.xaml
index 3b5affbbf..97c42d58d 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ResolvedIssuesView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ResolvedIssuesView.xaml
@@ -41,15 +41,7 @@
<DataTemplate>
<Border BorderBrush="#E6E6E6" BorderThickness="0 0 0 1" Padding="5">
<DockPanel>
- <StackPanel Orientation="Horizontal">
- <Image Source="/Images/bug.png" Width="24" RenderOptions.BitmapScalingMode="Fant"></Image>
- <StackPanel Margin="5 0 0 0">
- <TextBlock Text="{Binding Title}" FontWeight="SemiBold" TextTrimming="CharacterEllipsis"></TextBlock>
- <TextBlock Text="{Binding Comment,TargetNullValue='Comment',FallbackValue='Comment'}" Foreground="Gray" FontSize="10"></TextBlock>
- </StackPanel>
- </StackPanel>
-
- <StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
+ <StackPanel DockPanel.Dock="Right" HorizontalAlignment="Right" Orientation="Horizontal">
<Button Background="#FF8282" BorderBrush="#FF8282" Padding="0" Width="90" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.DeclineCommand}" CommandParameter="{Binding}">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon VerticalAlignment="Center" Kind="Close" />
@@ -63,6 +55,14 @@
</StackPanel>
</Button>
</StackPanel>
+
+ <StackPanel Orientation="Horizontal" Margin="0 0 10 0" Width="320" HorizontalAlignment="Left">
+ <Image Source="/Images/bug.png" Width="24" RenderOptions.BitmapScalingMode="Fant"></Image>
+ <StackPanel Margin="5 0 0 0" ToolTip="{Binding Comment}">
+ <TextBlock Text="{Binding Title}" FontWeight="SemiBold" TextTrimming="CharacterEllipsis"></TextBlock>
+ <TextBlock Text="{Binding Comment,TargetNullValue='Comment',FallbackValue='Comment'}" TextWrapping="Wrap" Foreground="Gray" FontSize="10"></TextBlock>
+ </StackPanel>
+ </StackPanel>
</DockPanel>
</Border>
</DataTemplate>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/Tango.MachineStudio.UpdateService.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/Tango.MachineStudio.UpdateService.csproj
index 8e9d60541..b2200895c 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/Tango.MachineStudio.UpdateService.csproj
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/Tango.MachineStudio.UpdateService.csproj
@@ -12,7 +12,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Tango.MachineStudio.UpdateService</RootNamespace>
<AssemblyName>Tango.MachineStudio.UpdateService</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<WcfConfigValidationEnabled>True</WcfConfigValidationEnabled>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<UseIISExpress>true</UseIISExpress>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/Web.config b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/Web.config
index 6fd5e637f..32a2460df 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/Web.config
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/Web.config
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
@@ -27,8 +27,7 @@
</bindings>
<services>
<service name="Tango.MachineStudio.UpdateService.MachineStudioUpdateService">
- <endpoint address="" binding="basicHttpBinding" bindingConfiguration="LongTimeoutHttpBinding"
- name="" contract="Tango.MachineStudio.Common.Update.IMachineStudioUpdateService" />
+ <endpoint address="" binding="basicHttpBinding" bindingConfiguration="LongTimeoutHttpBinding" name="" contract="Tango.MachineStudio.Common.Update.IMachineStudioUpdateService" />
</service>
</services>
<behaviors>
@@ -106,6 +105,10 @@
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" />
+ </dependentAssembly>
</assemblyBinding>
</runtime>
</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/MainWindow.xaml.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/MainWindow.xaml.cs
index a0c6928d2..759f5d8d1 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/MainWindow.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/MainWindow.xaml.cs
@@ -23,13 +23,13 @@ namespace Tango.MachineStudio.Updater
/// </summary>
public partial class MainWindow : Window
{
- private String _appPath = AppDomain.CurrentDomain.BaseDirectory;
+ private String _sourceFolder = AppDomain.CurrentDomain.BaseDirectory;
private String _msProcessName = "Tango.MachineStudio.UI";
- private String _sourceFolder = App.StartupArgs.FirstOrDefault();
+ private String _appPath = String.Join(" ", App.StartupArgs);
public MainWindow()
{
- if (!Directory.Exists(_sourceFolder))
+ if (!Directory.Exists(_appPath))
{
ShowError("This update utility can only be executed by Machine Studio.");
Environment.Exit(0);
@@ -47,6 +47,7 @@ namespace Tango.MachineStudio.Updater
private void Update()
{
EnsureMachineStudioIsDown();
+ RemoveOldDLLFiles();
ReplaceFiles();
StartMachineStudio();
Environment.Exit(0);
@@ -65,6 +66,23 @@ namespace Tango.MachineStudio.Updater
p.Start();
}
+ private void RemoveOldDLLFiles()
+ {
+ foreach (string dll in Directory.GetFiles(_appPath, "*.dll"))
+ {
+ try
+ {
+ File.Delete(dll);
+ }
+ catch
+ {
+ ShowError($"The file '{Path.GetFileName(dll)}' could not be removed. Please close all instances of Machine Studio and press OK.");
+ RemoveOldDLLFiles();
+ return;
+ }
+ }
+ }
+
private void ReplaceFiles()
{
int maxProgress = Directory.GetFiles(_sourceFolder, "*.*", SearchOption.AllDirectories).Length;
@@ -116,11 +134,23 @@ namespace Tango.MachineStudio.Updater
do
{
appProcess = Process.GetProcessesByName(_msProcessName).FirstOrDefault();
+ Process p = new Process();
+ p.StartInfo.CreateNoWindow = true;
+ p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
+ p.StartInfo.FileName = "wmic";
+ p.StartInfo.Arguments = String.Format("process where name='{0}' delete", _msProcessName);
if (appProcess != null)
{
tries++;
appProcess.Kill();
+
+ try
+ {
+ p.Start();
+ }
+ catch { }
+
Thread.Sleep(1000);
}
@@ -133,9 +163,6 @@ namespace Tango.MachineStudio.Updater
} while (appProcess != null);
}
- /// <summary>
- /// Forces UI rendering.
- /// </summary>
private void DoEvents()
{
Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(delegate { }));
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/Properties/AssemblyInfo.cs
index e9a89a0ee..10e0e252e 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/Properties/AssemblyInfo.cs
@@ -5,7 +5,7 @@ using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("Tango - Machine Studio Updater Utility")]
-[assembly: AssemblyVersion("2.0.7.1633")]
+[assembly: AssemblyVersion("2.0.8.1159")]
[assembly: ComVisible(false)]
[assembly:ThemeInfo(
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/Tango.MachineStudio.Updater.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/Tango.MachineStudio.Updater.csproj
index db6fcb52f..241085122 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/Tango.MachineStudio.Updater.csproj
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Updater/Tango.MachineStudio.Updater.csproj
@@ -8,7 +8,7 @@
<OutputType>WinExe</OutputType>
<RootNamespace>Tango.MachineStudio.Updater</RootNamespace>
<AssemblyName>Tango.MachineStudio.Updater</AssemblyName>
- <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<WarningLevel>4</WarningLevel>