aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-08-09 13:52:40 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-08-09 13:52:40 +0300
commitb2db361984b7f6833d24eb4c574ec3513d8b7633 (patch)
tree1696a76a81582ab43cae0e01c01c3ff1c2d799e1 /Software/Visual_Studio
parenta5f9c99d51f7e096ff612da6605ab4d4f5067009 (diff)
downloadTango-b2db361984b7f6833d24eb4c574ec3513d8b7633.tar.gz
Tango-b2db361984b7f6833d24eb4c574ec3513d8b7633.zip
Removed APPLICATION_VERSIONS & EMBEDDED_SOFTWARE_VERSIONS TABLES.
Added TANGO_VERSIONS. Working on PPC machine setup.
Diffstat (limited to 'Software/Visual_Studio')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Tango.MachineStudio.DB.csproj32
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModelLocator.cs18
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ApplicationVersionsViewVM.cs17
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/EmbeddedSoftwareVersionsViewVM.cs17
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionView.xaml25
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionsView.xaml23
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionsView.xaml.cs32
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionView.xaml25
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionView.xaml.cs28
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionsView.xaml23
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionsView.xaml.cs32
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs38
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml85
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml.cs12
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs41
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/PPCSettings.cs7
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj7
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Update/IPPCUpdateService.cs23
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Update/LatestVersionResponse.cs16
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UpdateServiceHelper.cs29
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UploadCompletedRequest.cs16
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UploadVersionRequest.cs28
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UploadVersionResponse.cs28
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher/App.config6
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher/App.xaml9
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher/App.xaml.cs17
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher/MainWindow.xaml12
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher/MainWindow.xaml.cs (renamed from Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionView.xaml.cs)8
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher/MainWindowVM.cs12
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/AssemblyInfo.cs23
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Resources.Designer.cs71
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Resources.resx117
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Settings.Designer.cs30
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Settings.settings7
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher/Tango.PPC.Publisher.csproj101
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UpdateService/PPCUpdateService.svc1
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UpdateService/PPCUpdateService.svc.cs171
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Properties/AssemblyInfo.cs36
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Tango.PPC.UpdateService.csproj142
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Web.Debug.config30
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Web.Release.config31
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Web.config111
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UpdateService/packages.config4
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/Configuration.cs90
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/EmbeddedSoftwareVersion.cs145
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/MachineVersion.cs22
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/TangoVersion.cs (renamed from Software/Visual_Studio/Tango.BL/Entities/ApplicationVersion.cs)103
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/User.cs22
-rw-r--r--Software/Visual_Studio/Tango.BL/ObservablesContext.cs24
-rw-r--r--Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapter.cs4
-rw-r--r--Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs114
-rw-r--r--Software/Visual_Studio/Tango.BL/Tango.BL.csproj5
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/CONFIGURATION.cs4
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/EMBEDDED_SOFTWARE_VERSIONS.cs34
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINE_VERSIONS.cs3
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs3
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx262
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram153
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/TANGO_VERSIONS.cs (renamed from Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_VERSIONS.cs)15
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/USER.cs3
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj11
-rw-r--r--Software/Visual_Studio/Tango.PMR/Synchronization/MachineSetupResponse.cs156
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationBuilder.cs6
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceConfiguration.cs18
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceConfigurationRunner.cs75
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceDataSource.cs17
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceItem.cs30
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceItemDirection.cs14
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceItemType.cs14
-rw-r--r--Software/Visual_Studio/Tango.SQLExaminer/Tango.SQLExaminer.csproj6
-rw-r--r--Software/Visual_Studio/Tango.UnitTesting/Synchronization_TST.cs2
-rw-r--r--Software/Visual_Studio/Tango.sln98
-rw-r--r--Software/Visual_Studio/Web/Tango.MachineService/Controllers/SynchronizationController.cs13
73 files changed, 1796 insertions, 1211 deletions
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 8cf8c592d..7a905fa24 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
@@ -91,7 +91,6 @@
<Compile Include="ViewModels\ApplicationDisplayPanelVersionsViewVM.cs" />
<Compile Include="ViewModels\ApplicationFirmwareVersionsViewVM.cs" />
<Compile Include="ViewModels\ApplicationOsVersionsViewVM.cs" />
- <Compile Include="ViewModels\ApplicationVersionsViewVM.cs" />
<Compile Include="ViewModels\CartridgeTypesViewVM.cs" />
<Compile Include="ViewModels\CatsViewVM.cs" />
<Compile Include="ViewModels\CctsViewVM.cs" />
@@ -103,7 +102,6 @@
<Compile Include="ViewModels\DialogOpenMode.cs" />
<Compile Include="ViewModels\DispenserTypesViewVM.cs" />
<Compile Include="ViewModels\EmbeddedFirmwareVersionsViewVM.cs" />
- <Compile Include="ViewModels\EmbeddedSoftwareVersionsViewVM.cs" />
<Compile Include="ViewModels\EventTypesViewVM.cs" />
<Compile Include="ViewModels\FiberShapesViewVM.cs" />
<Compile Include="ViewModels\FiberSynthsViewVM.cs" />
@@ -287,15 +285,9 @@
<Compile Include="Views\DBViews\HardwareVersionView.xaml.cs">
<DependentUpon>HardwareVersionView.xaml</DependentUpon>
</Compile>
- <Compile Include="Views\DBViews\EmbeddedSoftwareVersionView.xaml.cs">
- <DependentUpon>EmbeddedSoftwareVersionView.xaml</DependentUpon>
- </Compile>
<Compile Include="Views\DBViews\EmbeddedFirmwareVersionView.xaml.cs">
<DependentUpon>EmbeddedFirmwareVersionView.xaml</DependentUpon>
</Compile>
- <Compile Include="Views\DBViews\ApplicationVersionView.xaml.cs">
- <DependentUpon>ApplicationVersionView.xaml</DependentUpon>
- </Compile>
<Compile Include="Views\DBViews\ApplicationOsVersionView.xaml.cs">
<DependentUpon>ApplicationOsVersionView.xaml</DependentUpon>
</Compile>
@@ -305,15 +297,9 @@
<Compile Include="Views\DBViews\HardwareVersionsView.xaml.cs">
<DependentUpon>HardwareVersionsView.xaml</DependentUpon>
</Compile>
- <Compile Include="Views\DBViews\EmbeddedSoftwareVersionsView.xaml.cs">
- <DependentUpon>EmbeddedSoftwareVersionsView.xaml</DependentUpon>
- </Compile>
<Compile Include="Views\DBViews\EmbeddedFirmwareVersionsView.xaml.cs">
<DependentUpon>EmbeddedFirmwareVersionsView.xaml</DependentUpon>
</Compile>
- <Compile Include="Views\DBViews\ApplicationVersionsView.xaml.cs">
- <DependentUpon>ApplicationVersionsView.xaml</DependentUpon>
- </Compile>
<Compile Include="Views\DBViews\ApplicationOsVersionsView.xaml.cs">
<DependentUpon>ApplicationOsVersionsView.xaml</DependentUpon>
</Compile>
@@ -605,18 +591,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
- <Page Include="Views\DBViews\EmbeddedSoftwareVersionView.xaml">
- <Generator>MSBuild:Compile</Generator>
- <SubType>Designer</SubType>
- </Page>
<Page Include="Views\DBViews\EmbeddedFirmwareVersionView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
- <Page Include="Views\DBViews\ApplicationVersionView.xaml">
- <Generator>MSBuild:Compile</Generator>
- <SubType>Designer</SubType>
- </Page>
<Page Include="Views\DBViews\ApplicationOsVersionView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -629,18 +607,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
- <Page Include="Views\DBViews\EmbeddedSoftwareVersionsView.xaml">
- <Generator>MSBuild:Compile</Generator>
- <SubType>Designer</SubType>
- </Page>
<Page Include="Views\DBViews\EmbeddedFirmwareVersionsView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
- <Page Include="Views\DBViews\ApplicationVersionsView.xaml">
- <Generator>MSBuild:Compile</Generator>
- <SubType>Designer</SubType>
- </Page>
<Page Include="Views\DBViews\ApplicationOsVersionsView.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -810,7 +780,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.DB/ViewModelLocator.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModelLocator.cs
index 7bf3c6717..409b66e12 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModelLocator.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModelLocator.cs
@@ -27,9 +27,7 @@ namespace Tango.MachineStudio.DB
TangoIOC.Default.Register<ApplicationDisplayPanelVersionsViewVM>();
TangoIOC.Default.Register<ApplicationFirmwareVersionsViewVM>();
TangoIOC.Default.Register<ApplicationOsVersionsViewVM>();
- TangoIOC.Default.Register<ApplicationVersionsViewVM>();
TangoIOC.Default.Register<EmbeddedFirmwareVersionsViewVM>();
- TangoIOC.Default.Register<EmbeddedSoftwareVersionsViewVM>();
TangoIOC.Default.Register<HardwareVersionsViewVM>();
TangoIOC.Default.Register<IdsPacksViewVM>();
@@ -165,14 +163,6 @@ namespace Tango.MachineStudio.DB
}
}
- public static ApplicationVersionsViewVM ApplicationVersionsViewVM
- {
- get
- {
- return TangoIOC.Default.GetInstance<ApplicationVersionsViewVM>();
- }
- }
-
public static EmbeddedFirmwareVersionsViewVM EmbeddedFirmwareVersionsViewVM
{
get
@@ -181,14 +171,6 @@ namespace Tango.MachineStudio.DB
}
}
- public static EmbeddedSoftwareVersionsViewVM EmbeddedSoftwareVersionsViewVM
- {
- get
- {
- return TangoIOC.Default.GetInstance<EmbeddedSoftwareVersionsViewVM>();
- }
- }
-
public static HardwareVersionsViewVM HardwareVersionsViewVM
{
get
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ApplicationVersionsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ApplicationVersionsViewVM.cs
deleted file mode 100644
index a35c97672..000000000
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ApplicationVersionsViewVM.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Tango.BL.Entities;
-using Tango.MachineStudio.Common.Notifications;
-
-namespace Tango.MachineStudio.DB.ViewModels
-{
- public class ApplicationVersionsViewVM : DbTableViewModel<ApplicationVersion>
- {
- public ApplicationVersionsViewVM(INotificationProvider notification) : base(notification)
- {
- }
- }
-}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/EmbeddedSoftwareVersionsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/EmbeddedSoftwareVersionsViewVM.cs
deleted file mode 100644
index eb47e4e54..000000000
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/EmbeddedSoftwareVersionsViewVM.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Tango.BL.Entities;
-using Tango.MachineStudio.Common.Notifications;
-
-namespace Tango.MachineStudio.DB.ViewModels
-{
- public class EmbeddedSoftwareVersionsViewVM : DbTableViewModel<EmbeddedSoftwareVersion>
- {
- public EmbeddedSoftwareVersionsViewVM(INotificationProvider notification) : base(notification)
- {
- }
- }
-}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionView.xaml
deleted file mode 100644
index 05c0b48e0..000000000
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionView.xaml
+++ /dev/null
@@ -1,25 +0,0 @@
-<UserControl x:Class="Tango.MachineStudio.DB.Views.DBViews.ApplicationVersionView"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
- xmlns:controls="clr-namespace:Tango.MachineStudio.DB.Controls"
- xmlns:local="clr-namespace:Tango.MachineStudio.DB.Views.DBViews"
- mc:Ignorable="d"
- d:DesignHeight="300" d:DesignWidth="300">
- <Grid>
- <controls:TableGrid>
- <TextBlock Text="ID:" FontWeight="Bold"></TextBlock>
- <TextBox Text="{Binding EditEntity.ID}" IsReadOnly="True"></TextBox>
- <TextBlock Text="GUID:" FontWeight="Bold"></TextBlock>
- <TextBox Text="{Binding EditEntity.Guid}" IsReadOnly="True"></TextBox>
- <TextBlock Text="Last Updated:" FontWeight="Bold"></TextBlock>
- <TextBox Text="{Binding EditEntity.LastUpdated}" IsReadOnly="True"></TextBox>
- <TextBlock Text="Version:" FontWeight="Bold"></TextBlock>
- <TextBox Background="Transparent" HorizontalContentAlignment="Left" Text="{Binding EditEntity.Version,Mode=TwoWay}"></TextBox>
- <TextBlock Text="Name:" FontWeight="Bold"></TextBlock>
- <TextBox Text="{Binding EditEntity.Name,Mode=TwoWay}"></TextBox>
- </controls:TableGrid>
- </Grid>
-</UserControl>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionsView.xaml
deleted file mode 100644
index 09df0fee4..000000000
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionsView.xaml
+++ /dev/null
@@ -1,23 +0,0 @@
-<UserControl x:Class="Tango.MachineStudio.DB.Views.DBViews.ApplicationVersionsView"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:global="clr-namespace:Tango.MachineStudio.DB"
- xmlns:controls="clr-namespace:Tango.MachineStudio.DB.Controls"
- xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
- mc:Ignorable="d"
- d:DesignHeight="720" d:DesignWidth="1280" Background="White" DataContext="{x:Static global:ViewModelLocator.ApplicationVersionsViewVM}">
- <Grid>
- <controls:DbTableView>
- <DataGrid Background="Transparent" ItemsSource="{Binding Adapter.ApplicationVersionsViewSource}" SelectedItem="{Binding SelectedEntity}" AutoGenerateColumns="False" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" IsReadOnly="True">
- <DataGrid.Columns>
- <DataGridTextColumn Header="ID" Binding="{Binding ID}"></DataGridTextColumn>
- <DataGridTextColumn Header="GUID" Binding="{Binding Guid}"></DataGridTextColumn>
- <DataGridTextColumn Header="Version" Binding="{Binding Version}"></DataGridTextColumn>
- <DataGridTextColumn Header="Name" Binding="{Binding Name}"></DataGridTextColumn>
- </DataGrid.Columns>
- </DataGrid>
- </controls:DbTableView>
- </Grid>
-</UserControl>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionsView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionsView.xaml.cs
deleted file mode 100644
index 23cab4296..000000000
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionsView.xaml.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-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;
-using Tango.MachineStudio.DB.CustomAttributes;
-using Tango.MachineStudio.DB.Managers;
-using Tango.SharedUI.Controls;
-
-namespace Tango.MachineStudio.DB.Views.DBViews
-{
- /// <summary>
- /// Interaction logic for MachinesView.xaml
- /// </summary>
- [DBView]
- public partial class ApplicationVersionsView : UserControl
- {
- public ApplicationVersionsView() : base()
- {
- InitializeComponent();
- }
- }
-}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionView.xaml
deleted file mode 100644
index 43d9ab0eb..000000000
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionView.xaml
+++ /dev/null
@@ -1,25 +0,0 @@
-<UserControl x:Class="Tango.MachineStudio.DB.Views.DBViews.EmbeddedSoftwareVersionView"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
- xmlns:controls="clr-namespace:Tango.MachineStudio.DB.Controls"
- xmlns:local="clr-namespace:Tango.MachineStudio.DB.Views.DBViews"
- mc:Ignorable="d"
- d:DesignHeight="300" d:DesignWidth="300">
- <Grid>
- <controls:TableGrid>
- <TextBlock Text="ID:" FontWeight="Bold"></TextBlock>
- <TextBox Text="{Binding EditEntity.ID}" IsReadOnly="True"></TextBox>
- <TextBlock Text="GUID:" FontWeight="Bold"></TextBlock>
- <TextBox Text="{Binding EditEntity.Guid}" IsReadOnly="True"></TextBox>
- <TextBlock Text="Last Updated:" FontWeight="Bold"></TextBlock>
- <TextBox Text="{Binding EditEntity.LastUpdated}" IsReadOnly="True"></TextBox>
- <TextBlock Text="Version:" FontWeight="Bold"></TextBlock>
- <TextBox Background="Transparent" HorizontalContentAlignment="Left" Text="{Binding EditEntity.Version,Mode=TwoWay}"></TextBox>
- <TextBlock Text="Name:" FontWeight="Bold"></TextBlock>
- <TextBox Text="{Binding EditEntity.Name,Mode=TwoWay}"></TextBox>
- </controls:TableGrid>
- </Grid>
-</UserControl>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionView.xaml.cs
deleted file mode 100644
index e2e626fb5..000000000
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionView.xaml.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-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.DB.Views.DBViews
-{
- /// <summary>
- /// Interaction logic for MachineView.xaml
- /// </summary>
- public partial class EmbeddedSoftwareVersionView : UserControl
- {
- public EmbeddedSoftwareVersionView()
- {
- InitializeComponent();
- }
- }
-}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionsView.xaml
deleted file mode 100644
index 64814a416..000000000
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionsView.xaml
+++ /dev/null
@@ -1,23 +0,0 @@
-<UserControl x:Class="Tango.MachineStudio.DB.Views.DBViews.EmbeddedSoftwareVersionsView"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:global="clr-namespace:Tango.MachineStudio.DB"
- xmlns:controls="clr-namespace:Tango.MachineStudio.DB.Controls"
- xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
- mc:Ignorable="d"
- d:DesignHeight="720" d:DesignWidth="1280" Background="White" DataContext="{x:Static global:ViewModelLocator.EmbeddedSoftwareVersionsViewVM}">
- <Grid>
- <controls:DbTableView>
- <DataGrid Background="Transparent" ItemsSource="{Binding Adapter.EmbeddedSoftwareVersionsViewSource}" SelectedItem="{Binding SelectedEntity}" AutoGenerateColumns="False" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" IsReadOnly="True">
- <DataGrid.Columns>
- <DataGridTextColumn Header="ID" Binding="{Binding ID}"></DataGridTextColumn>
- <DataGridTextColumn Header="GUID" Binding="{Binding Guid}"></DataGridTextColumn>
- <DataGridTextColumn Header="Version" Binding="{Binding Version}"></DataGridTextColumn>
- <DataGridTextColumn Header="Name" Binding="{Binding Name}"></DataGridTextColumn>
- </DataGrid.Columns>
- </DataGrid>
- </controls:DbTableView>
- </Grid>
-</UserControl>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionsView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionsView.xaml.cs
deleted file mode 100644
index 55f7a03a6..000000000
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/EmbeddedSoftwareVersionsView.xaml.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-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;
-using Tango.MachineStudio.DB.CustomAttributes;
-using Tango.MachineStudio.DB.Managers;
-using Tango.SharedUI.Controls;
-
-namespace Tango.MachineStudio.DB.Views.DBViews
-{
- /// <summary>
- /// Interaction logic for MachinesView.xaml
- /// </summary>
- [DBView]
- public partial class EmbeddedSoftwareVersionsView : UserControl
- {
- public EmbeddedSoftwareVersionsView() : base()
- {
- InitializeComponent();
- }
- }
-}
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 0bd8f8133..1f410d49c 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
@@ -205,12 +205,10 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
List<ICollectionView> collections = new List<ICollectionView>();
+ collections.Add(Adapter.ApplicationFirmwareVersionsViewSource);
collections.Add(Adapter.ApplicationDisplayPanelVersionsViewSource);
- collections.Add(Adapter.ApplicationVersionsViewSource);
- collections.Add(Adapter.EmbeddedSoftwareVersionsViewSource);
- collections.Add(Adapter.EmbeddedFirmwareVersionsViewSource);
collections.Add(Adapter.ApplicationOsVersionsViewSource);
- collections.Add(Adapter.ApplicationVersionsViewSource);
+ collections.Add(Adapter.EmbeddedFirmwareVersionsViewSource);
collections.Add(Adapter.DispenserTypesViewSource);
collections.Add(Adapter.CartridgeTypesViewSource);
collections.Add(Adapter.LiquidTypesViewSource);
@@ -274,16 +272,6 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
}
/// <summary>
- /// Drops the application version.
- /// </summary>
- /// <param name="applicationVersion">The application version.</param>
- public void DropApplicationVersion(ApplicationVersion applicationVersion)
- {
- Configuration.ApplicationVersion = applicationVersion;
- Configuration.ApplicationVersionGuid = applicationVersion.Guid;
- }
-
- /// <summary>
/// Drops the hardware version.
/// </summary>
/// <param name="hardwareVersion">The hardware version.</param>
@@ -304,23 +292,13 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
}
/// <summary>
- /// Drops the embedded software.
- /// </summary>
- /// <param name="embeddedSoftwareVersion">The embedded software version.</param>
- public void DropEmbeddedSoftware(EmbeddedSoftwareVersion embeddedSoftwareVersion)
- {
- Configuration.EmbeddedSoftwareVersion = embeddedSoftwareVersion;
- Configuration.EmbeddedSoftwareVersionGuid = embeddedSoftwareVersion.Guid;
- }
-
- /// <summary>
/// Drops the application os version.
/// </summary>
/// <param name="applicationOsVersion">The application os version.</param>
public void DropApplicationOsVersion(ApplicationOsVersion applicationOsVersion)
{
Configuration.ApplicationOsVersion = applicationOsVersion;
- Configuration.ApplicationVersionGuid = applicationOsVersion.Guid;
+ Configuration.ApplicationOsVersionGuid = applicationOsVersion.Guid;
}
/// <summary>
@@ -457,21 +435,11 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
errors.Add("Application operation system is required.");
}
- if (Configuration.ApplicationVersion == null)
- {
- errors.Add("Application version is required.");
- }
-
if (Configuration.EmbeddedFirmwareVersion == null)
{
errors.Add("Embedded firmware is required.");
}
- if (Configuration.EmbeddedSoftwareVersion == null)
- {
- errors.Add("Embedded software is required.");
- }
-
if (Configuration.HardwareVersion == null)
{
errors.Add("Hardware version is required.");
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 79949405e..4e3e31326 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
@@ -130,7 +130,7 @@
</Border>
</Grid>
- <TextBlock Canvas.Left="532" FontStyle="Italic" Foreground="Gray" Canvas.Top="-22">Hardware</TextBlock>
+ <TextBlock Canvas.Left="532" FontStyle="Italic" Foreground="Gray" Canvas.Top="-22">Hardware Version</TextBlock>
<Grid Width="97" Height="90" Canvas.Left="431" Canvas.Top="-13">
<Rectangle Stroke="Gray" VerticalAlignment="Top" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
<Rectangle Stroke="Gray" HorizontalAlignment="Left" StrokeThickness="1" StrokeDashArray="5" RenderTransformOrigin="0.5,0.5"/>
@@ -293,22 +293,10 @@
</Grid>
<Grid Width="61" IsHitTestVisible="True" SnapsToDevicePixels="True" ClipToBounds="True" Height="42" Canvas.Left="85" Canvas.Top="385">
- <Grid.RowDefinitions>
- <RowDefinition Height="1*" />
- <RowDefinition Height="1*" />
- </Grid.RowDefinitions>
-
<StackPanel Orientation="Horizontal">
<Image Source="../Images/embedded.png" Width="10" VerticalAlignment="Center" Margin="1" RenderOptions.BitmapScalingMode="Fant"></Image>
<TextBlock VerticalAlignment="Center" Padding="1" Foreground="Gainsboro" IsHitTestVisible="False" FontSize="5" TextAlignment="Center" TextWrapping="Wrap" Height="15" Margin="0,6,0,0" Width="47"><Run Text="{Binding Configuration.EmbeddedFirmwareVersion.Name}"/><Run Text=" "/><Run Text="{Binding Configuration.EmbeddedFirmwareVersion.Version}"/></TextBlock>
</StackPanel>
- <StackPanel Grid.Row="1" Orientation="Horizontal">
- <Image Source="../Images/embedded-software.png" Width="10" VerticalAlignment="Center" Margin="1" RenderOptions.BitmapScalingMode="Fant"></Image>
- <TextBlock Padding="1" IsHitTestVisible="False" VerticalAlignment="Center" Foreground="Gainsboro" FontSize="5" TextAlignment="Center" TextWrapping="Wrap" Height="14" Margin="0,6,0,1" Width="47">
- <Run Text="{Binding Configuration.EmbeddedSoftwareVersion.Name}"></Run>
- <Run Text="{Binding Configuration.EmbeddedSoftwareVersion.Version}"></Run>
- </TextBlock>
- </StackPanel>
</Grid>
<TextBlock Canvas.Top="163" Canvas.Left="288" FontStyle="Italic" Foreground="Gray">Touch Panel</TextBlock>
@@ -356,7 +344,6 @@
<RowDefinition Height="1*" />
<RowDefinition Height="1*" />
<RowDefinition Height="1*" />
- <RowDefinition Height="1*" />
</Grid.RowDefinitions>
<StackPanel>
@@ -367,16 +354,8 @@
</TextBlock>
</StackPanel>
- <StackPanel Grid.Row="2" >
- <Image Source="../Images/app.png" Width="10" Margin="2" RenderOptions.BitmapScalingMode="Fant"></Image>
- <TextBlock Padding="2 0 2 0" IsHitTestVisible="False" Foreground="Gainsboro" FontSize="6" TextAlignment="Center" TextWrapping="Wrap">
- <Run Text="{Binding Configuration.ApplicationVersion.Name}"></Run>
- <Run Text="{Binding Configuration.ApplicationVersion.Version}"></Run>
- </TextBlock>
- </StackPanel>
-
- <StackPanel Grid.Row="3" >
+ <StackPanel Grid.Row="1" >
<Image Source="../Images/application-firmware.png" Width="10" Margin="2" RenderOptions.BitmapScalingMode="Fant"></Image>
<TextBlock Padding="2 0 2 0" IsHitTestVisible="False" Foreground="Gainsboro" FontSize="6" TextAlignment="Center" TextWrapping="Wrap">
<Run Text="{Binding Configuration.ApplicationFirmwareVersion.Name}"></Run>
@@ -384,7 +363,7 @@
</TextBlock>
</StackPanel>
- <StackPanel Grid.Row="1" >
+ <StackPanel Grid.Row="2" >
<Image Source="../Images/android.png" Width="10" Margin="2" RenderOptions.BitmapScalingMode="Fant"></Image>
<TextBlock Padding="2 0 2 0" IsHitTestVisible="False" Foreground="Gainsboro" FontSize="6" TextAlignment="Center" TextWrapping="Wrap">
<Run Text="{Binding Configuration.ApplicationOsVersion.Name}"></Run>
@@ -628,7 +607,7 @@
</ListBox>
</Expander>
<Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
- <Expander HorizontalAlignment="Stretch" Header="Formulas">
+ <Expander HorizontalAlignment="Stretch" Header="IDS Pack Formulas">
<ListBox ItemsSource="{Binding Adapter.IdsPackFormulasViewSource}" HorizontalContentAlignment="Stretch">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
@@ -708,33 +687,6 @@
</ListBox>
</Expander>
<Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
- <Expander HorizontalAlignment="Stretch" Header="Application Softwares">
- <ListBox ItemsSource="{Binding Adapter.ApplicationVersionsViewSource}" HorizontalContentAlignment="Stretch">
- <ListBox.ItemContainerStyle>
- <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
- <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
- <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
- <Setter Property="Padding" Value="1"></Setter>
- </Style>
- </ListBox.ItemContainerStyle>
- <ListBox.ItemTemplate>
- <DataTemplate>
- <Grid Background="Transparent" IsHitTestVisible="True" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Draggable="True" dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}">
- <StackPanel Orientation="Horizontal" Margin="2 8">
- <Image IsHitTestVisible="False" Width="24" Height="24" Source="../Images/app.png" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant"></Image>
- <StackPanel Margin="5 0 0 0" IsHitTestVisible="False">
- <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run Text="{Binding Name}"></Run></TextBlock>
- <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run>v</Run><Run Text="{Binding Version}"></Run></TextBlock>
- </StackPanel>
- </StackPanel>
-
- <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="Gainsboro" StrokeThickness="1"></Rectangle>
- </Grid>
- </DataTemplate>
- </ListBox.ItemTemplate>
- </ListBox>
- </Expander>
- <Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
<Expander HorizontalAlignment="Stretch" Header="Application Firmwares">
<ListBox ItemsSource="{Binding Adapter.ApplicationFirmwareVersionsViewSource}" HorizontalContentAlignment="Stretch">
<ListBox.ItemContainerStyle>
@@ -789,34 +741,7 @@
</ListBox>
</Expander>
<Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
- <Expander HorizontalAlignment="Stretch" Header="Embedded Softwares">
- <ListBox ItemsSource="{Binding Adapter.EmbeddedSoftwareVersionsViewSource}" HorizontalContentAlignment="Stretch">
- <ListBox.ItemContainerStyle>
- <Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
- <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter>
- <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter>
- <Setter Property="Padding" Value="1"></Setter>
- </Style>
- </ListBox.ItemContainerStyle>
- <ListBox.ItemTemplate>
- <DataTemplate>
- <Grid Background="Transparent" IsHitTestVisible="True" dragAndDrop:DragAndDropService.DraggableBorderBrush="{StaticResource AccentColorBrush}" dragAndDrop:DragAndDropService.Draggable="True" dragAndDrop:DragAndDropService.DraggingSurface="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DraggingSurface}">
- <StackPanel Orientation="Horizontal" Margin="2 8">
- <Image IsHitTestVisible="False" Width="24" Height="24" Source="../Images/embedded-software.png" Stretch="Fill" RenderOptions.BitmapScalingMode="Fant"></Image>
- <StackPanel Margin="5 0 0 0" IsHitTestVisible="False">
- <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run Text="{Binding Name}"></Run></TextBlock>
- <TextBlock IsHitTestVisible="False" FontSize="10" Foreground="DimGray"><Run>v</Run><Run Text="{Binding Version}"></Run></TextBlock>
- </StackPanel>
- </StackPanel>
-
- <Rectangle Margin="0 10 0 0" VerticalAlignment="Bottom" Stroke="Gainsboro" StrokeThickness="1"></Rectangle>
- </Grid>
- </DataTemplate>
- </ListBox.ItemTemplate>
- </ListBox>
- </Expander>
- <Border Height="1" HorizontalAlignment="Stretch" Background="{DynamicResource MaterialDesignDivider}" SnapsToDevicePixels="True" />
- <Expander HorizontalAlignment="Stretch" Header="Hardwares">
+ <Expander HorizontalAlignment="Stretch" Header="Hardware Versions">
<ListBox ItemsSource="{Binding Adapter.HardwareVersionsViewSource}" HorizontalContentAlignment="Stretch">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem" BasedOn="{StaticResource {x:Type ListBoxItem}}">
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml.cs
index 67d42a350..9c7496484 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml.cs
@@ -67,11 +67,11 @@ namespace Tango.MachineStudio.MachineDesigner.Views
{
SetHighlightRegion(hardwareGrid);
}
- else if (e.DataContext is ApplicationVersion || e.DataContext is ApplicationOsVersion || e.DataContext is ApplicationDisplayPanelVersion || e.DataContext is ApplicationFirmwareVersion)
+ else if (e.DataContext is ApplicationOsVersion || e.DataContext is ApplicationDisplayPanelVersion || e.DataContext is ApplicationFirmwareVersion)
{
SetHighlightRegion(gridTablet);
}
- else if (e.DataContext is EmbeddedFirmwareVersion || e.DataContext is EmbeddedSoftwareVersion)
+ else if (e.DataContext is EmbeddedFirmwareVersion)
{
SetHighlightRegion(gridEmbedded);
}
@@ -123,10 +123,6 @@ namespace Tango.MachineStudio.MachineDesigner.Views
{
_vm.DropTouchPanel(e.Draggable.DataContext as ApplicationDisplayPanelVersion);
}
- else if (e.Draggable.DataContext is ApplicationVersion)
- {
- _vm.DropApplicationVersion(e.Draggable.DataContext as ApplicationVersion);
- }
else if (e.Draggable.DataContext is ApplicationOsVersion)
{
_vm.DropApplicationOsVersion(e.Draggable.DataContext as ApplicationOsVersion);
@@ -143,10 +139,6 @@ namespace Tango.MachineStudio.MachineDesigner.Views
{
_vm.DropEmbeddedFirmware(e.Draggable.DataContext as EmbeddedFirmwareVersion);
}
- else if (e.Draggable.DataContext is EmbeddedSoftwareVersion)
- {
- _vm.DropEmbeddedSoftware(e.Draggable.DataContext as EmbeddedSoftwareVersion);
- }
}
private void MachineDrop(object sender, DropEventArgs e)
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs
index dc5164465..64500b454 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs
@@ -81,7 +81,7 @@ namespace Tango.PPC.Common.MachineSetup
//Download software package.
var tempFile = TemporaryManager.CreateFile(".zip");
- UpdatingPackagesStatus = "Downloading application package...";
+ UpdatingPackagesStatus = "Downloading software package...";
int fileSize = 0;
UpdatingPackagesProgress = 0;
@@ -100,48 +100,13 @@ namespace Tango.PPC.Common.MachineSetup
LogManager.Log("Connecting to FTP site: " + setup_response.FtpAddress);
ftp.ConnectAsync().Wait();
LogManager.Log("Retrieving download size...");
- fileSize = (int)ftp.GetFileSize(setup_response.ApplicationFtpFilePath);
+ fileSize = (int)ftp.GetFileSize(setup_response.FilePath);
LogManager.Log("Download size: " + fileSize + " bytes.");
LogManager.Log("Starting download...");
- ftp.DownloadAsync(fs, setup_response.ApplicationFtpFilePath).Wait();
+ ftp.DownloadAsync(fs, setup_response.FilePath).Wait();
}
}
- //Extract software package.
- ZipFile.ExtractToDirectory(tempFile, software_package_folder);
-
- //Download embedded package.
- tempFile = TemporaryManager.CreateFile(".zip");
-
- UpdatingPackagesStatus = "Downloading embedded package...";
-
- fileSize = 0;
- UpdatingPackagesProgress = 0;
-
- using (FileStreamWrapper fs = new FileStreamWrapper(tempFile.Path, FileMode.Create, (current) =>
- {
- InvokeUINow(() =>
- {
- Thread.Sleep(10);
- UpdatingPackagesProgress = ((double)current / (double)fileSize) * 100d;
- });
- }))
- {
- using (FtpClient ftp = new FtpClient(setup_response.FtpAddress, setup_response.UserName, setup_response.Password))
- {
- LogManager.Log("Connecting to FTP site: " + setup_response.FtpAddress);
- ftp.ConnectAsync().Wait();
- LogManager.Log("Retrieving download size...");
- fileSize = (int)ftp.GetFileSize(setup_response.EmbeddedFtpFilePath);
- LogManager.Log("Download size: " + fileSize + " bytes.");
- LogManager.Log("Starting download...");
- ftp.DownloadAsync(fs, setup_response.EmbeddedFtpFilePath).Wait();
- }
- }
-
- //Extract embedded package.
- ZipFile.ExtractToDirectory(tempFile, embedded_package_folder);
-
//Synchronize database
String remote_address = setup_response.DbAddress;
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/PPCSettings.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/PPCSettings.cs
index 751f31175..aecf93a0d 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/PPCSettings.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/PPCSettings.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
+using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
using Tango.Logging;
@@ -30,12 +31,18 @@ namespace Tango.PPC.Common
public bool HasSetup { get; set; }
/// <summary>
+ /// Gets the update service address.
+ /// </summary>
+ public String UpdateServiceAddress { get; internal set; }
+
+ /// <summary>
/// Initializes a new instance of the <see cref="PPCSettings"/> class.
/// </summary>
public PPCSettings()
{
LoggingCategories = new List<LogCategory>();
MachineSerialNumber = "1111";
+ UpdateServiceAddress = "http://twine01/PPCUpdateService/PPCUpdateService.svc";
}
}
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj b/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj
index 5c90a8818..aeb478a36 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj
@@ -82,6 +82,7 @@
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.Numerics" />
<Reference Include="System.Runtime.Serialization" />
+ <Reference Include="System.ServiceModel" />
<Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
@@ -133,6 +134,12 @@
<Compile Include="PPCModuleAttribute.cs" />
<Compile Include="PPCModuleBase.cs" />
<Compile Include="Threading\IDispatcherProvider.cs" />
+ <Compile Include="Update\IPPCUpdateService.cs" />
+ <Compile Include="Update\LatestVersionResponse.cs" />
+ <Compile Include="Update\UpdateServiceHelper.cs" />
+ <Compile Include="Update\UploadCompletedRequest.cs" />
+ <Compile Include="Update\UploadVersionRequest.cs" />
+ <Compile Include="Update\UploadVersionResponse.cs" />
<Page Include="Controls\MultiPieChart.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/IPPCUpdateService.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/IPPCUpdateService.cs
new file mode 100644
index 000000000..b4e66beda
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/IPPCUpdateService.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.ServiceModel;
+using System.Text;
+using Tango.PPC.Common.Update;
+
+namespace Tango.PPC.Common.Update
+{
+ [ServiceContract]
+ public interface IPPCUpdateService
+ {
+ [OperationContract]
+ UploadVersionResponse UploadVersion(UploadVersionRequest request);
+
+ [OperationContract]
+ void NotifyUploadCompleted(UploadCompletedRequest request);
+
+ [OperationContract]
+ LatestVersionResponse GetLatestVersion();
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/LatestVersionResponse.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/LatestVersionResponse.cs
new file mode 100644
index 000000000..aa753fb18
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/LatestVersionResponse.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.PPC.Common.Update
+{
+ [DataContract]
+ public class LatestVersionResponse
+ {
+ [DataMember]
+ public String Version { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UpdateServiceHelper.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UpdateServiceHelper.cs
new file mode 100644
index 000000000..0adc03e01
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UpdateServiceHelper.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.ServiceModel;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Settings;
+
+namespace Tango.PPC.Common.Update
+{
+ public static class UpdateServiceHelper
+ {
+ public static ChannelFactory<IPPCUpdateService> GetUpdateServiceChannel()
+ {
+ BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None);
+ binding.ReceiveTimeout = TimeSpan.FromSeconds(60);
+ binding.SendTimeout = TimeSpan.FromSeconds(60);
+ binding.MaxBufferPoolSize = 6553600;
+ binding.MaxBufferSize = 6553600;
+ binding.MaxReceivedMessageSize = 6553600;
+ binding.ReaderQuotas.MaxDepth = 6553600;
+ binding.ReaderQuotas.MaxStringContentLength = 6553600;
+ binding.ReaderQuotas.MaxArrayLength = 6553600;
+ binding.ReaderQuotas.MaxBytesPerRead = 6553600;
+
+ return new ChannelFactory<IPPCUpdateService>(binding, SettingsManager.Default.GetOrCreate<PPCSettings>().UpdateServiceAddress);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UploadCompletedRequest.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UploadCompletedRequest.cs
new file mode 100644
index 000000000..ce30a9d7c
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UploadCompletedRequest.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.PPC.Common.Update
+{
+ [DataContract]
+ public class UploadCompletedRequest
+ {
+ [DataMember]
+ public String Token { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UploadVersionRequest.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UploadVersionRequest.cs
new file mode 100644
index 000000000..5672e8fd9
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UploadVersionRequest.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.PPC.Common.Update
+{
+ [DataContract]
+ public class UploadVersionRequest
+ {
+ [DataMember]
+ public String Email { get; set; }
+
+ [DataMember]
+ public String Password { get; set; }
+
+ [DataMember]
+ public String Version { get; set; }
+
+ [DataMember]
+ public String MachineVersionGuid { get; set; }
+
+ [DataMember]
+ public String Comments { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UploadVersionResponse.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UploadVersionResponse.cs
new file mode 100644
index 000000000..b3b3ed42a
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Update/UploadVersionResponse.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.PPC.Common.Update
+{
+ [DataContract]
+ public class UploadVersionResponse
+ {
+ [DataMember]
+ public String FtpHost { get; set; }
+
+ [DataMember]
+ public String FilePath { get; set; }
+
+ [DataMember]
+ public String UserName { get; set; }
+
+ [DataMember]
+ public String Password { get; set; }
+
+ [DataMember]
+ public String Token { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Publisher/App.config b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/App.config
new file mode 100644
index 000000000..8324aa6ff
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/App.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <startup>
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
+ </startup>
+</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Publisher/App.xaml b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/App.xaml
new file mode 100644
index 000000000..1f18cae75
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/App.xaml
@@ -0,0 +1,9 @@
+<Application x:Class="Tango.PPC.Publisher.App"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:local="clr-namespace:Tango.PPC.Publisher"
+ StartupUri="MainWindow.xaml">
+ <Application.Resources>
+
+ </Application.Resources>
+</Application>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Publisher/App.xaml.cs b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/App.xaml.cs
new file mode 100644
index 000000000..9955d6822
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/App.xaml.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace Tango.PPC.Publisher
+{
+ /// <summary>
+ /// Interaction logic for App.xaml
+ /// </summary>
+ public partial class App : Application
+ {
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Publisher/MainWindow.xaml b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/MainWindow.xaml
new file mode 100644
index 000000000..1b2887ad2
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/MainWindow.xaml
@@ -0,0 +1,12 @@
+<Window x:Class="Tango.PPC.Publisher.MainWindow"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:local="clr-namespace:Tango.PPC.Publisher"
+ mc:Ignorable="d"
+ Title="Tango PPC Publisher" Height="450" Width="800">
+ <Grid>
+
+ </Grid>
+</Window>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionView.xaml.cs b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/MainWindow.xaml.cs
index bde27ee0d..b58d4369e 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/Views/DBViews/ApplicationVersionView.xaml.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/MainWindow.xaml.cs
@@ -13,14 +13,14 @@ using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
-namespace Tango.MachineStudio.DB.Views.DBViews
+namespace Tango.PPC.Publisher
{
/// <summary>
- /// Interaction logic for MachineView.xaml
+ /// Interaction logic for MainWindow.xaml
/// </summary>
- public partial class ApplicationVersionView : UserControl
+ public partial class MainWindow : Window
{
- public ApplicationVersionView()
+ public MainWindow()
{
InitializeComponent();
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Publisher/MainWindowVM.cs b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/MainWindowVM.cs
new file mode 100644
index 000000000..d669ec835
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/MainWindowVM.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.PPC.Publisher
+{
+ class MainWindowVM
+ {
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/AssemblyInfo.cs b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..1756d71bc
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/AssemblyInfo.cs
@@ -0,0 +1,23 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Tango PPC Publish Utility")]
+[assembly: AssemblyVersion("2.0.9.1657")]
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
+
+//Friends With
+[assembly: InternalsVisibleTo("Tango.PPC.UI")] \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Resources.Designer.cs b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Resources.Designer.cs
new file mode 100644
index 000000000..66912209d
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Resources.Designer.cs
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Tango.PPC.Publisher.Properties
+{
+
+
+ /// <summary>
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ /// </summary>
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources
+ {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources()
+ {
+ }
+
+ /// <summary>
+ /// Returns the cached ResourceManager instance used by this class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if ((resourceMan == null))
+ {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Tango.PPC.Publisher.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ /// <summary>
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture
+ {
+ get
+ {
+ return resourceCulture;
+ }
+ set
+ {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Resources.resx b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Resources.resx
new file mode 100644
index 000000000..af7dbebba
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Resources.resx
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Settings.Designer.cs b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Settings.Designer.cs
new file mode 100644
index 000000000..3013d3a3d
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Tango.PPC.Publisher.Properties
+{
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+ {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default
+ {
+ get
+ {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Settings.settings b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Settings.settings
new file mode 100644
index 000000000..033d7a5e9
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Properties/Settings.settings
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
+ <Profiles>
+ <Profile Name="(Default)" />
+ </Profiles>
+ <Settings />
+</SettingsFile> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Tango.PPC.Publisher.csproj b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Tango.PPC.Publisher.csproj
new file mode 100644
index 000000000..fe5f09af8
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher/Tango.PPC.Publisher.csproj
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}</ProjectGuid>
+ <OutputType>WinExe</OutputType>
+ <RootNamespace>Tango.PPC.Publisher</RootNamespace>
+ <AssemblyName>Tango.PPC.Publisher</AssemblyName>
+ <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ <WarningLevel>4</WarningLevel>
+ <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>..\..\Build\Debug\PPC\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>..\..\Build\Debug\PPC\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xaml">
+ <RequiredTargetFramework>4.0</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="WindowsBase" />
+ <Reference Include="PresentationCore" />
+ <Reference Include="PresentationFramework" />
+ </ItemGroup>
+ <ItemGroup>
+ <ApplicationDefinition Include="App.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </ApplicationDefinition>
+ <Page Include="MainWindow.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
+ <Compile Include="..\..\Versioning\GlobalVersionInfo.cs">
+ <Link>GlobalVersionInfo.cs</Link>
+ </Compile>
+ <Compile Include="App.xaml.cs">
+ <DependentUpon>App.xaml</DependentUpon>
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="MainWindow.xaml.cs">
+ <DependentUpon>MainWindow.xaml</DependentUpon>
+ <SubType>Code</SubType>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="MainWindowVM.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs">
+ <SubType>Code</SubType>
+ </Compile>
+ <Compile Include="Properties\Resources.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>Resources.resx</DependentUpon>
+ </Compile>
+ <Compile Include="Properties\Settings.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DependentUpon>Settings.settings</DependentUpon>
+ <DesignTimeSharedInput>True</DesignTimeSharedInput>
+ </Compile>
+ <EmbeddedResource Include="Properties\Resources.resx">
+ <Generator>ResXFileCodeGenerator</Generator>
+ <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+ </EmbeddedResource>
+ <None Include="Properties\Settings.settings">
+ <Generator>SettingsSingleFileGenerator</Generator>
+ <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="App.config" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/PPCUpdateService.svc b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/PPCUpdateService.svc
new file mode 100644
index 000000000..ea2b9c582
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/PPCUpdateService.svc
@@ -0,0 +1 @@
+<%@ ServiceHost Language="C#" Debug="true" Service="Tango.PPC.UpdateService.PPCUpdateService" CodeBehind="PPCUpdateService.svc.cs" %> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/PPCUpdateService.svc.cs b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/PPCUpdateService.svc.cs
new file mode 100644
index 000000000..e0ff8a5a8
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/PPCUpdateService.svc.cs
@@ -0,0 +1,171 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.IO;
+using System.Linq;
+using System.Runtime.Serialization;
+using System.ServiceModel;
+using System.ServiceModel.Web;
+using System.Text;
+using Tango.BL;
+using Tango.BL.Entities;
+using Tango.BL.Enumerations;
+using Tango.Logging;
+using Tango.PPC.Common.Update;
+
+namespace Tango.PPC.UpdateService
+{
+ public class PPCUpdateService : IPPCUpdateService
+ {
+ private LogManager LogManager = LogManager.Default;
+
+ private class PendingUpload
+ {
+ public String Token { get; set; }
+
+ public String Version { get; set; }
+
+ public String UserGuid { get; set; }
+
+ public String Comments { get; set; }
+
+ public String MachineVersionGuid { get; set; }
+
+ public String FilePath { get; set; }
+ }
+
+ private static List<PendingUpload> _pendingUploads;
+
+ static PPCUpdateService()
+ {
+ _pendingUploads = new List<PendingUpload>();
+ }
+
+ public UploadVersionResponse UploadVersion(UploadVersionRequest request)
+ {
+ try
+ {
+ UploadVersionResponse response = new UploadVersionResponse();
+
+ using (ObservablesContext db = ObservablesContext.CreateDefault(GetServerAddress()))
+ {
+ db.Configuration.LazyLoadingEnabled = false;
+
+ //Load relation first...
+ db.Roles.ToList();
+ db.Permissions.ToList();
+ db.UsersRoles.ToList();
+ db.RolesPermissions.ToList();
+
+ var user = db.Users.SingleOrDefault(x => x.Email.ToLower() == request.Email.ToLower() && x.Password == request.Password);
+
+ if (user != null && user.HasPermission(Permissions.PublishMachineStudioVersion))
+ {
+ var latestVersion = db.TangoVersions.ToList().OrderByDescending(x => Version.Parse(x.Version)).FirstOrDefault();
+ Version currentVersion = Version.Parse(request.Version);
+
+ String newVersionFileName = Path.GetRandomFileName() + ".zip";
+
+ String newVersionFilePath = "/PPC Versions/" + newVersionFileName;
+
+ if (currentVersion > Version.Parse(latestVersion.Version))
+ {
+ response.FtpHost = ConfigurationManager.AppSettings["FtpHost"].ToString();
+ response.UserName = ConfigurationManager.AppSettings["UserName"].ToString();
+ response.Password = ConfigurationManager.AppSettings["Password"].ToString();
+ response.FilePath = newVersionFilePath;
+ response.Token = Guid.NewGuid().ToString();
+
+ _pendingUploads.Add(new PendingUpload()
+ {
+ UserGuid = user.Guid,
+ Comments = request.Comments,
+ Token = response.Token,
+ Version = request.Version,
+ FilePath = response.FilePath,
+ MachineVersionGuid = request.MachineVersionGuid,
+ });
+ }
+ else
+ {
+ throw new FaultException("New version must be greater than latest version.");
+ }
+ }
+ else
+ {
+ throw new FaultException("Invalid user credentials.");
+ }
+ }
+
+ return response;
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex);
+ throw new FaultException(ex.ToString());
+ }
+ }
+
+ public void NotifyUploadCompleted(UploadCompletedRequest request)
+ {
+ try
+ {
+ PendingUpload upload = _pendingUploads.FirstOrDefault(x => x.Token == request.Token);
+
+ if (upload != null)
+ {
+ _pendingUploads.RemoveAll(x => x.Token == upload.Token);
+
+ using (ObservablesContext db = ObservablesContext.CreateDefault(GetServerAddress()))
+ {
+ db.Configuration.LazyLoadingEnabled = false;
+
+ db.TangoVersions.Add(new TangoVersion()
+ {
+ Comments = upload.Comments,
+ FtpFilePath = upload.FilePath,
+ UserGuid = upload.UserGuid,
+ Version = upload.Version,
+ MachineVersionGuid = upload.MachineVersionGuid
+ });
+
+ db.SaveChanges();
+ }
+ }
+ else
+ {
+ throw new FaultException("Invalid Token.");
+ }
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex);
+ throw new FaultException(ex.ToString());
+ }
+ }
+
+ public LatestVersionResponse GetLatestVersion()
+ {
+ try
+ {
+ LatestVersionResponse response = new LatestVersionResponse();
+
+ using (ObservablesContext db = ObservablesContext.CreateDefault(GetServerAddress()))
+ {
+ response.Version = db.TangoVersions.ToList().OrderByDescending(x => Version.Parse(x.Version)).FirstOrDefault().Version;
+ }
+
+ return response;
+ }
+ catch (Exception ex)
+ {
+ throw new FaultException(ex.ToString());
+ }
+ }
+
+ private String GetServerAddress()
+ {
+ return ConfigurationManager.AppSettings["ServerAddress"].ToString();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Properties/AssemblyInfo.cs b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..7cf1e50d3
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Tango.PPC.UpdateService")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Tango.PPC.UpdateService")]
+[assembly: AssemblyCopyright("Copyright © 2018")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("01c3ef89-6a17-4d70-a71f-0395a212f2f8")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Tango.PPC.UpdateService.csproj b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Tango.PPC.UpdateService.csproj
new file mode 100644
index 000000000..278e2bdb5
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Tango.PPC.UpdateService.csproj
@@ -0,0 +1,142 @@
+<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>
+ </ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{01C3EF89-6A17-4D70-A71F-0395A212F2F8}</ProjectGuid>
+ <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Tango.PPC.UpdateService</RootNamespace>
+ <AssemblyName>Tango.PPC.UpdateService</AssemblyName>
+ <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <WcfConfigValidationEnabled>True</WcfConfigValidationEnabled>
+ <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+ <UseIISExpress>true</UseIISExpress>
+ <Use64BitIISExpress />
+ <IISExpressSSLPort />
+ <IISExpressAnonymousAuthentication />
+ <IISExpressWindowsAuthentication />
+ <IISExpressUseClassicPipelineMode />
+ <UseGlobalApplicationHostFile />
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <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="Microsoft.CSharp" />
+ <Reference Include="System.ComponentModel.DataAnnotations" />
+ <Reference Include="System.Web.DynamicData" />
+ <Reference Include="System.Web.Entity" />
+ <Reference Include="System.Web.ApplicationServices" />
+ <Reference Include="System" />
+ <Reference Include="System.Configuration" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.EnterpriseServices" />
+ <Reference Include="System.Runtime.Serialization" />
+ <Reference Include="System.ServiceModel" />
+ <Reference Include="System.ServiceModel.Web" />
+ <Reference Include="System.Web" />
+ <Reference Include="System.Web.Extensions" />
+ <Reference Include="System.Web.Services" />
+ <Reference Include="System.Xml" />
+ <Reference Include="System.Xml.Linq" />
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="PPCUpdateService.svc" />
+ <Content Include="Web.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="PPCUpdateService.svc.cs">
+ <DependentUpon>PPCUpdateService.svc</DependentUpon>
+ </Compile>
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <Folder Include="App_Data\" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ <None Include="Web.Debug.config">
+ <DependentUpon>Web.config</DependentUpon>
+ </None>
+ <None Include="Web.Release.config">
+ <DependentUpon>Web.config</DependentUpon>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\Tango.BL\Tango.BL.csproj">
+ <Project>{F441FEEE-322A-4943-B566-110E12FD3B72}</Project>
+ <Name>Tango.BL</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Tango.Core\Tango.Core.csproj">
+ <Project>{a34ee0f0-649d-41c8-8489-b6f1cc6924ee}</Project>
+ <Name>Tango.Core</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\Tango.Logging\Tango.Logging.csproj">
+ <Project>{BC932DBD-7CDB-488C-99E4-F02CF441F55E}</Project>
+ <Name>Tango.Logging</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\Tango.PPC.Common\Tango.PPC.Common.csproj">
+ <Project>{0be74eee-22cb-4dba-b896-793b9e1a3ac0}</Project>
+ <Name>Tango.PPC.Common</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <PropertyGroup>
+ <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
+ <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
+ </PropertyGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+ <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
+ <ProjectExtensions>
+ <VisualStudio>
+ <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
+ <WebProjectProperties>
+ <UseIIS>True</UseIIS>
+ <AutoAssignPort>True</AutoAssignPort>
+ <DevelopmentServerPort>52137</DevelopmentServerPort>
+ <DevelopmentServerVPath>/</DevelopmentServerVPath>
+ <IISUrl>http://localhost:52137/</IISUrl>
+ <NTLMAuthentication>False</NTLMAuthentication>
+ <UseCustomServer>False</UseCustomServer>
+ <CustomServerUrl>
+ </CustomServerUrl>
+ <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
+ </WebProjectProperties>
+ </FlavorProperties>
+ </VisualStudio>
+ </ProjectExtensions>
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Web.Debug.config b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Web.Debug.config
new file mode 100644
index 000000000..fae9cfefa
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Web.Debug.config
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- For more information on using web.config transformation visit https://go.microsoft.com/fwlink/?LinkId=125889 -->
+
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+ <!--
+ In the example below, the "SetAttributes" transform will change the value of
+ "connectionString" to use "ReleaseSQLServer" only when the "Match" locator
+ finds an attribute "name" that has a value of "MyDB".
+
+ <connectionStrings>
+ <add name="MyDB"
+ connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
+ xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
+ </connectionStrings>
+ -->
+ <system.web>
+ <!--
+ In the example below, the "Replace" transform will replace the entire
+ <customErrors> section of your web.config file.
+ Note that because there is only one customErrors section under the
+ <system.web> node, there is no need to use the "xdt:Locator" attribute.
+
+ <customErrors defaultRedirect="GenericError.htm"
+ mode="RemoteOnly" xdt:Transform="Replace">
+ <error statusCode="500" redirect="InternalError.htm"/>
+ </customErrors>
+ -->
+ </system.web>
+</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Web.Release.config b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Web.Release.config
new file mode 100644
index 000000000..da6e960b8
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Web.Release.config
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- For more information on using web.config transformation visit https://go.microsoft.com/fwlink/?LinkId=125889 -->
+
+<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
+ <!--
+ In the example below, the "SetAttributes" transform will change the value of
+ "connectionString" to use "ReleaseSQLServer" only when the "Match" locator
+ finds an attribute "name" that has a value of "MyDB".
+
+ <connectionStrings>
+ <add name="MyDB"
+ connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
+ xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
+ </connectionStrings>
+ -->
+ <system.web>
+ <compilation xdt:Transform="RemoveAttributes(debug)" />
+ <!--
+ In the example below, the "Replace" transform will replace the entire
+ <customErrors> section of your web.config file.
+ Note that because there is only one customErrors section under the
+ <system.web> node, there is no need to use the "xdt:Locator" attribute.
+
+ <customErrors defaultRedirect="GenericError.htm"
+ mode="RemoteOnly" xdt:Transform="Replace">
+ <error statusCode="500" redirect="InternalError.htm"/>
+ </customErrors>
+ -->
+ </system.web>
+</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Web.config b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Web.config
new file mode 100644
index 000000000..0d650df90
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/Web.config
@@ -0,0 +1,111 @@
+<?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>
+ <appSettings>
+ <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
+ <add key="ServerAddress" value="localhost\SQLTWINE" />
+ <add key="FtpHost" value="Twine01" />
+ <add key="UserName" value="Tango|FTPWriter" />
+ <add key="Password" value="Aa123456" />
+ </appSettings>
+ <system.web>
+ <compilation debug="true" targetFramework="4.6">
+ <assemblies>
+ <remove assembly="Tango.Video" />
+ </assemblies>
+ </compilation>
+ <httpRuntime targetFramework="4.6" />
+ </system.web>
+ <system.serviceModel>
+ <bindings>
+ <basicHttpBinding>
+ <binding name="LongTimeoutHttpBinding" receiveTimeout="00:01:00" />
+ </basicHttpBinding>
+ </bindings>
+ <services>
+ <service name="Tango.PPC.UpdateService.PPCUpdateService">
+ <endpoint address="" binding="basicHttpBinding" bindingConfiguration="LongTimeoutHttpBinding"
+ name="" contract="Tango.PPC.Common.Update.IPPCUpdateService" />
+ </service>
+ </services>
+ <behaviors>
+ <serviceBehaviors>
+ <behavior>
+ <!-- To avoid disclosing metadata information, set the values below to false before deployment -->
+ <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
+ <!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
+ <serviceDebug includeExceptionDetailInFaults="true" />
+ </behavior>
+ </serviceBehaviors>
+ </behaviors>
+ <protocolMapping>
+ <add binding="basicHttpsBinding" scheme="https" />
+ </protocolMapping>
+ <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
+ </system.serviceModel>
+ <system.webServer>
+ <modules runAllManagedModulesForAllRequests="false" />
+ <!--
+ To browse web app root directory during debugging, set the value below to true.
+ Set to false before deployment to avoid disclosing web app folder information.
+ -->
+ <directoryBrowse enabled="true" />
+ </system.webServer>
+ <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>
+ <runtime>
+ <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+ <dependentAssembly>
+ <assemblyIdentity name="System.Reactive.Core" publicKeyToken="94bc3704cddfc263" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-3.0.3000.0" newVersion="3.0.3000.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-1.2.2.0" newVersion="1.2.2.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <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>
+ <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>
+ <dependentAssembly>
+ <assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+ <bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
+ </dependentAssembly>
+ <dependentAssembly>
+ <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>
+ </assemblyBinding>
+ </runtime>
+</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/packages.config b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/packages.config
new file mode 100644
index 000000000..9256e1591
--- /dev/null
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UpdateService/packages.config
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="EntityFramework" version="6.0.0" targetFramework="net46" />
+</packages> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.BL/Entities/Configuration.cs b/Software/Visual_Studio/Tango.BL/Entities/Configuration.cs
index aee75136d..634cb1c83 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/Configuration.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/Configuration.cs
@@ -68,29 +68,6 @@ namespace Tango.BL.Entities
}
- protected String _applicationversionguid;
-
- /// <summary>
- /// Gets or sets the configuration application version guid.
- /// </summary>
-
- [Column("APPLICATION_VERSION_GUID")]
- [ForeignKey("ApplicationVersion")]
-
- public String ApplicationVersionGuid
- {
- get
- {
- return _applicationversionguid;
- }
-
- set
- {
- _applicationversionguid = value; RaisePropertyChanged(nameof(ApplicationVersionGuid));
- }
-
- }
-
protected String _applicationosversionguid;
/// <summary>
@@ -183,29 +160,6 @@ namespace Tango.BL.Entities
}
- protected String _embeddedsoftwareversionguid;
-
- /// <summary>
- /// Gets or sets the configuration embedded software version guid.
- /// </summary>
-
- [Column("EMBEDDED_SOFTWARE_VERSION_GUID")]
- [ForeignKey("EmbeddedSoftwareVersion")]
-
- public String EmbeddedSoftwareVersionGuid
- {
- get
- {
- return _embeddedsoftwareversionguid;
- }
-
- set
- {
- _embeddedsoftwareversionguid = value; RaisePropertyChanged(nameof(EmbeddedSoftwareVersionGuid));
- }
-
- }
-
protected String _hardwareversionguid;
/// <summary>
@@ -295,28 +249,6 @@ namespace Tango.BL.Entities
}
- protected ApplicationVersion _applicationversion;
-
- /// <summary>
- /// Gets or sets the configuration application versions.
- /// </summary>
-
- [XmlIgnore]
- [JsonIgnore]
- public virtual ApplicationVersion ApplicationVersion
- {
- get
- {
- return _applicationversion;
- }
-
- set
- {
- _applicationversion = value; RaisePropertyChanged(nameof(ApplicationVersion));
- }
-
- }
-
protected EmbeddedFirmwareVersion _embeddedfirmwareversion;
/// <summary>
@@ -339,28 +271,6 @@ namespace Tango.BL.Entities
}
- protected EmbeddedSoftwareVersion _embeddedsoftwareversion;
-
- /// <summary>
- /// Gets or sets the configuration embedded software versions.
- /// </summary>
-
- [XmlIgnore]
- [JsonIgnore]
- public virtual EmbeddedSoftwareVersion EmbeddedSoftwareVersion
- {
- get
- {
- return _embeddedsoftwareversion;
- }
-
- set
- {
- _embeddedsoftwareversion = value; RaisePropertyChanged(nameof(EmbeddedSoftwareVersion));
- }
-
- }
-
protected HardwareVersion _hardwareversion;
/// <summary>
diff --git a/Software/Visual_Studio/Tango.BL/Entities/EmbeddedSoftwareVersion.cs b/Software/Visual_Studio/Tango.BL/Entities/EmbeddedSoftwareVersion.cs
deleted file mode 100644
index 31c95375d..000000000
--- a/Software/Visual_Studio/Tango.BL/Entities/EmbeddedSoftwareVersion.cs
+++ /dev/null
@@ -1,145 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-// Tango Observables Generator
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated. Do not modify!
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.ComponentModel.DataAnnotations;
-using System.ComponentModel.DataAnnotations.Schema;
-using System.Xml.Serialization;
-using Newtonsoft.Json;
-using System.Linq;
-using Tango.DAL.Remote.DB;
-
-namespace Tango.BL.Entities
-{
- [Table("EMBEDDED_SOFTWARE_VERSIONS")]
- public partial class EmbeddedSoftwareVersion : ObservableEntity<EmbeddedSoftwareVersion>
- {
-
- protected String _version;
-
- /// <summary>
- /// Gets or sets the embeddedsoftwareversion version.
- /// </summary>
-
- [Column("VERSION")]
-
- public String Version
- {
- get
- {
- return _version;
- }
-
- set
- {
- _version = value; RaisePropertyChanged(nameof(Version));
- }
-
- }
-
- protected String _name;
-
- /// <summary>
- /// Gets or sets the embeddedsoftwareversion name.
- /// </summary>
-
- [Column("NAME")]
-
- public String Name
- {
- get
- {
- return _name;
- }
-
- set
- {
- _name = value; RaisePropertyChanged(nameof(Name));
- }
-
- }
-
- protected String _ftpfilepath;
-
- /// <summary>
- /// Gets or sets the embeddedsoftwareversion ftp file path.
- /// </summary>
-
- [Column("FTP_FILE_PATH")]
-
- public String FtpFilePath
- {
- get
- {
- return _ftpfilepath;
- }
-
- set
- {
- _ftpfilepath = value; RaisePropertyChanged(nameof(FtpFilePath));
- }
-
- }
-
- protected String _comments;
-
- /// <summary>
- /// Gets or sets the embeddedsoftwareversion comments.
- /// </summary>
-
- [Column("COMMENTS")]
-
- public String Comments
- {
- get
- {
- return _comments;
- }
-
- set
- {
- _comments = value; RaisePropertyChanged(nameof(Comments));
- }
-
- }
-
- protected ObservableCollection<Configuration> _configurations;
-
- /// <summary>
- /// Gets or sets the embeddedsoftwareversion configurations.
- /// </summary>
-
- public virtual ObservableCollection<Configuration> Configurations
- {
- get
- {
- return _configurations;
- }
-
- set
- {
- _configurations = value; RaisePropertyChanged(nameof(Configurations));
- }
-
- }
-
- /// <summary>
- /// Initializes a new instance of the <see cref="EmbeddedSoftwareVersion" /> class.
- /// </summary>
- public EmbeddedSoftwareVersion() : base()
- {
-
- Configurations = new ObservableCollection<Configuration>();
-
- }
- }
-}
diff --git a/Software/Visual_Studio/Tango.BL/Entities/MachineVersion.cs b/Software/Visual_Studio/Tango.BL/Entities/MachineVersion.cs
index 64eed0120..b2a716894 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/MachineVersion.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/MachineVersion.cs
@@ -133,6 +133,26 @@ namespace Tango.BL.Entities
}
+ protected ObservableCollection<TangoVersion> _tangoversions;
+
+ /// <summary>
+ /// Gets or sets the machineversion tango versions.
+ /// </summary>
+
+ public virtual ObservableCollection<TangoVersion> TangoVersions
+ {
+ get
+ {
+ return _tangoversions;
+ }
+
+ set
+ {
+ _tangoversions = value; RaisePropertyChanged(nameof(TangoVersions));
+ }
+
+ }
+
/// <summary>
/// Initializes a new instance of the <see cref="MachineVersion" /> class.
/// </summary>
@@ -141,6 +161,8 @@ namespace Tango.BL.Entities
Machines = new ObservableCollection<Machine>();
+ TangoVersions = new ObservableCollection<TangoVersion>();
+
}
}
}
diff --git a/Software/Visual_Studio/Tango.BL/Entities/ApplicationVersion.cs b/Software/Visual_Studio/Tango.BL/Entities/TangoVersion.cs
index 3d876eb81..a2d2272f5 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/ApplicationVersion.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/TangoVersion.cs
@@ -20,14 +20,14 @@ using Tango.DAL.Remote.DB;
namespace Tango.BL.Entities
{
- [Table("APPLICATION_VERSIONS")]
- public partial class ApplicationVersion : ObservableEntity<ApplicationVersion>
+ [Table("TANGO_VERSIONS")]
+ public partial class TangoVersion : ObservableEntity<TangoVersion>
{
protected String _version;
/// <summary>
- /// Gets or sets the applicationversion version.
+ /// Gets or sets the tangoversion version.
/// </summary>
[Column("VERSION")]
@@ -46,100 +46,145 @@ namespace Tango.BL.Entities
}
- protected String _name;
+ protected String _ftpfilepath;
/// <summary>
- /// Gets or sets the applicationversion name.
+ /// Gets or sets the tangoversion ftp file path.
/// </summary>
- [Column("NAME")]
+ [Column("FTP_FILE_PATH")]
- public String Name
+ public String FtpFilePath
{
get
{
- return _name;
+ return _ftpfilepath;
}
set
{
- _name = value; RaisePropertyChanged(nameof(Name));
+ _ftpfilepath = value; RaisePropertyChanged(nameof(FtpFilePath));
}
}
- protected String _ftpfilepath;
+ protected String _comments;
/// <summary>
- /// Gets or sets the applicationversion ftp file path.
+ /// Gets or sets the tangoversion comments.
/// </summary>
- [Column("FTP_FILE_PATH")]
+ [Column("COMMENTS")]
- public String FtpFilePath
+ public String Comments
{
get
{
- return _ftpfilepath;
+ return _comments;
}
set
{
- _ftpfilepath = value; RaisePropertyChanged(nameof(FtpFilePath));
+ _comments = value; RaisePropertyChanged(nameof(Comments));
}
}
- protected String _comments;
+ protected String _userguid;
/// <summary>
- /// Gets or sets the applicationversion comments.
+ /// Gets or sets the tangoversion user guid.
/// </summary>
- [Column("COMMENTS")]
+ [Column("USER_GUID")]
+ [ForeignKey("User")]
- public String Comments
+ public String UserGuid
{
get
{
- return _comments;
+ return _userguid;
}
set
{
- _comments = value; RaisePropertyChanged(nameof(Comments));
+ _userguid = value; RaisePropertyChanged(nameof(UserGuid));
}
}
- protected ObservableCollection<Configuration> _configurations;
+ protected String _machineversionguid;
/// <summary>
- /// Gets or sets the applicationversion configurations.
+ /// Gets or sets the tangoversion machine version guid.
/// </summary>
- public virtual ObservableCollection<Configuration> Configurations
+ [Column("MACHINE_VERSION_GUID")]
+ [ForeignKey("MachineVersion")]
+
+ public String MachineVersionGuid
{
get
{
- return _configurations;
+ return _machineversionguid;
}
set
{
- _configurations = value; RaisePropertyChanged(nameof(Configurations));
+ _machineversionguid = value; RaisePropertyChanged(nameof(MachineVersionGuid));
}
}
+ protected MachineVersion _machineversion;
+
/// <summary>
- /// Initializes a new instance of the <see cref="ApplicationVersion" /> class.
+ /// Gets or sets the tangoversion machine versions.
/// </summary>
- public ApplicationVersion() : base()
+
+ [XmlIgnore]
+ [JsonIgnore]
+ public virtual MachineVersion MachineVersion
{
+ get
+ {
+ return _machineversion;
+ }
+
+ set
+ {
+ _machineversion = value; RaisePropertyChanged(nameof(MachineVersion));
+ }
+
+ }
+
+ protected User _user;
+
+ /// <summary>
+ /// Gets or sets the tangoversion user.
+ /// </summary>
+
+ [XmlIgnore]
+ [JsonIgnore]
+ public virtual User User
+ {
+ get
+ {
+ return _user;
+ }
+
+ set
+ {
+ _user = value; RaisePropertyChanged(nameof(User));
+ }
- Configurations = new ObservableCollection<Configuration>();
+ }
+ /// <summary>
+ /// Initializes a new instance of the <see cref="TangoVersion" /> class.
+ /// </summary>
+ public TangoVersion() : base()
+ {
}
}
}
diff --git a/Software/Visual_Studio/Tango.BL/Entities/User.cs b/Software/Visual_Studio/Tango.BL/Entities/User.cs
index 23b64da03..93905e07d 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/User.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/User.cs
@@ -307,6 +307,26 @@ namespace Tango.BL.Entities
}
+ protected ObservableCollection<TangoVersion> _tangoversions;
+
+ /// <summary>
+ /// Gets or sets the user tango versions.
+ /// </summary>
+
+ public virtual ObservableCollection<TangoVersion> TangoVersions
+ {
+ get
+ {
+ return _tangoversions;
+ }
+
+ set
+ {
+ _tangoversions = value; RaisePropertyChanged(nameof(TangoVersions));
+ }
+
+ }
+
protected ObservableCollection<UsersRole> _usersroles;
/// <summary>
@@ -339,6 +359,8 @@ namespace Tango.BL.Entities
MachinesEvents = new ObservableCollection<MachinesEvent>();
+ TangoVersions = new ObservableCollection<TangoVersion>();
+
UsersRoles = new ObservableCollection<UsersRole>();
}
diff --git a/Software/Visual_Studio/Tango.BL/ObservablesContext.cs b/Software/Visual_Studio/Tango.BL/ObservablesContext.cs
index 5c20899e9..b9c11fc8d 100644
--- a/Software/Visual_Studio/Tango.BL/ObservablesContext.cs
+++ b/Software/Visual_Studio/Tango.BL/ObservablesContext.cs
@@ -71,14 +71,6 @@ namespace Tango.BL
}
/// <summary>
- /// Gets or sets the ApplicationVersions.
- /// </summary>
- public DbSet<ApplicationVersion> ApplicationVersions
- {
- get; set;
- }
-
- /// <summary>
/// Gets or sets the BrushStops.
/// </summary>
public DbSet<BrushStop> BrushStops
@@ -167,14 +159,6 @@ namespace Tango.BL
}
/// <summary>
- /// Gets or sets the EmbeddedSoftwareVersions.
- /// </summary>
- public DbSet<EmbeddedSoftwareVersion> EmbeddedSoftwareVersions
- {
- get; set;
- }
-
- /// <summary>
/// Gets or sets the EventTypes.
/// </summary>
public DbSet<EventType> EventTypes
@@ -567,6 +551,14 @@ namespace Tango.BL
}
/// <summary>
+ /// Gets or sets the TangoVersions.
+ /// </summary>
+ public DbSet<TangoVersion> TangoVersions
+ {
+ get; set;
+ }
+
+ /// <summary>
/// Gets or sets the TechControllers.
/// </summary>
public DbSet<TechController> TechControllers
diff --git a/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapter.cs b/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapter.cs
index bc939259d..21f83509d 100644
--- a/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapter.cs
+++ b/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapter.cs
@@ -196,8 +196,6 @@ namespace Tango.BL
config.IdsPacks = config.IdsPacks.ToObservableCollection();
}
- ApplicationVersions = Context.ApplicationVersions.ToList().OrderBy(x => x.Version).ToObservableCollection();
-
ApplicationOsVersions = Context.ApplicationOsVersions.ToList().OrderBy(x => x.Version).ToObservableCollection();
ApplicationFirmwareVersions = Context.ApplicationFirmwareVersions.ToList().OrderBy(x => x.Version).ToObservableCollection();
@@ -206,8 +204,6 @@ namespace Tango.BL
EmbeddedFirmwareVersions = Context.EmbeddedFirmwareVersions.ToList().OrderBy(x => x.Version).ToObservableCollection();
- EmbeddedSoftwareVersions = Context.EmbeddedSoftwareVersions.ToList().OrderBy(x => x.Version).ToObservableCollection();
-
HardwareVersions = Context.HardwareVersions.ToList().OrderBy(x => x.Version).ToObservableCollection();
IdsPacks = Context.IdsPacks.ToObservableCollection();
diff --git a/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs b/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs
index df7b44539..9d564192e 100644
--- a/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs
+++ b/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs
@@ -233,42 +233,6 @@ namespace Tango.BL
}
- private ObservableCollection<ApplicationVersion> _applicationversions;
- /// <summary>
- /// Gets or sets the ApplicationVersions.
- /// </summary>
- public ObservableCollection<ApplicationVersion> ApplicationVersions
- {
- get
- {
- return _applicationversions;
- }
-
- set
- {
- _applicationversions = value; RaisePropertyChanged(nameof(ApplicationVersions));
- }
-
- }
-
- private ICollectionView _applicationversionsViewSource;
- /// <summary>
- /// Gets or sets the ApplicationVersions View Source.
- ///</summary>
- public ICollectionView ApplicationVersionsViewSource
- {
- get
- {
- return _applicationversionsViewSource;
- }
-
- set
- {
- _applicationversionsViewSource = value; RaisePropertyChanged(nameof(ApplicationVersionsViewSource));
- }
-
- }
-
private ObservableCollection<BrushStop> _brushstops;
/// <summary>
/// Gets or sets the BrushStops.
@@ -665,42 +629,6 @@ namespace Tango.BL
}
- private ObservableCollection<EmbeddedSoftwareVersion> _embeddedsoftwareversions;
- /// <summary>
- /// Gets or sets the EmbeddedSoftwareVersions.
- /// </summary>
- public ObservableCollection<EmbeddedSoftwareVersion> EmbeddedSoftwareVersions
- {
- get
- {
- return _embeddedsoftwareversions;
- }
-
- set
- {
- _embeddedsoftwareversions = value; RaisePropertyChanged(nameof(EmbeddedSoftwareVersions));
- }
-
- }
-
- private ICollectionView _embeddedsoftwareversionsViewSource;
- /// <summary>
- /// Gets or sets the EmbeddedSoftwareVersions View Source.
- ///</summary>
- public ICollectionView EmbeddedSoftwareVersionsViewSource
- {
- get
- {
- return _embeddedsoftwareversionsViewSource;
- }
-
- set
- {
- _embeddedsoftwareversionsViewSource = value; RaisePropertyChanged(nameof(EmbeddedSoftwareVersionsViewSource));
- }
-
- }
-
private ObservableCollection<EventType> _eventtypes;
/// <summary>
/// Gets or sets the EventTypes.
@@ -2465,6 +2393,42 @@ namespace Tango.BL
}
+ private ObservableCollection<TangoVersion> _tangoversions;
+ /// <summary>
+ /// Gets or sets the TangoVersions.
+ /// </summary>
+ public ObservableCollection<TangoVersion> TangoVersions
+ {
+ get
+ {
+ return _tangoversions;
+ }
+
+ set
+ {
+ _tangoversions = value; RaisePropertyChanged(nameof(TangoVersions));
+ }
+
+ }
+
+ private ICollectionView _tangoversionsViewSource;
+ /// <summary>
+ /// Gets or sets the TangoVersions View Source.
+ ///</summary>
+ public ICollectionView TangoVersionsViewSource
+ {
+ get
+ {
+ return _tangoversionsViewSource;
+ }
+
+ set
+ {
+ _tangoversionsViewSource = value; RaisePropertyChanged(nameof(TangoVersionsViewSource));
+ }
+
+ }
+
private ObservableCollection<TechController> _techcontrollers;
/// <summary>
/// Gets or sets the TechControllers.
@@ -2771,8 +2735,6 @@ namespace Tango.BL
ApplicationOsVersionsViewSource = CreateCollectionView(ApplicationOsVersions);
- ApplicationVersionsViewSource = CreateCollectionView(ApplicationVersions);
-
BrushStopsViewSource = CreateCollectionView(BrushStops);
CartridgeTypesViewSource = CreateCollectionView(CartridgeTypes);
@@ -2795,8 +2757,6 @@ namespace Tango.BL
EmbeddedFirmwareVersionsViewSource = CreateCollectionView(EmbeddedFirmwareVersions);
- EmbeddedSoftwareVersionsViewSource = CreateCollectionView(EmbeddedSoftwareVersions);
-
EventTypesViewSource = CreateCollectionView(EventTypes);
EventTypesActionsViewSource = CreateCollectionView(EventTypesActions);
@@ -2895,6 +2855,8 @@ namespace Tango.BL
SysdiagramsViewSource = CreateCollectionView(Sysdiagrams);
+ TangoVersionsViewSource = CreateCollectionView(TangoVersions);
+
TechControllersViewSource = CreateCollectionView(TechControllers);
TechDispensersViewSource = CreateCollectionView(TechDispensers);
diff --git a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
index 3e96231d4..62e23539a 100644
--- a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
+++ b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
@@ -112,6 +112,7 @@
<Compile Include="Entities\HardwareSpeedSensorType.cs" />
<Compile Include="Entities\HtmlPage.cs" />
<Compile Include="Entities\Sysdiagram.cs" />
+ <Compile Include="Entities\TangoVersion.cs" />
<Compile Include="Entities\TechController.cs" />
<Compile Include="Enumerations\ActionTypes.cs" />
<Compile Include="Enumerations\ColorCatalogs.cs" />
@@ -159,7 +160,6 @@
<Compile Include="Entities\ApplicationDisplayPanelVersion.cs" />
<Compile Include="Entities\ApplicationFirmwareVersion.cs" />
<Compile Include="Entities\ApplicationOsVersion.cs" />
- <Compile Include="Entities\ApplicationVersion.cs" />
<Compile Include="Entities\BrushStop.cs" />
<Compile Include="Entities\CartridgeType.cs" />
<Compile Include="Entities\Cat.cs" />
@@ -170,7 +170,6 @@
<Compile Include="Entities\Contact.cs" />
<Compile Include="Entities\DispenserType.cs" />
<Compile Include="Entities\EmbeddedFirmwareVersion.cs" />
- <Compile Include="Entities\EmbeddedSoftwareVersion.cs" />
<Compile Include="Entities\EventType.cs" />
<Compile Include="Entities\EventTypesAction.cs" />
<Compile Include="Entities\FiberShape.cs" />
@@ -320,7 +319,7 @@
</Target>
<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/Tango.DAL.Remote/DB/CONFIGURATION.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/CONFIGURATION.cs
index 173463fff..0a2bada95 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/CONFIGURATION.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/CONFIGURATION.cs
@@ -28,20 +28,16 @@ namespace Tango.DAL.Remote.DB
public System.DateTime LAST_UPDATED { get; set; }
public string NAME { get; set; }
public System.DateTime CREATION_DATE { get; set; }
- public string APPLICATION_VERSION_GUID { get; set; }
public string APPLICATION_OS_VERSION_GUID { get; set; }
public string APPLICATION_FIRMWARE_VERSION_GUID { get; set; }
public string APPLICATION_DISPLAY_PANEL_VERSION_GUID { get; set; }
public string EMBEDDED_FIRMWARE_VERSION_GUID { get; set; }
- public string EMBEDDED_SOFTWARE_VERSION_GUID { get; set; }
public string HARDWARE_VERSION_GUID { get; set; }
public virtual APPLICATION_DISPLAY_PANEL_VERSIONS APPLICATION_DISPLAY_PANEL_VERSIONS { get; set; }
public virtual APPLICATION_FIRMWARE_VERSIONS APPLICATION_FIRMWARE_VERSIONS { get; set; }
public virtual APPLICATION_OS_VERSIONS APPLICATION_OS_VERSIONS { get; set; }
- public virtual APPLICATION_VERSIONS APPLICATION_VERSIONS { get; set; }
public virtual EMBEDDED_FIRMWARE_VERSIONS EMBEDDED_FIRMWARE_VERSIONS { get; set; }
- public virtual EMBEDDED_SOFTWARE_VERSIONS EMBEDDED_SOFTWARE_VERSIONS { get; set; }
public virtual HARDWARE_VERSIONS HARDWARE_VERSIONS { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<IDS_PACKS> IDS_PACKS { get; set; }
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/EMBEDDED_SOFTWARE_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/EMBEDDED_SOFTWARE_VERSIONS.cs
deleted file mode 100644
index 7243e300a..000000000
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/EMBEDDED_SOFTWARE_VERSIONS.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated from a template.
-//
-// Manual changes to this file may cause unexpected behavior in your application.
-// Manual changes to this file will be overwritten if the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace Tango.DAL.Remote.DB
-{
- using System;
- using System.Collections.Generic;
-
- public partial class EMBEDDED_SOFTWARE_VERSIONS
- {
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
- public EMBEDDED_SOFTWARE_VERSIONS()
- {
- this.CONFIGURATIONS = new HashSet<CONFIGURATION>();
- }
-
- public int ID { get; set; }
- public string GUID { get; set; }
- public System.DateTime LAST_UPDATED { get; set; }
- public string VERSION { get; set; }
- public string NAME { get; set; }
- public string FTP_FILE_PATH { get; set; }
- public string COMMENTS { get; set; }
-
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
- public virtual ICollection<CONFIGURATION> CONFIGURATIONS { get; set; }
- }
-}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINE_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINE_VERSIONS.cs
index 6c354d4bb..df1d48673 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINE_VERSIONS.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINE_VERSIONS.cs
@@ -18,6 +18,7 @@ namespace Tango.DAL.Remote.DB
public MACHINE_VERSIONS()
{
this.MACHINES = new HashSet<MACHINE>();
+ this.TANGO_VERSIONS = new HashSet<TANGO_VERSIONS>();
}
public int ID { get; set; }
@@ -30,5 +31,7 @@ namespace Tango.DAL.Remote.DB
public virtual CONFIGURATION CONFIGURATION { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<MACHINE> MACHINES { get; set; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<TANGO_VERSIONS> TANGO_VERSIONS { get; set; }
}
}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs
index 7a6efadb4..4e056c513 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs
@@ -31,7 +31,6 @@ namespace Tango.DAL.Remote.DB
public virtual DbSet<APPLICATION_DISPLAY_PANEL_VERSIONS> APPLICATION_DISPLAY_PANEL_VERSIONS { get; set; }
public virtual DbSet<APPLICATION_FIRMWARE_VERSIONS> APPLICATION_FIRMWARE_VERSIONS { get; set; }
public virtual DbSet<APPLICATION_OS_VERSIONS> APPLICATION_OS_VERSIONS { get; set; }
- public virtual DbSet<APPLICATION_VERSIONS> APPLICATION_VERSIONS { get; set; }
public virtual DbSet<BRUSH_STOPS> BRUSH_STOPS { get; set; }
public virtual DbSet<CARTRIDGE_TYPES> CARTRIDGE_TYPES { get; set; }
public virtual DbSet<CAT> CATS { get; set; }
@@ -43,7 +42,6 @@ namespace Tango.DAL.Remote.DB
public virtual DbSet<CUSTOMER> CUSTOMERS { get; set; }
public virtual DbSet<DISPENSER_TYPES> DISPENSER_TYPES { get; set; }
public virtual DbSet<EMBEDDED_FIRMWARE_VERSIONS> EMBEDDED_FIRMWARE_VERSIONS { get; set; }
- public virtual DbSet<EMBEDDED_SOFTWARE_VERSIONS> EMBEDDED_SOFTWARE_VERSIONS { get; set; }
public virtual DbSet<EVENT_TYPES> EVENT_TYPES { get; set; }
public virtual DbSet<EVENT_TYPES_ACTIONS> EVENT_TYPES_ACTIONS { get; set; }
public virtual DbSet<EVENT_TYPES_CATEGORIES> EVENT_TYPES_CATEGORIES { get; set; }
@@ -93,6 +91,7 @@ namespace Tango.DAL.Remote.DB
public virtual DbSet<SEGMENT> SEGMENTS { get; set; }
public virtual DbSet<SPOOL_TYPES> SPOOL_TYPES { get; set; }
public virtual DbSet<sysdiagram> sysdiagrams { get; set; }
+ public virtual DbSet<TANGO_VERSIONS> TANGO_VERSIONS { get; set; }
public virtual DbSet<TECH_CONTROLLERS> TECH_CONTROLLERS { get; set; }
public virtual DbSet<TECH_DISPENSERS> TECH_DISPENSERS { get; set; }
public virtual DbSet<TECH_IOS> TECH_IOS { get; set; }
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
index 37bad1838..8809518b5 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
@@ -62,18 +62,6 @@
<Property Name="VERSION" Type="float" Nullable="false" />
<Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
</EntityType>
- <EntityType Name="APPLICATION_VERSIONS">
- <Key>
- <PropertyRef Name="GUID" />
- </Key>
- <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
- <Property Name="GUID" Type="varchar" MaxLength="36" Nullable="false" />
- <Property Name="LAST_UPDATED" Type="datetime2" Precision="3" Nullable="false" />
- <Property Name="VERSION" Type="varchar" MaxLength="50" Nullable="false" />
- <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
- <Property Name="FTP_FILE_PATH" Type="varchar" MaxLength="200" Nullable="false" />
- <Property Name="COMMENTS" Type="nvarchar(max)" Nullable="false" />
- </EntityType>
<EntityType Name="BRUSH_STOPS">
<Key>
<PropertyRef Name="GUID" />
@@ -196,12 +184,10 @@
<Property Name="LAST_UPDATED" Type="datetime2" Precision="3" Nullable="false" />
<Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
<Property Name="CREATION_DATE" Type="datetime" Nullable="false" />
- <Property Name="APPLICATION_VERSION_GUID" Type="varchar" MaxLength="36" Nullable="false" />
<Property Name="APPLICATION_OS_VERSION_GUID" Type="varchar" MaxLength="36" Nullable="false" />
<Property Name="APPLICATION_FIRMWARE_VERSION_GUID" Type="varchar" MaxLength="36" Nullable="false" />
<Property Name="APPLICATION_DISPLAY_PANEL_VERSION_GUID" Type="varchar" MaxLength="36" Nullable="false" />
<Property Name="EMBEDDED_FIRMWARE_VERSION_GUID" Type="varchar" MaxLength="36" Nullable="false" />
- <Property Name="EMBEDDED_SOFTWARE_VERSION_GUID" Type="varchar" MaxLength="36" Nullable="false" />
<Property Name="HARDWARE_VERSION_GUID" Type="varchar" MaxLength="36" Nullable="false" />
</EntityType>
<EntityType Name="CONTACTS">
@@ -251,18 +237,6 @@
<Property Name="VERSION" Type="float" Nullable="false" />
<Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
</EntityType>
- <EntityType Name="EMBEDDED_SOFTWARE_VERSIONS">
- <Key>
- <PropertyRef Name="GUID" />
- </Key>
- <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
- <Property Name="GUID" Type="varchar" MaxLength="36" Nullable="false" />
- <Property Name="LAST_UPDATED" Type="datetime2" Precision="3" Nullable="false" />
- <Property Name="VERSION" Type="varchar" MaxLength="50" Nullable="false" />
- <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
- <Property Name="FTP_FILE_PATH" Type="varchar" MaxLength="200" Nullable="false" />
- <Property Name="COMMENTS" Type="nvarchar(max)" Nullable="false" />
- </EntityType>
<EntityType Name="EVENT_TYPES">
<Key>
<PropertyRef Name="GUID" />
@@ -956,6 +930,19 @@
<Property Name="version" Type="int" />
<Property Name="definition" Type="varbinary(max)" />
</EntityType>
+ <EntityType Name="TANGO_VERSIONS">
+ <Key>
+ <PropertyRef Name="GUID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="varchar" MaxLength="36" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime2" Precision="3" Nullable="false" />
+ <Property Name="VERSION" Type="varchar" MaxLength="50" Nullable="false" />
+ <Property Name="FTP_FILE_PATH" Type="varchar" MaxLength="200" Nullable="false" />
+ <Property Name="COMMENTS" Type="nvarchar(max)" Nullable="false" />
+ <Property Name="USER_GUID" Type="varchar" MaxLength="36" Nullable="false" />
+ <Property Name="MACHINE_VERSION_GUID" Type="varchar" MaxLength="36" Nullable="false" />
+ </EntityType>
<EntityType Name="TECH_CONTROLLERS">
<Key>
<PropertyRef Name="GUID" />
@@ -1206,18 +1193,6 @@
</Dependent>
</ReferentialConstraint>
</Association>
- <Association Name="FK_CONFIGURATIONS_APPLICATION_VERSIONS">
- <End Role="APPLICATION_VERSIONS" Type="Self.APPLICATION_VERSIONS" Multiplicity="1" />
- <End Role="CONFIGURATIONS" Type="Self.CONFIGURATIONS" Multiplicity="*" />
- <ReferentialConstraint>
- <Principal Role="APPLICATION_VERSIONS">
- <PropertyRef Name="GUID" />
- </Principal>
- <Dependent Role="CONFIGURATIONS">
- <PropertyRef Name="APPLICATION_VERSION_GUID" />
- </Dependent>
- </ReferentialConstraint>
- </Association>
<Association Name="FK_CONFIGURATIONS_DISPENSERS_LIQUIDS">
<End Role="LIQUID_TYPES" Type="Self.LIQUID_TYPES" Multiplicity="0..1" />
<End Role="IDS_PACKS" Type="Self.IDS_PACKS" Multiplicity="*" />
@@ -1242,18 +1217,6 @@
</Dependent>
</ReferentialConstraint>
</Association>
- <Association Name="FK_CONFIGURATIONS_EMBEDDED_SOFTWARE_VERSIONS">
- <End Role="EMBEDDED_SOFTWARE_VERSIONS" Type="Self.EMBEDDED_SOFTWARE_VERSIONS" Multiplicity="1" />
- <End Role="CONFIGURATIONS" Type="Self.CONFIGURATIONS" Multiplicity="*" />
- <ReferentialConstraint>
- <Principal Role="EMBEDDED_SOFTWARE_VERSIONS">
- <PropertyRef Name="GUID" />
- </Principal>
- <Dependent Role="CONFIGURATIONS">
- <PropertyRef Name="EMBEDDED_SOFTWARE_VERSION_GUID" />
- </Dependent>
- </ReferentialConstraint>
- </Association>
<Association Name="FK_CONFIGURATIONS_HARDWARE_VERSIONS">
<End Role="HARDWARE_VERSIONS" Type="Self.HARDWARE_VERSIONS" Multiplicity="1" />
<End Role="CONFIGURATIONS" Type="Self.CONFIGURATIONS" Multiplicity="*" />
@@ -2068,6 +2031,30 @@
</Dependent>
</ReferentialConstraint>
</Association>
+ <Association Name="FK_TANGO_VERSIONS_MACHINE_VERSIONS">
+ <End Role="MACHINE_VERSIONS" Type="Self.MACHINE_VERSIONS" Multiplicity="1" />
+ <End Role="TANGO_VERSIONS" Type="Self.TANGO_VERSIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MACHINE_VERSIONS">
+ <PropertyRef Name="GUID" />
+ </Principal>
+ <Dependent Role="TANGO_VERSIONS">
+ <PropertyRef Name="MACHINE_VERSION_GUID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_TANGO_VERSIONS_USERS">
+ <End Role="USERS" Type="Self.USERS" Multiplicity="1" />
+ <End Role="TANGO_VERSIONS" Type="Self.TANGO_VERSIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="USERS">
+ <PropertyRef Name="GUID" />
+ </Principal>
+ <Dependent Role="TANGO_VERSIONS">
+ <PropertyRef Name="USER_GUID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
<Association Name="FK_USERS_ADDRESSES">
<End Role="ADDRESSES" Type="Self.ADDRESSES" Multiplicity="1">
<OnDelete Action="Cascade" />
@@ -2142,7 +2129,6 @@
<EntitySet Name="APPLICATION_DISPLAY_PANEL_VERSIONS" EntityType="Self.APPLICATION_DISPLAY_PANEL_VERSIONS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="APPLICATION_FIRMWARE_VERSIONS" EntityType="Self.APPLICATION_FIRMWARE_VERSIONS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="APPLICATION_OS_VERSIONS" EntityType="Self.APPLICATION_OS_VERSIONS" Schema="dbo" store:Type="Tables" />
- <EntitySet Name="APPLICATION_VERSIONS" EntityType="Self.APPLICATION_VERSIONS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="BRUSH_STOPS" EntityType="Self.BRUSH_STOPS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="CARTRIDGE_TYPES" EntityType="Self.CARTRIDGE_TYPES" Schema="dbo" store:Type="Tables" />
<EntitySet Name="CATS" EntityType="Self.CATS" Schema="dbo" store:Type="Tables" />
@@ -2154,7 +2140,6 @@
<EntitySet Name="CUSTOMERS" EntityType="Self.CUSTOMERS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="DISPENSER_TYPES" EntityType="Self.DISPENSER_TYPES" Schema="dbo" store:Type="Tables" />
<EntitySet Name="EMBEDDED_FIRMWARE_VERSIONS" EntityType="Self.EMBEDDED_FIRMWARE_VERSIONS" Schema="dbo" store:Type="Tables" />
- <EntitySet Name="EMBEDDED_SOFTWARE_VERSIONS" EntityType="Self.EMBEDDED_SOFTWARE_VERSIONS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="EVENT_TYPES" EntityType="Self.EVENT_TYPES" Schema="dbo" store:Type="Tables" />
<EntitySet Name="EVENT_TYPES_ACTIONS" EntityType="Self.EVENT_TYPES_ACTIONS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="EVENT_TYPES_CATEGORIES" EntityType="Self.EVENT_TYPES_CATEGORIES" Schema="dbo" store:Type="Tables" />
@@ -2205,6 +2190,7 @@
<EntitySet Name="SPOOL_TYPES" EntityType="Self.SPOOL_TYPES" Schema="dbo" store:Type="Tables" />
<EntitySet Name="SYNC_CONFIGURATIONS" EntityType="Self.SYNC_CONFIGURATIONS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="sysdiagrams" EntityType="Self.sysdiagrams" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="TANGO_VERSIONS" EntityType="Self.TANGO_VERSIONS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="TECH_CONTROLLERS" EntityType="Self.TECH_CONTROLLERS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="TECH_DISPENSERS" EntityType="Self.TECH_DISPENSERS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="TECH_IOS" EntityType="Self.TECH_IOS" Schema="dbo" store:Type="Tables" />
@@ -2257,10 +2243,6 @@
<End Role="APPLICATION_OS_VERSIONS" EntitySet="APPLICATION_OS_VERSIONS" />
<End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
</AssociationSet>
- <AssociationSet Name="FK_CONFIGURATIONS_APPLICATION_VERSIONS" Association="Self.FK_CONFIGURATIONS_APPLICATION_VERSIONS">
- <End Role="APPLICATION_VERSIONS" EntitySet="APPLICATION_VERSIONS" />
- <End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
- </AssociationSet>
<AssociationSet Name="FK_CONFIGURATIONS_DISPENSERS_LIQUIDS" Association="Self.FK_CONFIGURATIONS_DISPENSERS_LIQUIDS">
<End Role="LIQUID_TYPES" EntitySet="LIQUID_TYPES" />
<End Role="IDS_PACKS" EntitySet="IDS_PACKS" />
@@ -2269,10 +2251,6 @@
<End Role="EMBEDDED_FIRMWARE_VERSIONS" EntitySet="EMBEDDED_FIRMWARE_VERSIONS" />
<End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
</AssociationSet>
- <AssociationSet Name="FK_CONFIGURATIONS_EMBEDDED_SOFTWARE_VERSIONS" Association="Self.FK_CONFIGURATIONS_EMBEDDED_SOFTWARE_VERSIONS">
- <End Role="EMBEDDED_SOFTWARE_VERSIONS" EntitySet="EMBEDDED_SOFTWARE_VERSIONS" />
- <End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
- </AssociationSet>
<AssociationSet Name="FK_CONFIGURATIONS_HARDWARE_VERSIONS" Association="Self.FK_CONFIGURATIONS_HARDWARE_VERSIONS">
<End Role="HARDWARE_VERSIONS" EntitySet="HARDWARE_VERSIONS" />
<End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
@@ -2525,6 +2503,14 @@
<End Role="JOBS" EntitySet="JOBS" />
<End Role="SEGMENTS" EntitySet="SEGMENTS" />
</AssociationSet>
+ <AssociationSet Name="FK_TANGO_VERSIONS_MACHINE_VERSIONS" Association="Self.FK_TANGO_VERSIONS_MACHINE_VERSIONS">
+ <End Role="MACHINE_VERSIONS" EntitySet="MACHINE_VERSIONS" />
+ <End Role="TANGO_VERSIONS" EntitySet="TANGO_VERSIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_TANGO_VERSIONS_USERS" Association="Self.FK_TANGO_VERSIONS_USERS">
+ <End Role="USERS" EntitySet="USERS" />
+ <End Role="TANGO_VERSIONS" EntitySet="TANGO_VERSIONS" />
+ </AssociationSet>
<AssociationSet Name="FK_USERS_ADDRESSES" Association="Self.FK_USERS_ADDRESSES">
<End Role="ADDRESSES" EntitySet="ADDRESSES" />
<End Role="USERS" EntitySet="USERS" />
@@ -2557,7 +2543,6 @@
<EntitySet Name="APPLICATION_DISPLAY_PANEL_VERSIONS" EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" />
<EntitySet Name="APPLICATION_FIRMWARE_VERSIONS" EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" />
<EntitySet Name="APPLICATION_OS_VERSIONS" EntityType="RemoteModel.APPLICATION_OS_VERSIONS" />
- <EntitySet Name="APPLICATION_VERSIONS" EntityType="RemoteModel.APPLICATION_VERSIONS" />
<EntitySet Name="BRUSH_STOPS" EntityType="RemoteModel.BRUSH_STOPS" />
<EntitySet Name="CARTRIDGE_TYPES" EntityType="RemoteModel.CARTRIDGE_TYPES" />
<EntitySet Name="CATS" EntityType="RemoteModel.CAT" />
@@ -2569,7 +2554,6 @@
<EntitySet Name="CUSTOMERS" EntityType="RemoteModel.CUSTOMER" />
<EntitySet Name="DISPENSER_TYPES" EntityType="RemoteModel.DISPENSER_TYPES" />
<EntitySet Name="EMBEDDED_FIRMWARE_VERSIONS" EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" />
- <EntitySet Name="EMBEDDED_SOFTWARE_VERSIONS" EntityType="RemoteModel.EMBEDDED_SOFTWARE_VERSIONS" />
<EntitySet Name="EVENT_TYPES" EntityType="RemoteModel.EVENT_TYPES" />
<EntitySet Name="EVENT_TYPES_ACTIONS" EntityType="RemoteModel.EVENT_TYPES_ACTIONS" />
<EntitySet Name="EVENT_TYPES_CATEGORIES" EntityType="RemoteModel.EVENT_TYPES_CATEGORIES" />
@@ -2619,6 +2603,7 @@
<EntitySet Name="SEGMENTS" EntityType="RemoteModel.SEGMENT" />
<EntitySet Name="SPOOL_TYPES" EntityType="RemoteModel.SPOOL_TYPES" />
<EntitySet Name="sysdiagrams" EntityType="RemoteModel.sysdiagram" />
+ <EntitySet Name="TANGO_VERSIONS" EntityType="RemoteModel.TANGO_VERSIONS" />
<EntitySet Name="TECH_CONTROLLERS" EntityType="RemoteModel.TECH_CONTROLLERS" />
<EntitySet Name="TECH_DISPENSERS" EntityType="RemoteModel.TECH_DISPENSERS" />
<EntitySet Name="TECH_IOS" EntityType="RemoteModel.TECH_IOS" />
@@ -2651,10 +2636,6 @@
<End Role="APPLICATION_OS_VERSIONS" EntitySet="APPLICATION_OS_VERSIONS" />
<End Role="CONFIGURATION" EntitySet="CONFIGURATIONS" />
</AssociationSet>
- <AssociationSet Name="FK_CONFIGURATIONS_APPLICATION_VERSIONS" Association="RemoteModel.FK_CONFIGURATIONS_APPLICATION_VERSIONS">
- <End Role="APPLICATION_VERSIONS" EntitySet="APPLICATION_VERSIONS" />
- <End Role="CONFIGURATION" EntitySet="CONFIGURATIONS" />
- </AssociationSet>
<AssociationSet Name="FK_BRUSH_STOPS_COLOR_CATALOGS" Association="RemoteModel.FK_BRUSH_STOPS_COLOR_CATALOGS">
<End Role="COLOR_CATALOGS" EntitySet="COLOR_CATALOGS" />
<End Role="BRUSH_STOPS" EntitySet="BRUSH_STOPS" />
@@ -2703,10 +2684,6 @@
<End Role="EMBEDDED_FIRMWARE_VERSIONS" EntitySet="EMBEDDED_FIRMWARE_VERSIONS" />
<End Role="CONFIGURATION" EntitySet="CONFIGURATIONS" />
</AssociationSet>
- <AssociationSet Name="FK_CONFIGURATIONS_EMBEDDED_SOFTWARE_VERSIONS" Association="RemoteModel.FK_CONFIGURATIONS_EMBEDDED_SOFTWARE_VERSIONS">
- <End Role="EMBEDDED_SOFTWARE_VERSIONS" EntitySet="EMBEDDED_SOFTWARE_VERSIONS" />
- <End Role="CONFIGURATION" EntitySet="CONFIGURATIONS" />
- </AssociationSet>
<AssociationSet Name="FK_CONFIGURATIONS_HARDWARE_VERSIONS" Association="RemoteModel.FK_CONFIGURATIONS_HARDWARE_VERSIONS">
<End Role="HARDWARE_VERSIONS" EntitySet="HARDWARE_VERSIONS" />
<End Role="CONFIGURATION" EntitySet="CONFIGURATIONS" />
@@ -2891,6 +2868,10 @@
<End Role="MACHINE_VERSIONS" EntitySet="MACHINE_VERSIONS" />
<End Role="MACHINE" EntitySet="MACHINES" />
</AssociationSet>
+ <AssociationSet Name="FK_TANGO_VERSIONS_MACHINE_VERSIONS" Association="RemoteModel.FK_TANGO_VERSIONS_MACHINE_VERSIONS">
+ <End Role="MACHINE_VERSIONS" EntitySet="MACHINE_VERSIONS" />
+ <End Role="TANGO_VERSIONS" EntitySet="TANGO_VERSIONS" />
+ </AssociationSet>
<AssociationSet Name="FK_MACHINES_CONFIGURATIONS_MACHINES" Association="RemoteModel.FK_MACHINES_CONFIGURATIONS_MACHINES">
<End Role="MACHINE" EntitySet="MACHINES" />
<End Role="MACHINES_CONFIGURATIONS" EntitySet="MACHINES_CONFIGURATIONS" />
@@ -2955,6 +2936,10 @@
<End Role="ROLE" EntitySet="ROLES" />
<End Role="USERS_ROLES" EntitySet="USERS_ROLES" />
</AssociationSet>
+ <AssociationSet Name="FK_TANGO_VERSIONS_USERS" Association="RemoteModel.FK_TANGO_VERSIONS_USERS">
+ <End Role="USER" EntitySet="USERS" />
+ <End Role="TANGO_VERSIONS" EntitySet="TANGO_VERSIONS" />
+ </AssociationSet>
<AssociationSet Name="FK_USERS_ROLES_USERS" Association="RemoteModel.FK_USERS_ROLES_USERS">
<End Role="USER" EntitySet="USERS" />
<End Role="USERS_ROLES" EntitySet="USERS_ROLES" />
@@ -3031,19 +3016,6 @@
<Property Name="NAME" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
<NavigationProperty Name="CONFIGURATIONS" Relationship="RemoteModel.FK_CONFIGURATIONS_APPLICATION_OS_VERSIONS" FromRole="APPLICATION_OS_VERSIONS" ToRole="CONFIGURATION" />
</EntityType>
- <EntityType Name="APPLICATION_VERSIONS">
- <Key>
- <PropertyRef Name="GUID" />
- </Key>
- <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
- <Property Name="GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
- <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
- <Property Name="VERSION" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="false" />
- <Property Name="NAME" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
- <Property Name="FTP_FILE_PATH" Type="String" Nullable="false" MaxLength="200" FixedLength="false" Unicode="false" />
- <Property Name="COMMENTS" Type="String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" />
- <NavigationProperty Name="CONFIGURATIONS" Relationship="RemoteModel.FK_CONFIGURATIONS_APPLICATION_VERSIONS" FromRole="APPLICATION_VERSIONS" ToRole="CONFIGURATION" />
- </EntityType>
<EntityType Name="BRUSH_STOPS">
<Key>
<PropertyRef Name="GUID" />
@@ -3180,19 +3152,15 @@
<Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
<Property Name="NAME" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
<Property Name="CREATION_DATE" Type="DateTime" Nullable="false" Precision="3" />
- <Property Name="APPLICATION_VERSION_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
<Property Name="APPLICATION_OS_VERSION_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
<Property Name="APPLICATION_FIRMWARE_VERSION_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
<Property Name="APPLICATION_DISPLAY_PANEL_VERSION_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
<Property Name="EMBEDDED_FIRMWARE_VERSION_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
- <Property Name="EMBEDDED_SOFTWARE_VERSION_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
<Property Name="HARDWARE_VERSION_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
<NavigationProperty Name="APPLICATION_DISPLAY_PANEL_VERSIONS" Relationship="RemoteModel.FK_CONFIGURATIONS_APPLICATION_DISPLAY_PANEL_VERSIONS" FromRole="CONFIGURATION" ToRole="APPLICATION_DISPLAY_PANEL_VERSIONS" />
<NavigationProperty Name="APPLICATION_FIRMWARE_VERSIONS" Relationship="RemoteModel.FK_CONFIGURATIONS_APPLICATION_FIRMWARE_VERSIONS" FromRole="CONFIGURATION" ToRole="APPLICATION_FIRMWARE_VERSIONS" />
<NavigationProperty Name="APPLICATION_OS_VERSIONS" Relationship="RemoteModel.FK_CONFIGURATIONS_APPLICATION_OS_VERSIONS" FromRole="CONFIGURATION" ToRole="APPLICATION_OS_VERSIONS" />
- <NavigationProperty Name="APPLICATION_VERSIONS" Relationship="RemoteModel.FK_CONFIGURATIONS_APPLICATION_VERSIONS" FromRole="CONFIGURATION" ToRole="APPLICATION_VERSIONS" />
<NavigationProperty Name="EMBEDDED_FIRMWARE_VERSIONS" Relationship="RemoteModel.FK_CONFIGURATIONS_EMBEDDED_FIRMWARE_VERSIONS" FromRole="CONFIGURATION" ToRole="EMBEDDED_FIRMWARE_VERSIONS" />
- <NavigationProperty Name="EMBEDDED_SOFTWARE_VERSIONS" Relationship="RemoteModel.FK_CONFIGURATIONS_EMBEDDED_SOFTWARE_VERSIONS" FromRole="CONFIGURATION" ToRole="EMBEDDED_SOFTWARE_VERSIONS" />
<NavigationProperty Name="HARDWARE_VERSIONS" Relationship="RemoteModel.FK_CONFIGURATIONS_HARDWARE_VERSIONS" FromRole="CONFIGURATION" ToRole="HARDWARE_VERSIONS" />
<NavigationProperty Name="IDS_PACKS" Relationship="RemoteModel.FK_IDS_PACKS_CONFIGURATIONS" FromRole="CONFIGURATION" ToRole="IDS_PACKS" />
<NavigationProperty Name="MACHINE_VERSIONS" Relationship="RemoteModel.FK_MACHINE_VERSIONS_CONFIGURATIONS" FromRole="CONFIGURATION" ToRole="MACHINE_VERSIONS" />
@@ -3252,19 +3220,6 @@
<Property Name="NAME" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
<NavigationProperty Name="CONFIGURATIONS" Relationship="RemoteModel.FK_CONFIGURATIONS_EMBEDDED_FIRMWARE_VERSIONS" FromRole="EMBEDDED_FIRMWARE_VERSIONS" ToRole="CONFIGURATION" />
</EntityType>
- <EntityType Name="EMBEDDED_SOFTWARE_VERSIONS">
- <Key>
- <PropertyRef Name="GUID" />
- </Key>
- <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
- <Property Name="GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
- <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
- <Property Name="VERSION" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="false" />
- <Property Name="NAME" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="true" />
- <Property Name="FTP_FILE_PATH" Type="String" Nullable="false" MaxLength="200" FixedLength="false" Unicode="false" />
- <Property Name="COMMENTS" Type="String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" />
- <NavigationProperty Name="CONFIGURATIONS" Relationship="RemoteModel.FK_CONFIGURATIONS_EMBEDDED_SOFTWARE_VERSIONS" FromRole="EMBEDDED_SOFTWARE_VERSIONS" ToRole="CONFIGURATION" />
- </EntityType>
<EntityType Name="EVENT_TYPES">
<Key>
<PropertyRef Name="GUID" />
@@ -3765,6 +3720,7 @@
<Property Name="DEFAULT_CONFIGURATION_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
<NavigationProperty Name="CONFIGURATION" Relationship="RemoteModel.FK_MACHINE_VERSIONS_CONFIGURATIONS" FromRole="MACHINE_VERSIONS" ToRole="CONFIGURATION" />
<NavigationProperty Name="MACHINES" Relationship="RemoteModel.FK_MACHINES_MACHINE_VERSIONS" FromRole="MACHINE_VERSIONS" ToRole="MACHINE" />
+ <NavigationProperty Name="TANGO_VERSIONS" Relationship="RemoteModel.FK_TANGO_VERSIONS_MACHINE_VERSIONS" FromRole="MACHINE_VERSIONS" ToRole="TANGO_VERSIONS" />
</EntityType>
<EntityType Name="MACHINE">
<Key>
@@ -4067,6 +4023,21 @@
<Property Name="version" Type="Int32" />
<Property Name="definition" Type="Binary" MaxLength="Max" FixedLength="false" />
</EntityType>
+ <EntityType Name="TANGO_VERSIONS">
+ <Key>
+ <PropertyRef Name="GUID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="VERSION" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="false" />
+ <Property Name="FTP_FILE_PATH" Type="String" Nullable="false" MaxLength="200" FixedLength="false" Unicode="false" />
+ <Property Name="COMMENTS" Type="String" Nullable="false" MaxLength="Max" FixedLength="false" Unicode="true" />
+ <Property Name="USER_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
+ <Property Name="MACHINE_VERSION_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
+ <NavigationProperty Name="MACHINE_VERSIONS" Relationship="RemoteModel.FK_TANGO_VERSIONS_MACHINE_VERSIONS" FromRole="TANGO_VERSIONS" ToRole="MACHINE_VERSIONS" />
+ <NavigationProperty Name="USER" Relationship="RemoteModel.FK_TANGO_VERSIONS_USERS" FromRole="TANGO_VERSIONS" ToRole="USER" />
+ </EntityType>
<EntityType Name="TECH_CONTROLLERS">
<Key>
<PropertyRef Name="GUID" />
@@ -4158,6 +4129,7 @@
<NavigationProperty Name="MACHINE_STUDIO_VERSIONS" Relationship="RemoteModel.FK_MACHINE_STUDIO_VERSIONS_USERS" FromRole="USER" ToRole="MACHINE_STUDIO_VERSIONS" />
<NavigationProperty Name="MACHINES_EVENTS" Relationship="RemoteModel.FK_MACHINES_EVENTS_USERS" FromRole="USER" ToRole="MACHINES_EVENTS" />
<NavigationProperty Name="ORGANIZATION" Relationship="RemoteModel.FK_USERS_ORGANIZATIONS" FromRole="USER" ToRole="ORGANIZATION" />
+ <NavigationProperty Name="TANGO_VERSIONS" Relationship="RemoteModel.FK_TANGO_VERSIONS_USERS" FromRole="USER" ToRole="TANGO_VERSIONS" />
<NavigationProperty Name="USERS_ROLES" Relationship="RemoteModel.FK_USERS_ROLES_USERS" FromRole="USER" ToRole="USERS_ROLES" />
</EntityType>
<EntityType Name="USERS_ROLES">
@@ -4263,18 +4235,6 @@
</Dependent>
</ReferentialConstraint>
</Association>
- <Association Name="FK_CONFIGURATIONS_APPLICATION_VERSIONS">
- <End Type="RemoteModel.APPLICATION_VERSIONS" Role="APPLICATION_VERSIONS" Multiplicity="1" />
- <End Type="RemoteModel.CONFIGURATION" Role="CONFIGURATION" Multiplicity="*" />
- <ReferentialConstraint>
- <Principal Role="APPLICATION_VERSIONS">
- <PropertyRef Name="GUID" />
- </Principal>
- <Dependent Role="CONFIGURATION">
- <PropertyRef Name="APPLICATION_VERSION_GUID" />
- </Dependent>
- </ReferentialConstraint>
- </Association>
<Association Name="FK_BRUSH_STOPS_COLOR_CATALOGS">
<End Type="RemoteModel.COLOR_CATALOGS" Role="COLOR_CATALOGS" Multiplicity="0..1" />
<End Type="RemoteModel.BRUSH_STOPS" Role="BRUSH_STOPS" Multiplicity="*" />
@@ -4429,18 +4389,6 @@
</Dependent>
</ReferentialConstraint>
</Association>
- <Association Name="FK_CONFIGURATIONS_EMBEDDED_SOFTWARE_VERSIONS">
- <End Type="RemoteModel.EMBEDDED_SOFTWARE_VERSIONS" Role="EMBEDDED_SOFTWARE_VERSIONS" Multiplicity="1" />
- <End Type="RemoteModel.CONFIGURATION" Role="CONFIGURATION" Multiplicity="*" />
- <ReferentialConstraint>
- <Principal Role="EMBEDDED_SOFTWARE_VERSIONS">
- <PropertyRef Name="GUID" />
- </Principal>
- <Dependent Role="CONFIGURATION">
- <PropertyRef Name="EMBEDDED_SOFTWARE_VERSION_GUID" />
- </Dependent>
- </ReferentialConstraint>
- </Association>
<Association Name="FK_CONFIGURATIONS_HARDWARE_VERSIONS">
<End Type="RemoteModel.HARDWARE_VERSIONS" Role="HARDWARE_VERSIONS" Multiplicity="1" />
<End Type="RemoteModel.CONFIGURATION" Role="CONFIGURATION" Multiplicity="*" />
@@ -5039,6 +4987,18 @@
</Dependent>
</ReferentialConstraint>
</Association>
+ <Association Name="FK_TANGO_VERSIONS_MACHINE_VERSIONS">
+ <End Type="RemoteModel.MACHINE_VERSIONS" Role="MACHINE_VERSIONS" Multiplicity="1" />
+ <End Type="RemoteModel.TANGO_VERSIONS" Role="TANGO_VERSIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MACHINE_VERSIONS">
+ <PropertyRef Name="GUID" />
+ </Principal>
+ <Dependent Role="TANGO_VERSIONS">
+ <PropertyRef Name="MACHINE_VERSION_GUID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
<Association Name="FK_MACHINES_CONFIGURATIONS_MACHINES">
<End Type="RemoteModel.MACHINE" Role="MACHINE" Multiplicity="1">
<OnDelete Action="Cascade" />
@@ -5243,6 +5203,18 @@
</Dependent>
</ReferentialConstraint>
</Association>
+ <Association Name="FK_TANGO_VERSIONS_USERS">
+ <End Type="RemoteModel.USER" Role="USER" Multiplicity="1" />
+ <End Type="RemoteModel.TANGO_VERSIONS" Role="TANGO_VERSIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="USER">
+ <PropertyRef Name="GUID" />
+ </Principal>
+ <Dependent Role="TANGO_VERSIONS">
+ <PropertyRef Name="USER_GUID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
<Association Name="FK_USERS_ROLES_USERS">
<End Type="RemoteModel.USER" Role="USER" Multiplicity="1">
<OnDelete Action="Cascade" />
@@ -5334,19 +5306,6 @@
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
- <EntitySetMapping Name="APPLICATION_VERSIONS">
- <EntityTypeMapping TypeName="RemoteModel.APPLICATION_VERSIONS">
- <MappingFragment StoreEntitySet="APPLICATION_VERSIONS">
- <ScalarProperty Name="COMMENTS" ColumnName="COMMENTS" />
- <ScalarProperty Name="FTP_FILE_PATH" ColumnName="FTP_FILE_PATH" />
- <ScalarProperty Name="NAME" ColumnName="NAME" />
- <ScalarProperty Name="VERSION" ColumnName="VERSION" />
- <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
- <ScalarProperty Name="GUID" ColumnName="GUID" />
- <ScalarProperty Name="ID" ColumnName="ID" />
- </MappingFragment>
- </EntityTypeMapping>
- </EntitySetMapping>
<EntitySetMapping Name="BRUSH_STOPS">
<EntityTypeMapping TypeName="RemoteModel.BRUSH_STOPS">
<MappingFragment StoreEntitySet="BRUSH_STOPS">
@@ -5470,12 +5429,10 @@
<EntityTypeMapping TypeName="RemoteModel.CONFIGURATION">
<MappingFragment StoreEntitySet="CONFIGURATIONS">
<ScalarProperty Name="HARDWARE_VERSION_GUID" ColumnName="HARDWARE_VERSION_GUID" />
- <ScalarProperty Name="EMBEDDED_SOFTWARE_VERSION_GUID" ColumnName="EMBEDDED_SOFTWARE_VERSION_GUID" />
<ScalarProperty Name="EMBEDDED_FIRMWARE_VERSION_GUID" ColumnName="EMBEDDED_FIRMWARE_VERSION_GUID" />
<ScalarProperty Name="APPLICATION_DISPLAY_PANEL_VERSION_GUID" ColumnName="APPLICATION_DISPLAY_PANEL_VERSION_GUID" />
<ScalarProperty Name="APPLICATION_FIRMWARE_VERSION_GUID" ColumnName="APPLICATION_FIRMWARE_VERSION_GUID" />
<ScalarProperty Name="APPLICATION_OS_VERSION_GUID" ColumnName="APPLICATION_OS_VERSION_GUID" />
- <ScalarProperty Name="APPLICATION_VERSION_GUID" ColumnName="APPLICATION_VERSION_GUID" />
<ScalarProperty Name="CREATION_DATE" ColumnName="CREATION_DATE" />
<ScalarProperty Name="NAME" ColumnName="NAME" />
<ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
@@ -5535,19 +5492,6 @@
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
- <EntitySetMapping Name="EMBEDDED_SOFTWARE_VERSIONS">
- <EntityTypeMapping TypeName="RemoteModel.EMBEDDED_SOFTWARE_VERSIONS">
- <MappingFragment StoreEntitySet="EMBEDDED_SOFTWARE_VERSIONS">
- <ScalarProperty Name="COMMENTS" ColumnName="COMMENTS" />
- <ScalarProperty Name="FTP_FILE_PATH" ColumnName="FTP_FILE_PATH" />
- <ScalarProperty Name="NAME" ColumnName="NAME" />
- <ScalarProperty Name="VERSION" ColumnName="VERSION" />
- <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
- <ScalarProperty Name="GUID" ColumnName="GUID" />
- <ScalarProperty Name="ID" ColumnName="ID" />
- </MappingFragment>
- </EntityTypeMapping>
- </EntitySetMapping>
<EntitySetMapping Name="EVENT_TYPES">
<EntityTypeMapping TypeName="RemoteModel.EVENT_TYPES">
<MappingFragment StoreEntitySet="EVENT_TYPES">
@@ -6282,6 +6226,20 @@
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
+ <EntitySetMapping Name="TANGO_VERSIONS">
+ <EntityTypeMapping TypeName="RemoteModel.TANGO_VERSIONS">
+ <MappingFragment StoreEntitySet="TANGO_VERSIONS">
+ <ScalarProperty Name="MACHINE_VERSION_GUID" ColumnName="MACHINE_VERSION_GUID" />
+ <ScalarProperty Name="USER_GUID" ColumnName="USER_GUID" />
+ <ScalarProperty Name="COMMENTS" ColumnName="COMMENTS" />
+ <ScalarProperty Name="FTP_FILE_PATH" ColumnName="FTP_FILE_PATH" />
+ <ScalarProperty Name="VERSION" ColumnName="VERSION" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
<EntitySetMapping Name="TECH_CONTROLLERS">
<EntityTypeMapping TypeName="RemoteModel.TECH_CONTROLLERS">
<MappingFragment StoreEntitySet="TECH_CONTROLLERS">
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
index 801e44e43..7683026fb 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
@@ -5,88 +5,86 @@
<!-- Diagram content (shape and connector positions) -->
<edmx:Diagrams>
<Diagram DiagramId="f9ae01d708754bbd997add25a4bacc79" Name="Diagram1">
- <EntityTypeShape EntityType="RemoteModel.ACTION_TYPES" Width="1.5" PointX="16.25" PointY="36.125" />
- <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="3.75" PointY="29.25" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="3.75" PointY="54.125" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="3.75" PointY="70.875" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="3.75" PointY="51.125" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_VERSIONS" Width="1.5" PointX="3.75" PointY="64.625" />
- <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="15" PointY="15.125" />
- <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="6" PointY="36.375" />
- <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="5.25" PointY="18.625" />
- <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="5.25" PointY="39.625" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="12.75" PointY="9.5" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="6" PointY="32.5" />
- <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="6" PointY="59.375" />
- <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="3.75" PointY="25.125" />
- <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="8.25" PointY="14" />
- <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="6" PointY="11.625" />
- <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="3.75" PointY="67.875" />
- <EntityTypeShape EntityType="RemoteModel.EMBEDDED_SOFTWARE_VERSIONS" Width="1.5" PointX="3.75" PointY="61.25" />
- <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="13.25" PointY="28.25" />
- <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES_ACTIONS" Width="1.5" PointX="18.5" PointY="29.125" />
- <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES_CATEGORIES" Width="1.5" PointX="11" PointY="32.25" />
- <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES_GROUPS" Width="1.5" PointX="11" PointY="29.125" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="28.5" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="11.875" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="6.75" PointY="50.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="9" PointY="52.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="6.75" PointY="81.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="9" PointY="66.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="9.75" PointY="44.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="12" PointY="56.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="9.75" PointY="48.5" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="12" PointY="48.25" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="6.75" PointY="70.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="9" PointY="56" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSOR_TYPES" Width="1.5" PointX="6.75" PointY="77.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="9" PointY="62.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="3.75" PointY="57" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="9.75" PointY="70.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="12" PointY="62.5" />
- <EntityTypeShape EntityType="RemoteModel.HTML_PAGES" Width="1.5" PointX="11" PointY="25.875" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="6" PointY="23.25" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="8.25" PointY="36" />
- <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="12.75" PointY="20.75" />
- <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="10.5" PointY="15.5" />
- <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="31.5" />
- <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="3" PointY="11.75" />
- <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="5.25" PointY="15" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="10.5" PointY="36" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="6" PointY="66.375" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="8.25" PointY="17.125" />
- <EntityTypeShape EntityType="RemoteModel.MACHINES_CONFIGURATIONS" Width="1.5" PointX="10.5" PointY="12.125" />
- <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="15.5" PointY="23.625" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_COLORS" Width="1.5" PointX="0.75" PointY="19" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="14.75" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="25.625" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="22.75" />
- <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="6" PointY="73.875" />
- <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="6" PointY="27.375" />
- <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="16.25" PointY="32.125" />
- <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="43.75" />
- <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="45.25" />
- <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="16.25" />
- <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="13.25" PointY="24.125" />
- <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="18.5" PointY="24.125" />
- <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="12.75" PointY="17.25" />
- <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="6" PointY="53.75" />
- <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="0.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="2.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="4.75" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="0.75" PointY="4.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="2.75" PointY="4.75" />
- <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="4.75" PointY="3.75" />
- <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="8.25" PointY="27.25" />
- <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="15.5" PointY="28.125" />
- <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="8.25" PointY="24.125" />
+ <EntityTypeShape EntityType="RemoteModel.ACTION_TYPES" Width="1.5" PointX="10.25" PointY="43.875" />
+ <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="0.75" PointY="40.625" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="0.75" PointY="44.875" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="0.75" PointY="50.75" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="0.75" PointY="47.75" />
+ <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="15" PointY="20.25" />
+ <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="6" PointY="38.125" />
+ <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="7.5" PointY="20.5" />
+ <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="5.25" PointY="41.5" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="12.75" PointY="26.625" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="3" PointY="7.875" />
+ <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="3" PointY="50.125" />
+ <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="0.75" PointY="36.5" />
+ <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="8.25" PointY="32" />
+ <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="6" PointY="68.125" />
+ <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="0.75" PointY="57.875" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="5.25" PointY="58" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES_ACTIONS" Width="1.5" PointX="12.5" PointY="53.875" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES_CATEGORIES" Width="1.5" PointX="3" PointY="59" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES_GROUPS" Width="1.5" PointX="3" PointY="62.125" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="13.5" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="16.375" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="3.75" PointY="65.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="6" PointY="54" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="5.75" PointY="76.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="8" PointY="58" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="5.75" PointY="80.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="8" PointY="62.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="8.75" PointY="68.125" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="11" PointY="57.875" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="7.75" PointY="42.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="10" PointY="47.625" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSOR_TYPES" Width="1.5" PointX="0.75" PointY="61.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="3" PointY="46" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="0.75" PointY="53.625" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="6.75" PointY="72.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="9" PointY="54.125" />
+ <EntityTypeShape EntityType="RemoteModel.HTML_PAGES" Width="1.5" PointX="3" PointY="55.625" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="6" PointY="34.875" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="8.25" PointY="35.5" />
+ <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="12.75" PointY="19" />
+ <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="10.5" PointY="17.25" />
+ <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="30.5" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="6" PointY="14.625" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="8.25" PointY="16.75" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="10.5" PointY="12.5" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="3" PointY="4.375" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="5.25" PointY="19" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINES_CONFIGURATIONS" Width="1.5" PointX="13.5" PointY="15.875" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="7.5" PointY="24.375" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_COLORS" Width="1.5" PointX="0.75" PointY="24.25" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="27.625" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="21" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="33.5" />
+ <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="6" PointY="31.75" />
+ <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="3" PointY="38.75" />
+ <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="11.25" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="45.5" />
+ <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="47.125" />
+ <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="18.125" />
+ <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="11.25" PointY="4.625" />
+ <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="13.5" PointY="4.75" />
+ <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="12.75" PointY="22.375" />
+ <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="3" PointY="33.875" />
+ <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="5.75" PointY="2.5" />
+ <EntityTypeShape EntityType="RemoteModel.TANGO_VERSIONS" Width="1.5" PointX="10.5" PointY="8.25" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="5.75" PointY="5.5" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="7.75" PointY="2.5" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="7.75" PointY="5.5" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="2.75" PointY="11.5" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="4.75" PointY="11.5" />
+ <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="8.25" PointY="10.75" />
+ <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="13.5" PointY="11.625" />
+ <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="8.25" PointY="28.875" />
<AssociationConnector Association="RemoteModel.FK_EVENTS_ACTIONS_ACTIONS" />
<AssociationConnector Association="RemoteModel.FK_ORGANIZATIONS_ADDRESSES" />
<AssociationConnector Association="RemoteModel.FK_USERS_ADDRESSES" />
<AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_APPLICATION_DISPLAY_PANEL_VERSIONS" />
<AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_APPLICATION_FIRMWARE_VERSIONS" />
<AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_APPLICATION_OS_VERSIONS" />
- <AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_APPLICATION_VERSIONS" />
<AssociationConnector Association="RemoteModel.FK_BRUSH_STOPS_COLOR_CATALOGS" />
<AssociationConnector Association="RemoteModel.FK_BRUSH_STOPS_COLOR_SPACES" />
<AssociationConnector Association="RemoteModel.FK_BRUSH_STOPS_SEGMENTS" />
@@ -99,7 +97,6 @@
<AssociationConnector Association="RemoteModel.FK_JOBS_COLOR_SPACES" />
<AssociationConnector Association="RemoteModel.FK_MACHINES_COLOR_SPACES" />
<AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_EMBEDDED_FIRMWARE_VERSIONS" />
- <AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_EMBEDDED_SOFTWARE_VERSIONS" />
<AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_HARDWARE_VERSIONS" />
<AssociationConnector Association="RemoteModel.FK_IDS_PACKS_CONFIGURATIONS" />
<AssociationConnector Association="RemoteModel.FK_MACHINE_VERSIONS_CONFIGURATIONS" />
@@ -146,6 +143,7 @@
<AssociationConnector Association="RemoteModel.FK_LIQUID_TYPES_RMLS_RMLS" />
<AssociationConnector Association="RemoteModel.FK_MACHINE_STUDIO_VERSIONS_USERS" />
<AssociationConnector Association="RemoteModel.FK_MACHINES_MACHINE_VERSIONS" />
+ <AssociationConnector Association="RemoteModel.FK_TANGO_VERSIONS_MACHINE_VERSIONS" />
<AssociationConnector Association="RemoteModel.FK_MACHINES_CONFIGURATIONS_MACHINES" />
<AssociationConnector Association="RemoteModel.FK_MACHINES_EVENTS_MACHINES" />
<AssociationConnector Association="RemoteModel.FK_MACHINES_ORGANIZATIONS" />
@@ -162,6 +160,7 @@
<AssociationConnector Association="RemoteModel.FK_PROCESS_PARAMETERS_TABLES_GROUPS_RMLS" />
<AssociationConnector Association="RemoteModel.FK_ROLES_PERMISSIONS_ROLES" />
<AssociationConnector Association="RemoteModel.FK_USERS_ROLES_ROLES" />
+ <AssociationConnector Association="RemoteModel.FK_TANGO_VERSIONS_USERS" />
<AssociationConnector Association="RemoteModel.FK_USERS_ROLES_USERS" />
</Diagram>
</edmx:Diagrams>
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/TANGO_VERSIONS.cs
index 4bc38ca98..96dcb3d95 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_VERSIONS.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/TANGO_VERSIONS.cs
@@ -12,23 +12,18 @@ namespace Tango.DAL.Remote.DB
using System;
using System.Collections.Generic;
- public partial class APPLICATION_VERSIONS
+ public partial class TANGO_VERSIONS
{
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
- public APPLICATION_VERSIONS()
- {
- this.CONFIGURATIONS = new HashSet<CONFIGURATION>();
- }
-
public int ID { get; set; }
public string GUID { get; set; }
public System.DateTime LAST_UPDATED { get; set; }
public string VERSION { get; set; }
- public string NAME { get; set; }
public string FTP_FILE_PATH { get; set; }
public string COMMENTS { get; set; }
+ public string USER_GUID { get; set; }
+ public string MACHINE_VERSION_GUID { get; set; }
- [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
- public virtual ICollection<CONFIGURATION> CONFIGURATIONS { get; set; }
+ public virtual MACHINE_VERSIONS MACHINE_VERSIONS { get; set; }
+ public virtual USER USER { get; set; }
}
}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/USER.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/USER.cs
index 6f4c40811..f8c124d43 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/USER.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/USER.cs
@@ -20,6 +20,7 @@ namespace Tango.DAL.Remote.DB
this.JOBS = new HashSet<JOB>();
this.MACHINE_STUDIO_VERSIONS = new HashSet<MACHINE_STUDIO_VERSIONS>();
this.MACHINES_EVENTS = new HashSet<MACHINES_EVENTS>();
+ this.TANGO_VERSIONS = new HashSet<TANGO_VERSIONS>();
this.USERS_ROLES = new HashSet<USERS_ROLES>();
}
@@ -44,6 +45,8 @@ namespace Tango.DAL.Remote.DB
public virtual ICollection<MACHINES_EVENTS> MACHINES_EVENTS { get; set; }
public virtual ORGANIZATION ORGANIZATION { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<TANGO_VERSIONS> TANGO_VERSIONS { get; set; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<USERS_ROLES> USERS_ROLES { get; set; }
}
}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj b/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj
index d57025a7c..c6440fe68 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj
+++ b/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj
@@ -81,9 +81,6 @@
<Compile Include="DB\APPLICATION_OS_VERSIONS.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>
- <Compile Include="DB\APPLICATION_VERSIONS.cs">
- <DependentUpon>RemoteADO.tt</DependentUpon>
- </Compile>
<Compile Include="DB\BRUSH_STOPS.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>
@@ -117,9 +114,6 @@
<Compile Include="DB\EMBEDDED_FIRMWARE_VERSIONS.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>
- <Compile Include="DB\EMBEDDED_SOFTWARE_VERSIONS.cs">
- <DependentUpon>RemoteADO.tt</DependentUpon>
- </Compile>
<Compile Include="DB\EVENT_TYPES.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>
@@ -285,6 +279,9 @@
<Compile Include="DB\sysdiagram.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>
+ <Compile Include="DB\TANGO_VERSIONS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
<Compile Include="DB\TECH_CONTROLLERS.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>
@@ -359,7 +356,7 @@
</Target>
<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/Tango.PMR/Synchronization/MachineSetupResponse.cs b/Software/Visual_Studio/Tango.PMR/Synchronization/MachineSetupResponse.cs
index 02d312aa1..0618c947e 100644
--- a/Software/Visual_Studio/Tango.PMR/Synchronization/MachineSetupResponse.cs
+++ b/Software/Visual_Studio/Tango.PMR/Synchronization/MachineSetupResponse.cs
@@ -23,17 +23,15 @@ namespace Tango.PMR.Synchronization {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChpNYWNoaW5lU2V0dXBSZXNwb25zZS5wcm90bxIZVGFuZ28uUE1SLlN5bmNo",
- "cm9uaXphdGlvbiLTAQoUTWFjaGluZVNldHVwUmVzcG9uc2USGgoSQXBwbGlj",
- "YXRpb25WZXJzaW9uGAEgASgJEh4KFkFwcGxpY2F0aW9uRnRwRmlsZVBhdGgY",
- "AiABKAkSFwoPRW1iZWRkZWRWZXJzaW9uGAMgASgJEhsKE0VtYmVkZGVkRnRw",
- "RmlsZVBhdGgYBCABKAkSEgoKRnRwQWRkcmVzcxgFIAEoCRIQCghVc2VyTmFt",
- "ZRgGIAEoCRIQCghQYXNzd29yZBgHIAEoCRIRCglEYkFkZHJlc3MYCCABKAlC",
- "JQojY29tLnR3aW5lLnRhbmdvLnBtci5zeW5jaHJvbml6YXRpb25iBnByb3Rv",
- "Mw=="));
+ "cm9uaXphdGlvbiKEAQoUTWFjaGluZVNldHVwUmVzcG9uc2USDwoHVmVyc2lv",
+ "bhgBIAEoCRIQCghGaWxlUGF0aBgCIAEoCRISCgpGdHBBZGRyZXNzGAMgASgJ",
+ "EhAKCFVzZXJOYW1lGAQgASgJEhAKCFBhc3N3b3JkGAUgASgJEhEKCURiQWRk",
+ "cmVzcxgGIAEoCUIlCiNjb20udHdpbmUudGFuZ28ucG1yLnN5bmNocm9uaXph",
+ "dGlvbmIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { },
new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
- new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Synchronization.MachineSetupResponse), global::Tango.PMR.Synchronization.MachineSetupResponse.Parser, new[]{ "ApplicationVersion", "ApplicationFtpFilePath", "EmbeddedVersion", "EmbeddedFtpFilePath", "FtpAddress", "UserName", "Password", "DbAddress" }, null, null, null)
+ new pbr::GeneratedClrTypeInfo(typeof(global::Tango.PMR.Synchronization.MachineSetupResponse), global::Tango.PMR.Synchronization.MachineSetupResponse.Parser, new[]{ "Version", "FilePath", "FtpAddress", "UserName", "Password", "DbAddress" }, null, null, null)
}));
}
#endregion
@@ -64,10 +62,8 @@ namespace Tango.PMR.Synchronization {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public MachineSetupResponse(MachineSetupResponse other) : this() {
- applicationVersion_ = other.applicationVersion_;
- applicationFtpFilePath_ = other.applicationFtpFilePath_;
- embeddedVersion_ = other.embeddedVersion_;
- embeddedFtpFilePath_ = other.embeddedFtpFilePath_;
+ version_ = other.version_;
+ filePath_ = other.filePath_;
ftpAddress_ = other.ftpAddress_;
userName_ = other.userName_;
password_ = other.password_;
@@ -79,52 +75,30 @@ namespace Tango.PMR.Synchronization {
return new MachineSetupResponse(this);
}
- /// <summary>Field number for the "ApplicationVersion" field.</summary>
- public const int ApplicationVersionFieldNumber = 1;
- private string applicationVersion_ = "";
+ /// <summary>Field number for the "Version" field.</summary>
+ public const int VersionFieldNumber = 1;
+ private string version_ = "";
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public string ApplicationVersion {
- get { return applicationVersion_; }
+ public string Version {
+ get { return version_; }
set {
- applicationVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ version_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
- /// <summary>Field number for the "ApplicationFtpFilePath" field.</summary>
- public const int ApplicationFtpFilePathFieldNumber = 2;
- private string applicationFtpFilePath_ = "";
+ /// <summary>Field number for the "FilePath" field.</summary>
+ public const int FilePathFieldNumber = 2;
+ private string filePath_ = "";
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public string ApplicationFtpFilePath {
- get { return applicationFtpFilePath_; }
+ public string FilePath {
+ get { return filePath_; }
set {
- applicationFtpFilePath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
- }
- }
-
- /// <summary>Field number for the "EmbeddedVersion" field.</summary>
- public const int EmbeddedVersionFieldNumber = 3;
- private string embeddedVersion_ = "";
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public string EmbeddedVersion {
- get { return embeddedVersion_; }
- set {
- embeddedVersion_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
- }
- }
-
- /// <summary>Field number for the "EmbeddedFtpFilePath" field.</summary>
- public const int EmbeddedFtpFilePathFieldNumber = 4;
- private string embeddedFtpFilePath_ = "";
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
- public string EmbeddedFtpFilePath {
- get { return embeddedFtpFilePath_; }
- set {
- embeddedFtpFilePath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
+ filePath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// <summary>Field number for the "FtpAddress" field.</summary>
- public const int FtpAddressFieldNumber = 5;
+ public const int FtpAddressFieldNumber = 3;
private string ftpAddress_ = "";
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string FtpAddress {
@@ -135,7 +109,7 @@ namespace Tango.PMR.Synchronization {
}
/// <summary>Field number for the "UserName" field.</summary>
- public const int UserNameFieldNumber = 6;
+ public const int UserNameFieldNumber = 4;
private string userName_ = "";
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string UserName {
@@ -146,7 +120,7 @@ namespace Tango.PMR.Synchronization {
}
/// <summary>Field number for the "Password" field.</summary>
- public const int PasswordFieldNumber = 7;
+ public const int PasswordFieldNumber = 5;
private string password_ = "";
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string Password {
@@ -157,7 +131,7 @@ namespace Tango.PMR.Synchronization {
}
/// <summary>Field number for the "DbAddress" field.</summary>
- public const int DbAddressFieldNumber = 8;
+ public const int DbAddressFieldNumber = 6;
private string dbAddress_ = "";
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public string DbAddress {
@@ -180,10 +154,8 @@ namespace Tango.PMR.Synchronization {
if (ReferenceEquals(other, this)) {
return true;
}
- if (ApplicationVersion != other.ApplicationVersion) return false;
- if (ApplicationFtpFilePath != other.ApplicationFtpFilePath) return false;
- if (EmbeddedVersion != other.EmbeddedVersion) return false;
- if (EmbeddedFtpFilePath != other.EmbeddedFtpFilePath) return false;
+ if (Version != other.Version) return false;
+ if (FilePath != other.FilePath) return false;
if (FtpAddress != other.FtpAddress) return false;
if (UserName != other.UserName) return false;
if (Password != other.Password) return false;
@@ -194,10 +166,8 @@ namespace Tango.PMR.Synchronization {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public override int GetHashCode() {
int hash = 1;
- if (ApplicationVersion.Length != 0) hash ^= ApplicationVersion.GetHashCode();
- if (ApplicationFtpFilePath.Length != 0) hash ^= ApplicationFtpFilePath.GetHashCode();
- if (EmbeddedVersion.Length != 0) hash ^= EmbeddedVersion.GetHashCode();
- if (EmbeddedFtpFilePath.Length != 0) hash ^= EmbeddedFtpFilePath.GetHashCode();
+ if (Version.Length != 0) hash ^= Version.GetHashCode();
+ if (FilePath.Length != 0) hash ^= FilePath.GetHashCode();
if (FtpAddress.Length != 0) hash ^= FtpAddress.GetHashCode();
if (UserName.Length != 0) hash ^= UserName.GetHashCode();
if (Password.Length != 0) hash ^= Password.GetHashCode();
@@ -212,36 +182,28 @@ namespace Tango.PMR.Synchronization {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public void WriteTo(pb::CodedOutputStream output) {
- if (ApplicationVersion.Length != 0) {
+ if (Version.Length != 0) {
output.WriteRawTag(10);
- output.WriteString(ApplicationVersion);
+ output.WriteString(Version);
}
- if (ApplicationFtpFilePath.Length != 0) {
+ if (FilePath.Length != 0) {
output.WriteRawTag(18);
- output.WriteString(ApplicationFtpFilePath);
- }
- if (EmbeddedVersion.Length != 0) {
- output.WriteRawTag(26);
- output.WriteString(EmbeddedVersion);
- }
- if (EmbeddedFtpFilePath.Length != 0) {
- output.WriteRawTag(34);
- output.WriteString(EmbeddedFtpFilePath);
+ output.WriteString(FilePath);
}
if (FtpAddress.Length != 0) {
- output.WriteRawTag(42);
+ output.WriteRawTag(26);
output.WriteString(FtpAddress);
}
if (UserName.Length != 0) {
- output.WriteRawTag(50);
+ output.WriteRawTag(34);
output.WriteString(UserName);
}
if (Password.Length != 0) {
- output.WriteRawTag(58);
+ output.WriteRawTag(42);
output.WriteString(Password);
}
if (DbAddress.Length != 0) {
- output.WriteRawTag(66);
+ output.WriteRawTag(50);
output.WriteString(DbAddress);
}
}
@@ -249,17 +211,11 @@ namespace Tango.PMR.Synchronization {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
public int CalculateSize() {
int size = 0;
- if (ApplicationVersion.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(ApplicationVersion);
- }
- if (ApplicationFtpFilePath.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(ApplicationFtpFilePath);
- }
- if (EmbeddedVersion.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(EmbeddedVersion);
+ if (Version.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(Version);
}
- if (EmbeddedFtpFilePath.Length != 0) {
- size += 1 + pb::CodedOutputStream.ComputeStringSize(EmbeddedFtpFilePath);
+ if (FilePath.Length != 0) {
+ size += 1 + pb::CodedOutputStream.ComputeStringSize(FilePath);
}
if (FtpAddress.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(FtpAddress);
@@ -281,17 +237,11 @@ namespace Tango.PMR.Synchronization {
if (other == null) {
return;
}
- if (other.ApplicationVersion.Length != 0) {
- ApplicationVersion = other.ApplicationVersion;
+ if (other.Version.Length != 0) {
+ Version = other.Version;
}
- if (other.ApplicationFtpFilePath.Length != 0) {
- ApplicationFtpFilePath = other.ApplicationFtpFilePath;
- }
- if (other.EmbeddedVersion.Length != 0) {
- EmbeddedVersion = other.EmbeddedVersion;
- }
- if (other.EmbeddedFtpFilePath.Length != 0) {
- EmbeddedFtpFilePath = other.EmbeddedFtpFilePath;
+ if (other.FilePath.Length != 0) {
+ FilePath = other.FilePath;
}
if (other.FtpAddress.Length != 0) {
FtpAddress = other.FtpAddress;
@@ -316,34 +266,26 @@ namespace Tango.PMR.Synchronization {
input.SkipLastField();
break;
case 10: {
- ApplicationVersion = input.ReadString();
+ Version = input.ReadString();
break;
}
case 18: {
- ApplicationFtpFilePath = input.ReadString();
+ FilePath = input.ReadString();
break;
}
case 26: {
- EmbeddedVersion = input.ReadString();
- break;
- }
- case 34: {
- EmbeddedFtpFilePath = input.ReadString();
- break;
- }
- case 42: {
FtpAddress = input.ReadString();
break;
}
- case 50: {
+ case 34: {
UserName = input.ReadString();
break;
}
- case 58: {
+ case 42: {
Password = input.ReadString();
break;
}
- case 66: {
+ case 50: {
DbAddress = input.ReadString();
break;
}
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationBuilder.cs b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationBuilder.cs
index 5318d08e4..de7e0305e 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationBuilder.cs
+++ b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerConfigurationBuilder.cs
@@ -24,6 +24,12 @@ namespace Tango.SQLExaminer
_config.DataSources.Clear();
}
+ public ExaminerConfigurationBuilder(String filePath)
+ {
+ _config = ExaminerConfiguration.FromFile(filePath);
+ _config.DataSources.Clear();
+ }
+
public ExaminerConfigurationBuilder SetSourceServer(String address, String databaseName, bool integratedSecurity = true, String userName = null, String password = null)
{
DataSource d1 = _config.DataSources.SingleOrDefault(x => x.ID == 1);
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceConfiguration.cs b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceConfiguration.cs
new file mode 100644
index 000000000..3f6e4e4da
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceConfiguration.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.SQLExaminer
+{
+ public class ExaminerSequenceConfiguration : ExaminerSerializedObject<ExaminerSequenceConfiguration>
+ {
+ public List<ExaminerSequenceItem> Items { get; set; }
+
+ public ExaminerSequenceConfiguration()
+ {
+ Items = new List<ExaminerSequenceItem>();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceConfigurationRunner.cs b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceConfigurationRunner.cs
new file mode 100644
index 000000000..f6a5b31c2
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceConfigurationRunner.cs
@@ -0,0 +1,75 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.SQLExaminer
+{
+ public class ExaminerSequenceConfigurationRunner
+ {
+ public event EventHandler<String> Log;
+ public event EventHandler<ExaminerSequenceItem> ScriptExecuting;
+
+ public String SequenceFile { get; private set; }
+
+ public ExaminerSequenceDataSource Source { get; private set; }
+
+ public ExaminerSequenceDataSource Target { get; private set; }
+
+ public String MachineSerialNumber { get; private set; }
+
+ public String ScriptsFolder { get; private set; }
+
+ public ExaminerSequenceConfigurationRunner(String sequenceFile, String scriptsFolder, ExaminerSequenceDataSource source, ExaminerSequenceDataSource target, String machineSerialNumber)
+ {
+ SequenceFile = sequenceFile;
+ ScriptsFolder = scriptsFolder;
+ Source = source;
+ Target = target;
+ MachineSerialNumber = machineSerialNumber;
+ }
+
+ public Task Run()
+ {
+ return Task.Factory.StartNew(() =>
+ {
+ ExaminerSequenceConfiguration sequence = ExaminerSequenceConfiguration.FromFile(SequenceFile);
+
+ foreach (var item in sequence.Items)
+ {
+ ScriptExecuting?.Invoke(this, item);
+
+ ExaminerConfigurationBuilder builder = new ExaminerConfigurationBuilder(Path.Combine(ScriptsFolder, item.FileName));
+ builder.SetSourceServer(Source.Address, Source.DataBaseName, Source.IntegratedSecurity, Source.UserName, Source.Password);
+ builder.SetTargetServer(Target.Address, Target.DataBaseName, Target.IntegratedSecurity, Target.UserName, Target.Password);
+
+ if (item.RequiresSerialNumber)
+ {
+ builder.SetMachineSerialNumber(MachineSerialNumber);
+ }
+
+ builder.Synchronize();
+
+ ExaminerProcess process = new ExaminerProcess(builder.Build(), item.Type == ExaminerSequenceItemType.Schema ? ExaminerProcessType.Schema : ExaminerProcessType.Data);
+ process.Progress += (x, msg) =>
+ {
+ if (msg != null && !msg.Contains("SQL Examiner"))
+ {
+ Log?.Invoke(this, msg);
+ }
+ };
+
+ var result = process.Execute().Result;
+
+ if (result.ExitCode != ExaminerProcessExitCode.Success)
+ {
+ throw new InvalidDataException(String.Format("Synchronization script '{0}' has terminated with exit code '{1}'.", item.Name, result.ExitCode));
+ }
+ }
+
+ });
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceDataSource.cs b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceDataSource.cs
new file mode 100644
index 000000000..6d1390fe4
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceDataSource.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.SQLExaminer
+{
+ public class ExaminerSequenceDataSource
+ {
+ public String Address { get; set; }
+ public String DataBaseName { get; set; }
+ public String UserName { get; set; }
+ public String Password { get; set; }
+ public bool IntegratedSecurity { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceItem.cs b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceItem.cs
new file mode 100644
index 000000000..1df1c25a4
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceItem.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml.Serialization;
+
+namespace Tango.SQLExaminer
+{
+ public class ExaminerSequenceItem
+ {
+ [XmlAttribute("type")]
+ public ExaminerSequenceItemType Type { get; set; }
+
+ [XmlAttribute("direction")]
+ public ExaminerSequenceItemDirection Direction { get; set; }
+
+ [XmlAttribute("requires-sn")]
+ public bool RequiresSerialNumber { get; set; }
+
+ [XmlAttribute("name")]
+ public String Name { get; set; }
+
+ [XmlAttribute("index")]
+ public int Index { get; set; }
+
+ [XmlAttribute("file")]
+ public String FileName { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceItemDirection.cs b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceItemDirection.cs
new file mode 100644
index 000000000..95f1bb7ea
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceItemDirection.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.SQLExaminer
+{
+ public enum ExaminerSequenceItemDirection
+ {
+ SourceToTarget,
+ TargetToSource
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceItemType.cs b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceItemType.cs
new file mode 100644
index 000000000..d52660a12
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SQLExaminer/ExaminerSequenceItemType.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.SQLExaminer
+{
+ public enum ExaminerSequenceItemType
+ {
+ Schema,
+ Data
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SQLExaminer/Tango.SQLExaminer.csproj b/Software/Visual_Studio/Tango.SQLExaminer/Tango.SQLExaminer.csproj
index 335b8cc3f..12d8cf088 100644
--- a/Software/Visual_Studio/Tango.SQLExaminer/Tango.SQLExaminer.csproj
+++ b/Software/Visual_Studio/Tango.SQLExaminer/Tango.SQLExaminer.csproj
@@ -63,6 +63,12 @@
<Compile Include="ExaminerProcessResult.cs" />
<Compile Include="ExaminerProcessType.cs" />
<Compile Include="ExaminerSchemaReport.cs" />
+ <Compile Include="ExaminerSequenceConfiguration.cs" />
+ <Compile Include="ExaminerSequenceConfigurationRunner.cs" />
+ <Compile Include="ExaminerSequenceDataSource.cs" />
+ <Compile Include="ExaminerSequenceItem.cs" />
+ <Compile Include="ExaminerSequenceItemDirection.cs" />
+ <Compile Include="ExaminerSequenceItemType.cs" />
<Compile Include="ExaminerSerializedObject.cs" />
<Compile Include="Filter.cs" />
<Compile Include="Helper.cs" />
diff --git a/Software/Visual_Studio/Tango.UnitTesting/Synchronization_TST.cs b/Software/Visual_Studio/Tango.UnitTesting/Synchronization_TST.cs
index cbef9f4bd..e4bbcaf51 100644
--- a/Software/Visual_Studio/Tango.UnitTesting/Synchronization_TST.cs
+++ b/Software/Visual_Studio/Tango.UnitTesting/Synchronization_TST.cs
@@ -84,10 +84,8 @@ namespace Tango.UnitTesting
APPLICATION_DISPLAY_PANEL_VERSIONS = new remote.APPLICATION_DISPLAY_PANEL_VERSIONS() { GUID = Guid.NewGuid().ToString(), LAST_UPDATED = DateTime.UtcNow },
APPLICATION_FIRMWARE_VERSIONS = new remote.APPLICATION_FIRMWARE_VERSIONS() { GUID = Guid.NewGuid().ToString(), LAST_UPDATED = DateTime.UtcNow },
APPLICATION_OS_VERSIONS = new remote.APPLICATION_OS_VERSIONS() { GUID = Guid.NewGuid().ToString(), LAST_UPDATED = DateTime.UtcNow },
- APPLICATION_VERSIONS = new remote.APPLICATION_VERSIONS() { GUID = Guid.NewGuid().ToString(), LAST_UPDATED = DateTime.UtcNow },
CREATION_DATE = DateTime.UtcNow,
EMBEDDED_FIRMWARE_VERSIONS = new remote.EMBEDDED_FIRMWARE_VERSIONS() { GUID = Guid.NewGuid().ToString(), LAST_UPDATED = DateTime.UtcNow },
- EMBEDDED_SOFTWARE_VERSIONS = new remote.EMBEDDED_SOFTWARE_VERSIONS() { GUID = Guid.NewGuid().ToString(), LAST_UPDATED = DateTime.UtcNow },
HARDWARE_VERSIONS = new remote.HARDWARE_VERSIONS() { GUID = Guid.NewGuid().ToString(), LAST_UPDATED = DateTime.UtcNow },
};
diff --git a/Software/Visual_Studio/Tango.sln b/Software/Visual_Studio/Tango.sln
index 2ae4fecab..f9dbd0f39 100644
--- a/Software/Visual_Studio/Tango.sln
+++ b/Software/Visual_Studio/Tango.sln
@@ -214,6 +214,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.CSV", "Tango.CSV\Tang
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.SQLExaminer", "Tango.SQLExaminer\Tango.SQLExaminer.csproj", "{E1E66ED9-597D-45FA-8048-DE90A6930484}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.PPC.Publisher", "PPC\Tango.PPC.Publisher\Tango.PPC.Publisher.csproj", "{FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.PPC.UpdateService", "PPC\Tango.PPC.UpdateService\Tango.PPC.UpdateService.csproj", "{01C3EF89-6A17-4D70-A71F-0395A212F2F8}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
AppVeyor|Any CPU = AppVeyor|Any CPU
@@ -3733,6 +3737,86 @@ Global
{E1E66ED9-597D-45FA-8048-DE90A6930484}.Release|x64.Build.0 = Release|Any CPU
{E1E66ED9-597D-45FA-8048-DE90A6930484}.Release|x86.ActiveCfg = Release|Any CPU
{E1E66ED9-597D-45FA-8048-DE90A6930484}.Release|x86.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.AppVeyor|Any CPU.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.AppVeyor|Any CPU.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.AppVeyor|ARM.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.AppVeyor|ARM.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.AppVeyor|ARM64.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.AppVeyor|ARM64.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.AppVeyor|x64.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.AppVeyor|x64.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.AppVeyor|x86.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.AppVeyor|x86.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Debug|ARM.Build.0 = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Debug|x64.Build.0 = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Debug|x86.Build.0 = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|Any CPU.ActiveCfg = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|Any CPU.Build.0 = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|ARM.ActiveCfg = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|ARM.Build.0 = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|ARM64.ActiveCfg = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|ARM64.Build.0 = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|x64.ActiveCfg = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|x64.Build.0 = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|ARM.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|ARM.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|ARM64.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|x64.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|x64.Build.0 = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|x86.ActiveCfg = Release|Any CPU
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F}.Release|x86.Build.0 = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.AppVeyor|Any CPU.ActiveCfg = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.AppVeyor|Any CPU.Build.0 = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.AppVeyor|ARM.ActiveCfg = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.AppVeyor|ARM.Build.0 = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.AppVeyor|ARM64.ActiveCfg = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.AppVeyor|ARM64.Build.0 = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.AppVeyor|x64.ActiveCfg = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.AppVeyor|x64.Build.0 = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.AppVeyor|x86.ActiveCfg = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.AppVeyor|x86.Build.0 = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Debug|ARM.Build.0 = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Debug|ARM64.ActiveCfg = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Debug|ARM64.Build.0 = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Debug|x64.Build.0 = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Debug|x86.Build.0 = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.DefaultBuild|Any CPU.ActiveCfg = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.DefaultBuild|Any CPU.Build.0 = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.DefaultBuild|ARM.ActiveCfg = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.DefaultBuild|ARM.Build.0 = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.DefaultBuild|ARM64.ActiveCfg = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.DefaultBuild|ARM64.Build.0 = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.DefaultBuild|x64.ActiveCfg = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.DefaultBuild|x64.Build.0 = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.DefaultBuild|x86.ActiveCfg = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.DefaultBuild|x86.Build.0 = Debug|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Release|ARM.ActiveCfg = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Release|ARM.Build.0 = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Release|ARM64.ActiveCfg = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Release|ARM64.Build.0 = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Release|x64.ActiveCfg = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Release|x64.Build.0 = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Release|x86.ActiveCfg = Release|Any CPU
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -3797,14 +3881,16 @@ Global
{0440A135-0DF0-4232-AB3C-98B9283123B3} = {5F6BBAA8-EAD0-4B18-97E5-55B4F56DD760}
{808E47B6-BAA7-4D23-83CB-40C53DC4B38A} = {5F6BBAA8-EAD0-4B18-97E5-55B4F56DD760}
{91B70E9B-66A7-4873-AE10-400E71CF404F} = {0048447D-1D94-4E60-9DAD-7349C777CB4E}
+ {FABA6A2B-C7EA-4C58-A125-150FA5B4C72F} = {C81ED1A3-D18C-4D80-A8F5-061994A14A60}
+ {01C3EF89-6A17-4D70-A71F-0395A212F2F8} = {C81ED1A3-D18C-4D80-A8F5-061994A14A60}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
- BuildVersion_UseGlobalSettings = False
- BuildVersion_AssemblyInfoFilename = Properties\AssemblyInfo.cs
- BuildVersion_StartDate = 2000/1/1
- BuildVersion_UpdateFileVersion = False
- BuildVersion_UpdateAssemblyVersion = True
- BuildVersion_BuildVersioningStyle = None.None.Increment.DeltaBaseYearDayOfYear
SolutionGuid = {7986F7F4-A86A-4994-B1B6-0988D7F057B6}
+ BuildVersion_BuildVersioningStyle = None.None.Increment.DeltaBaseYearDayOfYear
+ BuildVersion_UpdateAssemblyVersion = True
+ BuildVersion_UpdateFileVersion = False
+ BuildVersion_StartDate = 2000/1/1
+ BuildVersion_AssemblyInfoFilename = Properties\AssemblyInfo.cs
+ BuildVersion_UseGlobalSettings = False
EndGlobalSection
EndGlobal
diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/SynchronizationController.cs b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/SynchronizationController.cs
index aed78f1a6..c377afb97 100644
--- a/Software/Visual_Studio/Web/Tango.MachineService/Controllers/SynchronizationController.cs
+++ b/Software/Visual_Studio/Web/Tango.MachineService/Controllers/SynchronizationController.cs
@@ -80,22 +80,17 @@ namespace Tango.MachineService.Controllers
String serial_number = request.SerialNumber;
var machine = db.Machines.SingleOrDefault(x => x.SerialNumber == serial_number);
+ var machine_version = db.MachineVersions.SingleOrDefault(x => x.Guid == machine.MachineVersionGuid);
if (machine == null)
{
OnError(HttpStatusCode.NotFound, "The specified serial number could not be found.");
}
- var configuration = db.Configurations.SingleOrDefault(x => x.Guid == machine.ConfigurationGuid);
+ var latest_machine_version = db.TangoVersions.Where(x => x.MachineVersionGuid == machine_version.Guid).ToList().OrderByDescending(x => Version.Parse(x.Version)).FirstOrDefault();
- var appVersion = db.ApplicationVersions.SingleOrDefault(x => x.Guid == configuration.ApplicationVersionGuid);
- var embeddedVersion = db.EmbeddedSoftwareVersions.SingleOrDefault(x => x.Guid == configuration.EmbeddedSoftwareVersionGuid);
-
- response.ApplicationVersion = appVersion.Version;
- response.ApplicationFtpFilePath = appVersion.FtpFilePath;
-
- response.EmbeddedVersion = embeddedVersion.Version;
- response.EmbeddedFtpFilePath = embeddedVersion.FtpFilePath;
+ response.Version = latest_machine_version.Version;
+ response.FilePath = latest_machine_version.FtpFilePath;
response.DbAddress = GetRemoteServerAddress();
response.FtpAddress = GetFtpAddress();