diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-08-09 13:52:40 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-08-09 13:52:40 +0300 |
| commit | b2db361984b7f6833d24eb4c574ec3513d8b7633 (patch) | |
| tree | 1696a76a81582ab43cae0e01c01c3ff1c2d799e1 /Software/Visual_Studio | |
| parent | a5f9c99d51f7e096ff612da6605ab4d4f5067009 (diff) | |
| download | Tango-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')
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(); |
