aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-04-09 18:30:58 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-04-09 18:30:58 +0300
commita898decf18c4c0ed56d020dc09df55df1ca0263a (patch)
tree66140670047d9ec9d7a0bbeb2851a84868b9515c /Software
parent4cd266e13bdb3e27ca77eba3b47278b57a0dcd8d (diff)
downloadTango-a898decf18c4c0ed56d020dc09df55df1ca0263a.tar.gz
Tango-a898decf18c4c0ed56d020dc09df55df1ca0263a.zip
Lots of changes :/
Diffstat (limited to 'Software')
-rw-r--r--Software/DB/Tango.mdfbin75497472 -> 75497472 bytes
-rw-r--r--Software/DB/Tango_log.ldfbin1572864 -> 1572864 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs66
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/RunningJobView.xaml83
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Html/IHtmlPresenter.cs14
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Speech/DefaultSpeechProvider.cs71
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Speech/ISpeechProvider.cs31
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj11
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/bip.wavbin0 -> 161420 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/error.wavbin0 -> 146748 bytes
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Html/DefaultHtmlPresenter.cs25
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Html/HtmlWindow.xaml37
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Html/HtmlWindow.xaml.cs48
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj8
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs7
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs40
-rw-r--r--Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml88
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/EventType.cs42
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/HardwareDancer.cs20
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/HtmlPage.cs126
-rw-r--r--Software/Visual_Studio/Tango.BL/Enumerations/ActionTypes.cs6
-rw-r--r--Software/Visual_Studio/Tango.BL/Enumerations/HtmlPages.cs19
-rw-r--r--Software/Visual_Studio/Tango.BL/ObservablesContext.cs8
-rw-r--r--Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs38
-rw-r--r--Software/Visual_Studio/Tango.BL/Tango.BL.csproj1
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/EVENT_TYPES.cs2
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_DANCERS.cs1
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/HTML_PAGES.cs34
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs1
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx79
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram134
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj3
32 files changed, 914 insertions, 129 deletions
diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf
index 005dde878..8638e3f22 100644
--- a/Software/DB/Tango.mdf
+++ b/Software/DB/Tango.mdf
Binary files differ
diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf
index 22bf5f3c5..35dd04501 100644
--- a/Software/DB/Tango_log.ldf
+++ b/Software/DB/Tango_log.ldf
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
index 7891f96b7..cdfeee54d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
@@ -34,6 +34,7 @@ using Tango.Core.Helpers;
using System.Speech.Synthesis;
using System.Media;
using Tango.MachineStudio.Common.EventLogging;
+using Tango.MachineStudio.Common.Speech;
namespace Tango.MachineStudio.Developer.ViewModels
{
@@ -55,10 +56,8 @@ namespace Tango.MachineStudio.Developer.ViewModels
private IAuthenticationProvider _authentication;
private ObservablesContext _machineDbContext;
private ObservablesContext _activeJobDbContext;
- private SpeechSynthesizer _speech;
- private SoundPlayer _soundPlayer;
- private SoundPlayer _soundPlayerErr;
private IEventLogger _eventLogger;
+ private ISpeechProvider _speech;
#region Properties
@@ -112,7 +111,6 @@ namespace Tango.MachineStudio.Developer.ViewModels
set { _spoolTypes = value; RaisePropertyChangedAuto(); }
}
-
/// <summary>
/// Gets or sets the application manager.
/// </summary>
@@ -473,6 +471,16 @@ namespace Tango.MachineStudio.Developer.ViewModels
set { _jobFilter = value; RaisePropertyChangedAuto(); OnJobFilterChanged(); }
}
+ private ObservableCollection<MachinesEvent> _jobEvents;
+ /// <summary>
+ /// Gets or sets the running job events.
+ /// </summary>
+ public ObservableCollection<MachinesEvent> JobEvents
+ {
+ get { return _jobEvents; }
+ set { _jobEvents = value; RaisePropertyChangedAuto(); }
+ }
+
#endregion
#region Commands
@@ -600,10 +608,12 @@ namespace Tango.MachineStudio.Developer.ViewModels
/// </summary>
/// <param name="applicationManager">The application manager.</param>
/// <param name="notificationProvider">The notification provider.</param>
- public MainViewVM(IStudioApplicationManager applicationManager, INotificationProvider notificationProvider, IDiagnosticsFrameProvider diagnosticsFrameProvider, IVideoCaptureProvider videoCaptureProvider, DeveloperNavigationManager navigation, IAuthenticationProvider authentication, IEventLogger eventLogger)
+ public MainViewVM(IStudioApplicationManager applicationManager, INotificationProvider notificationProvider, IDiagnosticsFrameProvider diagnosticsFrameProvider, IVideoCaptureProvider videoCaptureProvider, DeveloperNavigationManager navigation, IAuthenticationProvider authentication, IEventLogger eventLogger, ISpeechProvider speech)
{
SelectedJobs = new ObservableCollection<Job>();
+ JobEvents = new ObservableCollection<MachinesEvent>();
+
LogManager.Log("Initializing machine Db context...");
_machineDbContext = ObservablesContext.CreateDefault();
@@ -624,6 +634,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
_authentication = authentication;
_notification = notificationProvider;
+ _speech = speech;
_navigation = navigation;
ApplicationManager = applicationManager;
VideoCaptureProvider = videoCaptureProvider;
@@ -631,11 +642,6 @@ namespace Tango.MachineStudio.Developer.ViewModels
LogManager.Log("Initializing relay commands...");
- _speech = new SpeechSynthesizer();
- _soundPlayer = new SoundPlayer(EmbeddedResourceHelper.GetEmbeddedResourceStream("Tango.MachineStudio.Developer.bip.wav"));
- _soundPlayerErr = new SoundPlayer(EmbeddedResourceHelper.GetEmbeddedResourceStream("Tango.MachineStudio.Developer.error.wav"));
- _speech.SelectVoice(_speech.GetInstalledVoices().LastOrDefault(x => x.VoiceInfo.Gender == VoiceGender.Female).VoiceInfo.Name);
-
//Initialize Commands...
EditMachineCommand = new RelayCommand(EditMachine, () => SelectedMachine != null);
EditRMLCommand = new RelayCommand(EditRML, () => SelectedRML != null);
@@ -662,12 +668,25 @@ namespace Tango.MachineStudio.Developer.ViewModels
DisplayJobEmbroideryFileCommand = new RelayCommand<Job>(DisplayJobEmbroideryFile);
ApplicationManager.ConnectedMachineChanged += ApplicationManager_ConnectedMachineChanged;
+
+ _eventLogger.NewLog += _eventLogger_NewLog;
}
#endregion
#region Event Handlers
+ private void _eventLogger_NewLog(object sender, MachinesEvent e)
+ {
+ if (IsJobRunning)
+ {
+ InvokeUI(() =>
+ {
+ JobEvents.Add(e);
+ });
+ }
+ }
+
/// <summary>
/// Handles the application manager connected machine changes event.
/// </summary>
@@ -744,7 +763,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
if (IsJobRunning)
{
- SpeakError(events.Last().EventType.Name);
+ _speech.SpeakError(events.Last().EventType.Name);
if (events.ToList().Exists(x => x.ActionTypes.Contains(BL.Enumerations.ActionTypes.AbortRunningJob)))
{
@@ -758,22 +777,6 @@ namespace Tango.MachineStudio.Developer.ViewModels
#endregion
- #region Sound
-
- private void SpeakInfo(String text)
- {
- _soundPlayer.Play();
- _speech.SpeakAsync(text);
- }
-
- private void SpeakError(String text)
- {
- _soundPlayerErr.Play();
- _speech.SpeakAsync(text);
- }
-
- #endregion
-
#region Properties Changes
/// <summary>
@@ -961,7 +964,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
IsJobRunning = false;
IsJobFailed = true;
- SpeakError("Job Failed!");
+ _speech.SpeakError("Job Failed!");
}
}
@@ -973,7 +976,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
LogManager.Log("Setting job completed state...");
IsJobRunning = false;
IsJobCompleted = true;
- SpeakInfo("Job Completed!");
+ _speech.SpeakInfo("Job Completed!");
}
/// <summary>
@@ -994,6 +997,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
return;
}
+ JobEvents.Clear();
RunningJobRemainingTime = TimeSpan.Zero;
RunningJobProgress = 0;
IsJobFailed = false;
@@ -1048,12 +1052,12 @@ namespace Tango.MachineStudio.Developer.ViewModels
if (segment.ID != -1)
{
- SpeakInfo(String.Format("Segment {0} Started.", segment.SegmentIndex));
+ _speech.SpeakInfo(String.Format("Segment {0} Started.", segment.SegmentIndex));
_eventLogger.Log(String.Format("Segment {0} Started.", segment.SegmentIndex));
}
else
{
- SpeakInfo(String.Format("Inter Segment Started."));
+ _speech.SpeakInfo(String.Format("Inter Segment Started."));
_eventLogger.Log("Inter Segment Started.");
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/RunningJobView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/RunningJobView.xaml
index 30941f3dd..94570196f 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/RunningJobView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Views/RunningJobView.xaml
@@ -3,12 +3,18 @@
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:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:vm="clr-namespace:Tango.MachineStudio.Developer.ViewModels"
xmlns:global="clr-namespace:Tango.MachineStudio.Developer"
xmlns:local="clr-namespace:Tango.MachineStudio.Developer.Views"
mc:Ignorable="d"
d:DesignHeight="1080" d:DesignWidth="1920" Background="Transparent" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">
+
+ <UserControl.Resources>
+ <converters:DateTimeUTCToStringConverter x:Key="DateTimeUTCToStringConverter" />
+ </UserControl.Resources>
+
<Grid>
<Grid Margin="40">
<DockPanel>
@@ -29,13 +35,78 @@
</Grid>
<Grid>
- <DataGrid Background="Transparent" Margin="0 20 0 0" BorderThickness="1" BorderBrush="Gainsboro">
+ <DataGrid Background="Transparent" AutoGenerateColumns="False" SelectionMode="Single" ItemsSource="{Binding JobEvents}" SelectedItem="{Binding SelectedJobEvent}" RowHeight="40" CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" IsReadOnly="True">
+ <DataGrid.RowStyle>
+ <Style TargetType="DataGridRow" BasedOn="{StaticResource {x:Type DataGridRow}}">
+ <Style.Triggers>
+ <Trigger Property="IsMouseOver" Value="True">
+ <Setter Property="Background" Value="Transparent"></Setter>
+ <Setter Property="Foreground" Value="{StaticResource AccentColorBrush}" />
+ <Setter Property="Cursor" Value="Hand"></Setter>
+ </Trigger>
+ <Trigger Property="IsSelected" Value="True">
+ <Setter Property="Background" Value="Transparent"></Setter>
+ </Trigger>
+ <Trigger Property="IsFocused" Value="True">
+ <Setter Property="Background" Value="Transparent"></Setter>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+ </DataGrid.RowStyle>
+ <DataGrid.CellStyle>
+ <Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
+ <Setter Property="BorderThickness" Value="0"/>
+ <Setter Property="FocusVisualStyle" Value="{x:Null}"/>
+ <Setter Property="VerticalContentAlignment" Value="Center"></Setter>
+ <Style.Triggers>
+ <Trigger Property="IsSelected" Value="True">
+ <Setter Property="Background" Value="Transparent"></Setter>
+ </Trigger>
+ </Style.Triggers>
+ </Style>
+ </DataGrid.CellStyle>
<DataGrid.Columns>
- <DataGridTextColumn Width="Auto" Header="#"/>
- <DataGridTextColumn Width="200" Header="TIME STAMP"/>
- <DataGridTextColumn Width="100" Header="CODE"/>
- <DataGridTextColumn Width="200" Header="NAME"/>
- <DataGridTextColumn Width="1*" Header="DESCRIPTION"/>
+ <DataGridTemplateColumn Header="#">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <materialDesign:PackIcon Width="16" Height="16">
+ <materialDesign:PackIcon.Style>
+ <Style TargetType="materialDesign:PackIcon">
+ <Setter Property="Kind" Value="Alert"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding Category}" Value="Info">
+ <Setter Property="Kind" Value="Information"></Setter>
+ <Setter Property="Foreground" Value="DimGray"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Category}" Value="Warning">
+ <Setter Property="Kind" Value="Alert"></Setter>
+ <Setter Property="Foreground" Value="#FFA300"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Category}" Value="Error">
+ <Setter Property="Kind" Value="AlertOctagon"></Setter>
+ <Setter Property="Foreground" Value="#FF5C5C"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Category}" Value="Critical">
+ <Setter Property="Kind" Value="BellPlus"></Setter>
+ <Setter Property="Foreground" Value="Red"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </materialDesign:PackIcon.Style>
+ </materialDesign:PackIcon>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
+ <DataGridTextColumn Header="DATE TIME" Binding="{Binding DateTime,Converter={StaticResource DateTimeUTCToStringConverter},ConverterParameter='MM/dd/yyyy HH:mm:ss.fff'}" />
+ <DataGridTextColumn Header="GROUP" Binding="{Binding EventType.EventTypesGroup.Name}" />
+ <DataGridTextColumn Header="EVENT" Binding="{Binding EventType.Name}" />
+ <DataGridTemplateColumn Header="MESSAGE" Width="1*">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <TextBlock Text="{Binding Description}" TextTrimming="CharacterEllipsis"></TextBlock>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Html/IHtmlPresenter.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Html/IHtmlPresenter.cs
new file mode 100644
index 000000000..549022050
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Html/IHtmlPresenter.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.BL.Entities;
+
+namespace Tango.MachineStudio.Common.Html
+{
+ public interface IHtmlPresenter
+ {
+ bool DisplayHtml(HtmlPage html);
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Speech/DefaultSpeechProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Speech/DefaultSpeechProvider.cs
new file mode 100644
index 000000000..fb34c8086
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Speech/DefaultSpeechProvider.cs
@@ -0,0 +1,71 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Media;
+using System.Speech.Synthesis;
+using System.Text;
+using System.Threading.Tasks;
+using Tango.Core;
+using Tango.Core.Helpers;
+
+namespace Tango.MachineStudio.Common.Speech
+{
+ /// <summary>
+ /// Represents the default speech provider.
+ /// </summary>
+ /// <seealso cref="Tango.Core.ExtendedObject" />
+ /// <seealso cref="Tango.MachineStudio.Common.Speech.ISpeechProvider" />
+ public class DefaultSpeechProvider : ExtendedObject, ISpeechProvider
+ {
+ private SpeechSynthesizer _speech;
+ private SoundPlayer _soundPlayer;
+ private SoundPlayer _soundPlayerErr;
+
+ private bool _mute;
+ /// <summary>
+ /// Gets or sets a value indicating whether this <see cref="ISpeechProvider" /> is mute.
+ /// </summary>
+ public bool Mute
+ {
+ get { return _mute; }
+ set { _mute = value; RaisePropertyChangedAuto(); }
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="DefaultSpeechProvider"/> class.
+ /// </summary>
+ public DefaultSpeechProvider()
+ {
+ _speech = new SpeechSynthesizer();
+ _soundPlayer = new SoundPlayer(EmbeddedResourceHelper.GetEmbeddedResourceStream("Tango.MachineStudio.Common.bip.wav"));
+ _soundPlayerErr = new SoundPlayer(EmbeddedResourceHelper.GetEmbeddedResourceStream("Tango.MachineStudio.Common.error.wav"));
+ _speech.SelectVoice(_speech.GetInstalledVoices().LastOrDefault(x => x.VoiceInfo.Gender == VoiceGender.Female).VoiceInfo.Name);
+ }
+
+ /// <summary>
+ /// Speaks the specified text associated with an information sound.
+ /// </summary>
+ /// <param name="text">The text.</param>
+ public void SpeakInfo(string text)
+ {
+ if (!Mute)
+ {
+ _soundPlayer.Play();
+ _speech.SpeakAsync(text);
+ }
+ }
+
+ /// <summary>
+ /// Speaks the specified text associated with an error sound.
+ /// </summary>
+ /// <param name="text">The text.</param>
+ public void SpeakError(string text)
+ {
+ if (!Mute)
+ {
+ _soundPlayerErr.Play();
+ _speech.SpeakAsync(text);
+ }
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Speech/ISpeechProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Speech/ISpeechProvider.cs
new file mode 100644
index 000000000..eb31bdc39
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Speech/ISpeechProvider.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.MachineStudio.Common.Speech
+{
+ /// <summary>
+ /// Represents a text to speech engine.
+ /// </summary>
+ public interface ISpeechProvider
+ {
+ /// <summary>
+ /// Gets or sets a value indicating whether this <see cref="ISpeechProvider"/> is mute.
+ /// </summary>
+ bool Mute { get; set; }
+
+ /// <summary>
+ /// Speaks the specified text associated with an information sound.
+ /// </summary>
+ /// <param name="text">The text.</param>
+ void SpeakInfo(String text);
+
+ /// <summary>
+ /// Speaks the specified text associated with an error sound.
+ /// </summary>
+ /// <param name="text">The text.</param>
+ void SpeakError(String text);
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
index df553f502..bbbab06ab 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj
@@ -66,6 +66,7 @@
<Reference Include="System.Data" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
+ <Reference Include="System.Speech" />
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\packages\MahApps.Metro.1.5.0\lib\net45\System.Windows.Interactivity.dll</HintPath>
</Reference>
@@ -104,10 +105,13 @@
<Compile Include="EventLogging\DefaultEventLogger.cs" />
<Compile Include="EventLogging\IEventLogger.cs" />
<Compile Include="ExtensionMethods\CommonDialogExtensions.cs" />
+ <Compile Include="Html\IHtmlPresenter.cs" />
<Compile Include="Helpers\GraphsHelper.cs" />
<Compile Include="Messages\MachineConnectionChangedMessage.cs" />
<Compile Include="Notifications\BarItem.cs" />
<Compile Include="Notifications\DialogViewVM.cs" />
+ <Compile Include="Speech\DefaultSpeechProvider.cs" />
+ <Compile Include="Speech\ISpeechProvider.cs" />
<Compile Include="StudioApplication\IModuleRequestListener.cs" />
<Compile Include="StudioApplication\IShutdownListener.cs" />
<Compile Include="StudioApplication\IStudioApplicationManager.cs" />
@@ -258,6 +262,11 @@
<Name>Tango.Video</Name>
</ProjectReference>
</ItemGroup>
- <ItemGroup />
+ <ItemGroup>
+ <EmbeddedResource Include="bip.wav" />
+ </ItemGroup>
+ <ItemGroup>
+ <EmbeddedResource Include="error.wav" />
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/bip.wav b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/bip.wav
new file mode 100644
index 000000000..5a1d74045
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/bip.wav
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/error.wav b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/error.wav
new file mode 100644
index 000000000..4dce7d623
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/error.wav
Binary files differ
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Html/DefaultHtmlPresenter.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Html/DefaultHtmlPresenter.cs
new file mode 100644
index 000000000..eff8c98a0
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Html/DefaultHtmlPresenter.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using Tango.BL.Entities;
+using Tango.MachineStudio.Common.Html;
+using Tango.MachineStudio.UI.Windows;
+
+namespace Tango.MachineStudio.UI.Html
+{
+ public class DefaultHtmlPresenter : IHtmlPresenter
+ {
+ public bool DisplayHtml(HtmlPage html)
+ {
+ HtmlWindow dialog = new HtmlWindow(html);
+ dialog.Owner = Application.Current.MainWindow;
+ MainWindow.Instance.shadowGrid.Visibility = Visibility.Visible;
+ var result = dialog.ShowDialog();
+ MainWindow.Instance.shadowGrid.Visibility = Visibility.Hidden;
+ return result.Value;
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Html/HtmlWindow.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Html/HtmlWindow.xaml
new file mode 100644
index 000000000..654d2d0eb
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Html/HtmlWindow.xaml
@@ -0,0 +1,37 @@
+<Window x:Class="Tango.MachineStudio.UI.Html.HtmlWindow"
+ 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:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
+ xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:local="clr-namespace:Tango.MachineStudio.UI.Windows"
+ mc:Ignorable="d"
+ Title="Machine Studio" Height="500" Width="800" WindowStyle="None" ResizeMode="NoResize" WindowStartupLocation="CenterOwner" Background="Transparent">
+ <Grid>
+ <Grid>
+ <Border Background="White" Padding="10" BorderThickness="1" BorderBrush="{StaticResource AccentColorBrush}">
+ <Border.Effect>
+ <DropShadowEffect ShadowDepth="0" BlurRadius="10"></DropShadowEffect>
+ </Border.Effect>
+
+ <Grid>
+ <DockPanel Margin="10">
+ <Grid DockPanel.Dock="Bottom">
+ <Button Margin="10 10 0 0" Width="140" HorizontalAlignment="Right" Click="OKClicked">OK</Button>
+ </Grid>
+ <WebBrowser x:Name="webBrowser"
+ OverridesDefaultStyle="False"
+ ScrollViewer.CanContentScroll="False"
+ ScrollViewer.HorizontalScrollBarVisibility="Hidden"
+ ScrollViewer.VerticalScrollBarVisibility="Hidden"></WebBrowser>
+ </DockPanel>
+
+ <Button Click="CloseClicked" HorizontalAlignment="Right" VerticalAlignment="Top" Width="20" Height="20" Margin="0 -6 -4 0" Padding="0" Style="{StaticResource MaterialDesignFlatButton}" Foreground="Black">
+ <materialDesign:PackIcon Kind="Close" Width="16" Height="16"></materialDesign:PackIcon>
+ </Button>
+ </Grid>
+ </Border>
+ </Grid>
+ </Grid>
+</Window>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Html/HtmlWindow.xaml.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Html/HtmlWindow.xaml.cs
new file mode 100644
index 000000000..9f37eba06
--- /dev/null
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Html/HtmlWindow.xaml.cs
@@ -0,0 +1,48 @@
+using MahApps.Metro.Controls;
+using MaterialDesignThemes.Wpf;
+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.Shapes;
+using Tango.BL.Entities;
+using Tango.Core.Commands;
+
+namespace Tango.MachineStudio.UI.Html
+{
+ /// <summary>
+ /// Interaction logic for DialogWindow.xaml
+ /// </summary>
+ public partial class HtmlWindow : Window
+ {
+ public HtmlWindow(HtmlPage html)
+ {
+ InitializeComponent();
+
+ webBrowser.Loaded += (_, __) =>
+ {
+ webBrowser.NavigateToString(html.Html);
+ };
+ }
+
+ private void OKClicked(object sender, RoutedEventArgs e)
+ {
+ DialogResult = true;
+ Close();
+ }
+
+ private void CloseClicked(object sender, RoutedEventArgs e)
+ {
+ DialogResult = false;
+ Close();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj
index 07b1f44fe..4befd2f5c 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj
@@ -143,6 +143,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
+ <Compile Include="Html\DefaultHtmlPresenter.cs" />
+ <Compile Include="Html\HtmlWindow.xaml.cs">
+ <DependentUpon>HtmlWindow.xaml</DependentUpon>
+ </Compile>
<Compile Include="Modules\DefaultStudioModuleLoader.cs" />
<Compile Include="Notifications\TextInputBoxWindow.xaml.cs">
<DependentUpon>TextInputBoxWindow.xaml</DependentUpon>
@@ -199,6 +203,10 @@
<Compile Include="Windows\ModuleWindow.xaml.cs">
<DependentUpon>ModuleWindow.xaml</DependentUpon>
</Compile>
+ <Page Include="Html\HtmlWindow.xaml">
+ <Generator>MSBuild:Compile</Generator>
+ <SubType>Designer</SubType>
+ </Page>
<Page Include="MainWindow.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
index 571122eb5..bbb916d02 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs
@@ -7,12 +7,15 @@ using Tango.Logging;
using Tango.MachineStudio.Common.Authentication;
using Tango.MachineStudio.Common.Diagnostics;
using Tango.MachineStudio.Common.EventLogging;
+using Tango.MachineStudio.Common.Html;
using Tango.MachineStudio.Common.Modules;
using Tango.MachineStudio.Common.Navigation;
using Tango.MachineStudio.Common.Notifications;
+using Tango.MachineStudio.Common.Speech;
using Tango.MachineStudio.Common.StudioApplication;
using Tango.MachineStudio.Common.Video;
using Tango.MachineStudio.UI.Authentication;
+using Tango.MachineStudio.UI.Html;
using Tango.MachineStudio.UI.Modules;
using Tango.MachineStudio.UI.Navigation;
using Tango.MachineStudio.UI.Notifications;
@@ -59,6 +62,8 @@ namespace Tango.MachineStudio.UI
SimpleIoc.Default.Unregister<IVideoCaptureProvider>();
SimpleIoc.Default.Unregister<IDiagnosticsFrameProvider>();
SimpleIoc.Default.Unregister<IEventLogger>();
+ SimpleIoc.Default.Unregister<ISpeechProvider>();
+ SimpleIoc.Default.Unregister<IHtmlPresenter>();
SimpleIoc.Default.Register<INotificationProvider, DefaultNotificationProvider>();
SimpleIoc.Default.Register<IAuthenticationProvider, DefaultAuthenticationProvider>();
@@ -69,6 +74,8 @@ namespace Tango.MachineStudio.UI
SimpleIoc.Default.Register<IVideoCaptureProvider, DefaultVideoCaptureProvider>();
SimpleIoc.Default.Register<IDiagnosticsFrameProvider, DefaultDiagnosticsFrameProvider>();
SimpleIoc.Default.Register<IEventLogger, DefaultEventLogger>();
+ SimpleIoc.Default.Register<ISpeechProvider, DefaultSpeechProvider>();
+ SimpleIoc.Default.Register<IHtmlPresenter, DefaultHtmlPresenter>();
SimpleIoc.Default.Register<MainViewVM>();
SimpleIoc.Default.Register<LoadingViewVM>();
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
index c9f4b3441..3cb728395 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs
@@ -20,10 +20,12 @@ using Tango.MachineStudio.Common;
using Tango.MachineStudio.Common.Authentication;
using Tango.MachineStudio.Common.Diagnostics;
using Tango.MachineStudio.Common.EventLogging;
+using Tango.MachineStudio.Common.Html;
using Tango.MachineStudio.Common.Messages;
using Tango.MachineStudio.Common.Modules;
using Tango.MachineStudio.Common.Navigation;
using Tango.MachineStudio.Common.Notifications;
+using Tango.MachineStudio.Common.Speech;
using Tango.MachineStudio.Common.StudioApplication;
using Tango.MachineStudio.Common.Update;
using Tango.MachineStudio.UI.StudioApplication;
@@ -49,6 +51,7 @@ namespace Tango.MachineStudio.UI.ViewModels
private bool _isDisconnecting;
private Thread _updateCheckThread;
private IEventLogger _eventLogger;
+ private IHtmlPresenter _htmlPresenter;
/// <summary>
/// Gets or sets the current loaded module.
@@ -129,6 +132,16 @@ namespace Tango.MachineStudio.UI.ViewModels
/// </summary>
public RelayCommand UpdateCenterCommand { get; set; }
+ /// <summary>
+ /// Gets or sets the toggle speech command.
+ /// </summary>
+ public RelayCommand ToggleSpeechCommand { get; set; }
+
+ /// <summary>
+ /// Gets or sets the display HTML command.
+ /// </summary>
+ public RelayCommand<MachinesEvent> ResolveMachineEventCommand { get; set; }
+
private IAuthenticationProvider _authenticationProvider;
/// <summary>
/// Gets or sets the authentication provider.
@@ -169,6 +182,11 @@ namespace Tango.MachineStudio.UI.ViewModels
set { _applicationManager = value; RaisePropertyChangedAuto(); }
}
+ /// <summary>
+ /// Gets or sets the speech provider.
+ /// </summary>
+ public ISpeechProvider SpeechProvider { get; set; }
+
private bool _isUpdateAvailable;
/// <summary>
/// Gets or sets a value indicating whether a new version update is available.
@@ -228,7 +246,9 @@ namespace Tango.MachineStudio.UI.ViewModels
IStudioApplicationManager applicationManager,
INavigationManager navigationManager,
IEventLogger eventLogger,
- IDiagnosticsFrameProvider frameProvider) : base(view)
+ IDiagnosticsFrameProvider frameProvider,
+ ISpeechProvider speechProvider,
+ IHtmlPresenter htmlPresenter) : base(view)
{
_eventLogger = eventLogger;
_navigation = navigationManager;
@@ -237,6 +257,8 @@ namespace Tango.MachineStudio.UI.ViewModels
NotificationProvider = notificationProvider;
ApplicationManager = applicationManager;
DiagnosticsFrameProvider = frameProvider;
+ SpeechProvider = speechProvider;
+ _htmlPresenter = htmlPresenter;
StartModuleCommand = new RelayCommand<IStudioModule>(StartModule);
@@ -263,6 +285,10 @@ namespace Tango.MachineStudio.UI.ViewModels
machine.MachineEventsStateProvider.EventsResolved += MachineEventsStateProvider_EventsResolved;
}
};
+
+ ToggleSpeechCommand = new RelayCommand(() => { SpeechProvider.Mute = !SpeechProvider.Mute; });
+
+ ResolveMachineEventCommand = new RelayCommand<MachinesEvent>(ResolveMachineEvent);
}
private void MachineEventsStateProvider_EventsResolved(object sender, IEnumerable<MachinesEvent> e)
@@ -542,5 +568,17 @@ namespace Tango.MachineStudio.UI.ViewModels
{
_applicationManager.ShutDown();
}
+
+ /// <summary>
+ /// Displays the HTML.
+ /// </summary>
+ /// <param name="machineEvent">The HTML page.</param>
+ private void ResolveMachineEvent(MachinesEvent machineEvent)
+ {
+ if (_htmlPresenter.DisplayHtml(machineEvent.EventType.HtmlPage))
+ {
+ //Send resolved to embedded !
+ }
+ }
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml
index b7a4cc93f..3301fd9f3 100644
--- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/MainView.xaml
@@ -172,6 +172,24 @@
</StackPanel>
</Button>
<Separator/>
+ <Button Command="{Binding ToggleSpeechCommand}">
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Width="24" Height="24">
+ <materialDesign:PackIcon.Style>
+ <Style TargetType="materialDesign:PackIcon">
+ <Setter Property="Kind" Value="VolumeHigh"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding SpeechProvider.Mute}" Value="True">
+ <Setter Property="Kind" Value="VolumeOff"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </materialDesign:PackIcon.Style>
+ </materialDesign:PackIcon>
+ <TextBlock Margin="5 0 0 0" VerticalAlignment="Center">Speech</TextBlock>
+ </StackPanel>
+ </Button>
+ <Separator/>
<Button Command="{Binding ExitCommand}">
<StackPanel Orientation="Horizontal">
<materialDesign:PackIcon Kind="CloseCircleOutline" Width="24" Height="24" />
@@ -437,37 +455,59 @@
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type entities:MachinesEvent}">
<Border BorderThickness="0 0 0 1" BorderBrush="#E1E1E1" Padding="5">
- <StackPanel>
- <StackPanel Orientation="Horizontal">
- <materialDesign:PackIcon Width="24" Height="24">
- <materialDesign:PackIcon.Style>
- <Style TargetType="materialDesign:PackIcon">
- <Setter Property="Kind" Value="AlertCircle"></Setter>
- <Setter Property="Foreground" Value="#464646"></Setter>
+ <DockPanel>
+ <Grid DockPanel.Dock="Right" HorizontalAlignment="Right" VerticalAlignment="Center">
+ <ContentControl>
+ <ContentControl.Style>
+ <Style TargetType="ContentControl">
+ <Setter Property="Content" Value="{x:Null}"></Setter>
<Style.Triggers>
- <DataTrigger Binding="{Binding Category}" Value="Warning">
- <Setter Property="Kind" Value="Alert"></Setter>
- <Setter Property="Foreground" Value="#FFA300"></Setter>
- </DataTrigger>
- <DataTrigger Binding="{Binding Category}" Value="Error">
- <Setter Property="Kind" Value="AlertOctagon"></Setter>
- <Setter Property="Foreground" Value="#FF5C5C"></Setter>
- </DataTrigger>
- <DataTrigger Binding="{Binding Category}" Value="Critical">
- <Setter Property="Kind" Value="BellPlus"></Setter>
- <Setter Property="Foreground" Value="Red"></Setter>
+ <DataTrigger Binding="{Binding EventType.HtmlPage,Converter={StaticResource NullObjectToBooleanConverter}}" Value="True">
+ <Setter Property="Content">
+ <Setter.Value>
+ <Button Style="{StaticResource emptyButton}" Cursor="Hand" Margin="5" Command="{Binding RelativeSource={RelativeSource AncestorType=UserControl},Path=DataContext.ResolveMachineEventCommand}" CommandParameter="{Binding}">
+ <materialDesign:PackIcon Kind="TelevisionGuide" Width="24" Height="24" />
+ </Button>
+ </Setter.Value>
+ </Setter>
</DataTrigger>
</Style.Triggers>
</Style>
- </materialDesign:PackIcon.Style>
- </materialDesign:PackIcon>
+ </ContentControl.Style>
+ </ContentControl>
+ </Grid>
+ <StackPanel>
+ <StackPanel Orientation="Horizontal">
+ <materialDesign:PackIcon Width="24" Height="24">
+ <materialDesign:PackIcon.Style>
+ <Style TargetType="materialDesign:PackIcon">
+ <Setter Property="Kind" Value="AlertCircle"></Setter>
+ <Setter Property="Foreground" Value="#464646"></Setter>
+ <Style.Triggers>
+ <DataTrigger Binding="{Binding Category}" Value="Warning">
+ <Setter Property="Kind" Value="Alert"></Setter>
+ <Setter Property="Foreground" Value="#FFA300"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Category}" Value="Error">
+ <Setter Property="Kind" Value="AlertOctagon"></Setter>
+ <Setter Property="Foreground" Value="#FF5C5C"></Setter>
+ </DataTrigger>
+ <DataTrigger Binding="{Binding Category}" Value="Critical">
+ <Setter Property="Kind" Value="BellPlus"></Setter>
+ <Setter Property="Foreground" Value="Red"></Setter>
+ </DataTrigger>
+ </Style.Triggers>
+ </Style>
+ </materialDesign:PackIcon.Style>
+ </materialDesign:PackIcon>
- <StackPanel Margin="10 0 0 0" VerticalAlignment="Top">
- <TextBlock Text="{Binding EventType.Name}"></TextBlock>
- <TextBlock Margin="0 5 0 0" Text="{Binding Description}" FontSize="10" Foreground="DimGray" TextWrapping="Wrap"></TextBlock>
+ <StackPanel Margin="10 0 0 0" VerticalAlignment="Top">
+ <TextBlock Text="{Binding EventType.Name}"></TextBlock>
+ <TextBlock Margin="0 5 0 0" Text="{Binding Description}" FontSize="10" Foreground="DimGray" TextWrapping="Wrap"></TextBlock>
+ </StackPanel>
</StackPanel>
</StackPanel>
- </StackPanel>
+ </DockPanel>
</Border>
</DataTemplate>
</ItemsControl.ItemTemplate>
diff --git a/Software/Visual_Studio/Tango.BL/Entities/EventType.cs b/Software/Visual_Studio/Tango.BL/Entities/EventType.cs
index c29bc432d..c999fa016 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/EventType.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/EventType.cs
@@ -116,6 +116,27 @@ namespace Tango.BL.Entities
}
+ protected String _htmlpageguid;
+ /// <summary>
+ /// Gets or sets the eventtype html page guid.
+ /// </summary>
+ [Column("HTML_PAGE_GUID")]
+ [ForeignKey("HtmlPage")]
+
+ public String HtmlPageGuid
+ {
+ get
+ {
+ return _htmlpageguid;
+ }
+
+ set
+ {
+ _htmlpageguid = value; RaisePropertyChanged(nameof(HtmlPageGuid));
+ }
+
+ }
+
protected EventTypesGroup _eventtypesgroup;
/// <summary>
/// Gets or sets the eventtype event types groups.
@@ -158,6 +179,27 @@ namespace Tango.BL.Entities
}
+ protected HtmlPage _htmlpage;
+ /// <summary>
+ /// Gets or sets the eventtype html pages.
+ /// </summary>
+
+ [XmlIgnore]
+ [JsonIgnore]
+ public virtual HtmlPage HtmlPage
+ {
+ get
+ {
+ return _htmlpage;
+ }
+
+ set
+ {
+ _htmlpage = value; RaisePropertyChanged(nameof(HtmlPage));
+ }
+
+ }
+
protected ObservableCollection<EventTypesAction> _eventtypesactions;
/// <summary>
/// Gets or sets the eventtype event types actions.
diff --git a/Software/Visual_Studio/Tango.BL/Entities/HardwareDancer.cs b/Software/Visual_Studio/Tango.BL/Entities/HardwareDancer.cs
index 3118d7421..65997b195 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/HardwareDancer.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/HardwareDancer.cs
@@ -136,6 +136,26 @@ namespace Tango.BL.Entities
}
+ protected Int32 _zeropoint;
+ /// <summary>
+ /// Gets or sets the hardwaredancer zero point.
+ /// </summary>
+ [Column("ZERO_POINT")]
+
+ public Int32 ZeroPoint
+ {
+ get
+ {
+ return _zeropoint;
+ }
+
+ set
+ {
+ _zeropoint = value; RaisePropertyChanged(nameof(ZeroPoint));
+ }
+
+ }
+
protected HardwareDancerType _hardwaredancertype;
/// <summary>
/// Gets or sets the hardwaredancer hardware dancer types.
diff --git a/Software/Visual_Studio/Tango.BL/Entities/HtmlPage.cs b/Software/Visual_Studio/Tango.BL/Entities/HtmlPage.cs
new file mode 100644
index 000000000..141049c96
--- /dev/null
+++ b/Software/Visual_Studio/Tango.BL/Entities/HtmlPage.cs
@@ -0,0 +1,126 @@
+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("HTML_PAGES")]
+ public partial class HtmlPage : ObservableEntity<HtmlPage>
+ {
+
+ protected Int32 _code;
+ /// <summary>
+ /// Gets or sets the htmlpage code.
+ /// </summary>
+ [Column("CODE")]
+
+ public Int32 Code
+ {
+ get
+ {
+ return _code;
+ }
+
+ set
+ {
+ _code = value; RaisePropertyChanged(nameof(Code));
+ }
+
+ }
+
+ protected String _name;
+ /// <summary>
+ /// Gets or sets the htmlpage name.
+ /// </summary>
+ [Column("NAME")]
+
+ public String Name
+ {
+ get
+ {
+ return _name;
+ }
+
+ set
+ {
+ _name = value; RaisePropertyChanged(nameof(Name));
+ }
+
+ }
+
+ protected String _description;
+ /// <summary>
+ /// Gets or sets the htmlpage description.
+ /// </summary>
+ [Column("DESCRIPTION")]
+
+ public String Description
+ {
+ get
+ {
+ return _description;
+ }
+
+ set
+ {
+ _description = value; RaisePropertyChanged(nameof(Description));
+ }
+
+ }
+
+ protected String _html;
+ /// <summary>
+ /// Gets or sets the htmlpage html.
+ /// </summary>
+ [Column("HTML")]
+
+ public String Html
+ {
+ get
+ {
+ return _html;
+ }
+
+ set
+ {
+ _html = value; RaisePropertyChanged(nameof(Html));
+ }
+
+ }
+
+ protected ObservableCollection<EventType> _eventtypes;
+ /// <summary>
+ /// Gets or sets the htmlpage event types.
+ /// </summary>
+
+ public virtual ObservableCollection<EventType> EventTypes
+ {
+ get
+ {
+ return _eventtypes;
+ }
+
+ set
+ {
+ _eventtypes = value; RaisePropertyChanged(nameof(EventTypes));
+ }
+
+ }
+
+ /// <summary>
+ /// Initializes a new instance of the <see cref="HtmlPage" /> class.
+ /// </summary>
+ public HtmlPage() : base()
+ {
+
+ EventTypes = new ObservableCollection<EventType>();
+
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/ActionTypes.cs b/Software/Visual_Studio/Tango.BL/Enumerations/ActionTypes.cs
index e8a46921c..a95d35cd7 100644
--- a/Software/Visual_Studio/Tango.BL/Enumerations/ActionTypes.cs
+++ b/Software/Visual_Studio/Tango.BL/Enumerations/ActionTypes.cs
@@ -39,5 +39,11 @@ namespace Tango.BL.Enumerations
[Description("Displays a graceful notification to the user")]
SoftVisualNotification = 4,
+ /// <summary>
+ /// (Displays a guide and requires confirmation)
+ /// </summary>
+ [Description("Displays a guide and requires confirmation")]
+ DisplayGuideAndConfirm = 5,
+
}
}
diff --git a/Software/Visual_Studio/Tango.BL/Enumerations/HtmlPages.cs b/Software/Visual_Studio/Tango.BL/Enumerations/HtmlPages.cs
new file mode 100644
index 000000000..63cac9321
--- /dev/null
+++ b/Software/Visual_Studio/Tango.BL/Enumerations/HtmlPages.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.ComponentModel;
+
+namespace Tango.BL.Enumerations
+{
+ public enum HtmlPages
+ {
+
+ /// <summary>
+ /// (Some Test Guide)
+ /// </summary>
+ [Description("Some Test Guide")]
+ Test = 0,
+
+ }
+}
diff --git a/Software/Visual_Studio/Tango.BL/ObservablesContext.cs b/Software/Visual_Studio/Tango.BL/ObservablesContext.cs
index a3701aea1..cfeccaeb6 100644
--- a/Software/Visual_Studio/Tango.BL/ObservablesContext.cs
+++ b/Software/Visual_Studio/Tango.BL/ObservablesContext.cs
@@ -269,6 +269,14 @@ namespace Tango.BL
}
/// <summary>
+ /// Gets or sets the HtmlPages.
+ /// </summary>
+ public DbSet<HtmlPage> HtmlPages
+ {
+ get; set;
+ }
+
+ /// <summary>
/// Gets or sets the IdsPackFormulas.
/// </summary>
public DbSet<IdsPackFormula> IdsPackFormulas
diff --git a/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs b/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs
index 08e192a2f..c3be8cb1e 100644
--- a/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs
+++ b/Software/Visual_Studio/Tango.BL/ObservablesEntitiesAdapterExtension.cs
@@ -1159,6 +1159,42 @@ namespace Tango.BL
}
+ private ObservableCollection<HtmlPage> _htmlpages;
+ /// <summary>
+ /// Gets or sets the HtmlPages.
+ /// </summary>
+ public ObservableCollection<HtmlPage> HtmlPages
+ {
+ get
+ {
+ return _htmlpages;
+ }
+
+ set
+ {
+ _htmlpages = value; RaisePropertyChanged(nameof(HtmlPages));
+ }
+
+ }
+
+ private ICollectionView _htmlpagesViewSource;
+ /// <summary>
+ /// Gets or sets the HtmlPages View Source.
+ ///</summary>
+ public ICollectionView HtmlPagesViewSource
+ {
+ get
+ {
+ return _htmlpagesViewSource;
+ }
+
+ set
+ {
+ _htmlpagesViewSource = value; RaisePropertyChanged(nameof(HtmlPagesViewSource));
+ }
+
+ }
+
private ObservableCollection<IdsPackFormula> _idspackformulas;
/// <summary>
/// Gets or sets the IdsPackFormulas.
@@ -2525,6 +2561,8 @@ namespace Tango.BL
HardwareWindersViewSource = CreateCollectionView(HardwareWinders);
+ HtmlPagesViewSource = CreateCollectionView(HtmlPages);
+
IdsPackFormulasViewSource = CreateCollectionView(IdsPackFormulas);
IdsPacksViewSource = CreateCollectionView(IdsPacks);
diff --git a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
index 04c1b0a6b..bdcb8a91d 100644
--- a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
+++ b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj
@@ -92,6 +92,7 @@
<Compile Include="EntitiesExtensions\MachineEvent.cs" />
<Compile Include="Entities\EventTypesCategory.cs" />
<Compile Include="Entities\EventTypesGroup.cs" />
+ <Compile Include="Entities\HtmlPage.cs" />
<Compile Include="Entities\TechController.cs" />
<Compile Include="Enumerations\ActionTypes.cs" />
<Compile Include="Enumerations\EventTypes.cs" />
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/EVENT_TYPES.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/EVENT_TYPES.cs
index 8fd81fd24..5447968ec 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/EVENT_TYPES.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/EVENT_TYPES.cs
@@ -29,9 +29,11 @@ namespace Tango.DAL.Remote.DB
public string DESCRIPTION { get; set; }
public string EVENT_TYPES_CATEGORY_GUID { get; set; }
public string EVENT_TYPES_GROUP_GUID { get; set; }
+ public string HTML_PAGE_GUID { get; set; }
public virtual EVENT_TYPES_GROUPS EVENT_TYPES_GROUPS { get; set; }
public virtual EVENT_TYPES_CATEGORIES EVENT_TYPES_CATEGORIES { get; set; }
+ public virtual HTML_PAGES HTML_PAGES { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<EVENT_TYPES_ACTIONS> EVENT_TYPES_ACTIONS { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_DANCERS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_DANCERS.cs
index 58f60dc58..21f6d2e84 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_DANCERS.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_DANCERS.cs
@@ -23,6 +23,7 @@ namespace Tango.DAL.Remote.DB
public double K { get; set; }
public double X { get; set; }
public int PULSE_PER_MM_SPRING { get; set; }
+ public int ZERO_POINT { get; set; }
public virtual HARDWARE_DANCER_TYPES HARDWARE_DANCER_TYPES { get; set; }
public virtual HARDWARE_VERSIONS HARDWARE_VERSIONS { get; set; }
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/HTML_PAGES.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/HTML_PAGES.cs
new file mode 100644
index 000000000..f0b1932c1
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/HTML_PAGES.cs
@@ -0,0 +1,34 @@
+//------------------------------------------------------------------------------
+// <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 HTML_PAGES
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public HTML_PAGES()
+ {
+ this.EVENT_TYPES = new HashSet<EVENT_TYPES>();
+ }
+
+ public int ID { get; set; }
+ public string GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public int CODE { get; set; }
+ public string NAME { get; set; }
+ public string DESCRIPTION { get; set; }
+ public string HTML { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<EVENT_TYPES> EVENT_TYPES { 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 10da7a03b..06a12e5c7 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs
@@ -57,6 +57,7 @@ namespace Tango.DAL.Remote.DB
public virtual DbSet<HARDWARE_VERSIONS> HARDWARE_VERSIONS { get; set; }
public virtual DbSet<HARDWARE_WINDER_TYPES> HARDWARE_WINDER_TYPES { get; set; }
public virtual DbSet<HARDWARE_WINDERS> HARDWARE_WINDERS { get; set; }
+ public virtual DbSet<HTML_PAGES> HTML_PAGES { get; set; }
public virtual DbSet<IDS_PACK_FORMULAS> IDS_PACK_FORMULAS { get; set; }
public virtual DbSet<IDS_PACKS> IDS_PACKS { get; set; }
public virtual DbSet<JOB_RUNS> JOB_RUNS { 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 058977e64..0985da6fe 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
@@ -271,6 +271,7 @@
<Property Name="DESCRIPTION" Type="nvarchar" MaxLength="100" Nullable="false" />
<Property Name="EVENT_TYPES_CATEGORY_GUID" Type="varchar" MaxLength="36" Nullable="false" />
<Property Name="EVENT_TYPES_GROUP_GUID" Type="varchar" MaxLength="36" Nullable="false" />
+ <Property Name="HTML_PAGE_GUID" Type="varchar" MaxLength="36" />
</EntityType>
<EntityType Name="EVENT_TYPES_ACTIONS">
<Key>
@@ -348,6 +349,7 @@
<Property Name="K" Type="float" Nullable="false" />
<Property Name="X" Type="float" Nullable="false" />
<Property Name="PULSE_PER_MM_SPRING" Type="int" Nullable="false" />
+ <Property Name="ZERO_POINT" Type="int" Nullable="false" />
</EntityType>
<EntityType Name="HARDWARE_MOTOR_TYPES">
<Key>
@@ -453,6 +455,18 @@
<Property Name="HARDWARE_VERSION_GUID" Type="varchar" MaxLength="36" Nullable="false" />
<Property Name="MILLIMETER_PER_ROTATION" Type="int" Nullable="false" />
</EntityType>
+ <EntityType Name="HTML_PAGES">
+ <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="CODE" Type="int" Nullable="false" />
+ <Property Name="NAME" Type="varchar" MaxLength="50" Nullable="false" />
+ <Property Name="DESCRIPTION" Type="varchar" MaxLength="100" Nullable="false" />
+ <Property Name="HTML" Type="nvarchar(max)" />
+ </EntityType>
<EntityType Name="IDS_PACK_FORMULAS">
<Key>
<PropertyRef Name="GUID" />
@@ -1158,6 +1172,18 @@
</Dependent>
</ReferentialConstraint>
</Association>
+ <Association Name="FK_EVENT_TYPES_HTML_PAGES">
+ <End Role="HTML_PAGES" Type="Self.HTML_PAGES" Multiplicity="0..1" />
+ <End Role="EVENT_TYPES" Type="Self.EVENT_TYPES" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="HTML_PAGES">
+ <PropertyRef Name="GUID" />
+ </Principal>
+ <Dependent Role="EVENT_TYPES">
+ <PropertyRef Name="HTML_PAGE_GUID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
<Association Name="FK_EVENTS_ACTIONS_ACTIONS">
<End Role="ACTION_TYPES" Type="Self.ACTION_TYPES" Multiplicity="1">
<OnDelete Action="Cascade" />
@@ -1869,6 +1895,7 @@
<EntitySet Name="HARDWARE_VERSIONS" EntityType="Self.HARDWARE_VERSIONS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="HARDWARE_WINDER_TYPES" EntityType="Self.HARDWARE_WINDER_TYPES" Schema="dbo" store:Type="Tables" />
<EntitySet Name="HARDWARE_WINDERS" EntityType="Self.HARDWARE_WINDERS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="HTML_PAGES" EntityType="Self.HTML_PAGES" Schema="dbo" store:Type="Tables" />
<EntitySet Name="IDS_PACK_FORMULAS" EntityType="Self.IDS_PACK_FORMULAS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="IDS_PACKS" EntityType="Self.IDS_PACKS" Schema="dbo" store:Type="Tables" />
<EntitySet Name="JOB_RUNS" EntityType="Self.JOB_RUNS" Schema="dbo" store:Type="Tables" />
@@ -1977,6 +2004,10 @@
<End Role="EVENT_TYPES_CATEGORIES" EntitySet="EVENT_TYPES_CATEGORIES" />
<End Role="EVENT_TYPES" EntitySet="EVENT_TYPES" />
</AssociationSet>
+ <AssociationSet Name="FK_EVENT_TYPES_HTML_PAGES" Association="Self.FK_EVENT_TYPES_HTML_PAGES">
+ <End Role="HTML_PAGES" EntitySet="HTML_PAGES" />
+ <End Role="EVENT_TYPES" EntitySet="EVENT_TYPES" />
+ </AssociationSet>
<AssociationSet Name="FK_EVENTS_ACTIONS_ACTIONS" Association="Self.FK_EVENTS_ACTIONS_ACTIONS">
<End Role="ACTION_TYPES" EntitySet="ACTION_TYPES" />
<End Role="EVENT_TYPES_ACTIONS" EntitySet="EVENT_TYPES_ACTIONS" />
@@ -2223,6 +2254,7 @@
<EntitySet Name="HARDWARE_VERSIONS" EntityType="RemoteModel.HARDWARE_VERSIONS" />
<EntitySet Name="HARDWARE_WINDER_TYPES" EntityType="RemoteModel.HARDWARE_WINDER_TYPES" />
<EntitySet Name="HARDWARE_WINDERS" EntityType="RemoteModel.HARDWARE_WINDERS" />
+ <EntitySet Name="HTML_PAGES" EntityType="RemoteModel.HTML_PAGES" />
<EntitySet Name="IDS_PACK_FORMULAS" EntityType="RemoteModel.IDS_PACK_FORMULAS" />
<EntitySet Name="IDS_PACKS" EntityType="RemoteModel.IDS_PACKS" />
<EntitySet Name="JOB_RUNS" EntityType="RemoteModel.JOB_RUNS" />
@@ -2371,6 +2403,10 @@
<End Role="EVENT_TYPES_CATEGORIES" EntitySet="EVENT_TYPES_CATEGORIES" />
<End Role="EVENT_TYPES" EntitySet="EVENT_TYPES" />
</AssociationSet>
+ <AssociationSet Name="FK_EVENT_TYPES_HTML_PAGES" Association="RemoteModel.FK_EVENT_TYPES_HTML_PAGES">
+ <End Role="HTML_PAGES" EntitySet="HTML_PAGES" />
+ <End Role="EVENT_TYPES" EntitySet="EVENT_TYPES" />
+ </AssociationSet>
<AssociationSet Name="FK_EVENTS_ACTIONS_EVENTS" Association="RemoteModel.FK_EVENTS_ACTIONS_EVENTS">
<End Role="EVENT_TYPES" EntitySet="EVENT_TYPES" />
<End Role="EVENT_TYPES_ACTIONS" EntitySet="EVENT_TYPES_ACTIONS" />
@@ -2841,8 +2877,10 @@
<Property Name="DESCRIPTION" Type="String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="true" />
<Property Name="EVENT_TYPES_CATEGORY_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
<Property Name="EVENT_TYPES_GROUP_GUID" Type="String" Nullable="false" MaxLength="36" FixedLength="false" Unicode="false" />
+ <Property Name="HTML_PAGE_GUID" Type="String" MaxLength="36" FixedLength="false" Unicode="false" />
<NavigationProperty Name="EVENT_TYPES_GROUPS" Relationship="RemoteModel.FK_EVENT_TYPES_EVENT_TYPES_CATEGORIES" FromRole="EVENT_TYPES" ToRole="EVENT_TYPES_GROUPS" />
<NavigationProperty Name="EVENT_TYPES_CATEGORIES" Relationship="RemoteModel.FK_EVENT_TYPES_EVENT_TYPES_CATEGORIES1" FromRole="EVENT_TYPES" ToRole="EVENT_TYPES_CATEGORIES" />
+ <NavigationProperty Name="HTML_PAGES" Relationship="RemoteModel.FK_EVENT_TYPES_HTML_PAGES" FromRole="EVENT_TYPES" ToRole="HTML_PAGES" />
<NavigationProperty Name="EVENT_TYPES_ACTIONS" Relationship="RemoteModel.FK_EVENTS_ACTIONS_EVENTS" FromRole="EVENT_TYPES" ToRole="EVENT_TYPES_ACTIONS" />
<NavigationProperty Name="MACHINES_EVENTS" Relationship="RemoteModel.FK_MACHINES_EVENTS_EVENTS" FromRole="EVENT_TYPES" ToRole="MACHINES_EVENTS" />
</EntityType>
@@ -2929,6 +2967,7 @@
<Property Name="K" Type="Double" Nullable="false" />
<Property Name="X" Type="Double" Nullable="false" />
<Property Name="PULSE_PER_MM_SPRING" Type="Int32" Nullable="false" />
+ <Property Name="ZERO_POINT" Type="Int32" Nullable="false" />
<NavigationProperty Name="HARDWARE_DANCER_TYPES" Relationship="RemoteModel.FK_HARDWARE_DANCERS_HARDWARE_DANCER_TYPES" FromRole="HARDWARE_DANCERS" ToRole="HARDWARE_DANCER_TYPES" />
<NavigationProperty Name="HARDWARE_VERSIONS" Relationship="RemoteModel.FK_HARDWARE_DANCERS_HARDWARE_VERSIONS" FromRole="HARDWARE_DANCERS" ToRole="HARDWARE_VERSIONS" />
</EntityType>
@@ -3050,6 +3089,19 @@
<NavigationProperty Name="HARDWARE_VERSIONS" Relationship="RemoteModel.FK_HARDWARE_WINDERS_HARDWARE_VERSIONS" FromRole="HARDWARE_WINDERS" ToRole="HARDWARE_VERSIONS" />
<NavigationProperty Name="HARDWARE_WINDER_TYPES" Relationship="RemoteModel.FK_HARDWARE_WINDERS_HARDWARE_WINDER_TYPES" FromRole="HARDWARE_WINDERS" ToRole="HARDWARE_WINDER_TYPES" />
</EntityType>
+ <EntityType Name="HTML_PAGES">
+ <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="CODE" Type="Int32" Nullable="false" />
+ <Property Name="NAME" Type="String" Nullable="false" MaxLength="50" FixedLength="false" Unicode="false" />
+ <Property Name="DESCRIPTION" Type="String" Nullable="false" MaxLength="100" FixedLength="false" Unicode="false" />
+ <Property Name="HTML" Type="String" MaxLength="Max" FixedLength="false" Unicode="true" />
+ <NavigationProperty Name="EVENT_TYPES" Relationship="RemoteModel.FK_EVENT_TYPES_HTML_PAGES" FromRole="HTML_PAGES" ToRole="EVENT_TYPES" />
+ </EntityType>
<EntityType Name="IDS_PACK_FORMULAS">
<Key>
<PropertyRef Name="GUID" />
@@ -3967,6 +4019,18 @@
</Dependent>
</ReferentialConstraint>
</Association>
+ <Association Name="FK_EVENT_TYPES_HTML_PAGES">
+ <End Type="RemoteModel.HTML_PAGES" Role="HTML_PAGES" Multiplicity="0..1" />
+ <End Type="RemoteModel.EVENT_TYPES" Role="EVENT_TYPES" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="HTML_PAGES">
+ <PropertyRef Name="GUID" />
+ </Principal>
+ <Dependent Role="EVENT_TYPES">
+ <PropertyRef Name="HTML_PAGE_GUID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
<Association Name="FK_EVENTS_ACTIONS_EVENTS">
<End Type="RemoteModel.EVENT_TYPES" Role="EVENT_TYPES" Multiplicity="1">
<OnDelete Action="Cascade" />
@@ -4791,6 +4855,7 @@
<EntitySetMapping Name="EVENT_TYPES">
<EntityTypeMapping TypeName="RemoteModel.EVENT_TYPES">
<MappingFragment StoreEntitySet="EVENT_TYPES">
+ <ScalarProperty Name="HTML_PAGE_GUID" ColumnName="HTML_PAGE_GUID" />
<ScalarProperty Name="EVENT_TYPES_GROUP_GUID" ColumnName="EVENT_TYPES_GROUP_GUID" />
<ScalarProperty Name="EVENT_TYPES_CATEGORY_GUID" ColumnName="EVENT_TYPES_CATEGORY_GUID" />
<ScalarProperty Name="DESCRIPTION" ColumnName="DESCRIPTION" />
@@ -4874,6 +4939,7 @@
<EntitySetMapping Name="HARDWARE_DANCERS">
<EntityTypeMapping TypeName="RemoteModel.HARDWARE_DANCERS">
<MappingFragment StoreEntitySet="HARDWARE_DANCERS">
+ <ScalarProperty Name="ZERO_POINT" ColumnName="ZERO_POINT" />
<ScalarProperty Name="PULSE_PER_MM_SPRING" ColumnName="PULSE_PER_MM_SPRING" />
<ScalarProperty Name="X" ColumnName="X" />
<ScalarProperty Name="K" ColumnName="K" />
@@ -4997,6 +5063,19 @@
</MappingFragment>
</EntityTypeMapping>
</EntitySetMapping>
+ <EntitySetMapping Name="HTML_PAGES">
+ <EntityTypeMapping TypeName="RemoteModel.HTML_PAGES">
+ <MappingFragment StoreEntitySet="HTML_PAGES">
+ <ScalarProperty Name="HTML" ColumnName="HTML" />
+ <ScalarProperty Name="DESCRIPTION" ColumnName="DESCRIPTION" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="CODE" ColumnName="CODE" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
<EntitySetMapping Name="IDS_PACK_FORMULAS">
<EntityTypeMapping TypeName="RemoteModel.IDS_PACK_FORMULAS">
<MappingFragment StoreEntitySet="IDS_PACK_FORMULAS">
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 cc3421bd6..a77d11e6e 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
@@ -5,74 +5,75 @@
<!-- Diagram content (shape and connector positions) -->
<edmx:Diagrams>
<Diagram DiagramId="f9ae01d708754bbd997add25a4bacc79" Name="Diagram1">
- <EntityTypeShape EntityType="RemoteModel.ACTION_TYPES" Width="1.5" PointX="3" PointY="94.875" />
- <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="40.25" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="1.5" PointY="70.75" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="76.625" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="1.5" PointY="57" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_VERSIONS" Width="1.5" PointX="1.5" PointY="79.625" />
- <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="10.75" PointY="10.875" />
- <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="6" PointY="42.375" />
- <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="8.25" PointY="17" />
- <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="5.25" PointY="28.25" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="8.5" PointY="2.25" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="6.25" PointY="4" />
- <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="0.75" PointY="64.5" />
- <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="52.625" />
- <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="6" PointY="45.375" />
- <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="73.75" />
- <EntityTypeShape EntityType="RemoteModel.EMBEDDED_SOFTWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="59.875" />
- <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="3" PointY="4.25" />
+ <EntityTypeShape EntityType="RemoteModel.ACTION_TYPES" Width="1.5" PointX="3" PointY="84.875" />
+ <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="75.875" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="1.5" PointY="53.5" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="56.375" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="1.5" PointY="37.625" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_VERSIONS" Width="1.5" PointX="1.5" PointY="40.5" />
+ <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="9.75" PointY="8.125" />
+ <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="8" PointY="42.75" />
+ <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="8.25" PointY="17.625" />
+ <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="5.25" PointY="28.875" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="7.5" PointY="2.5" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="5.25" PointY="4.25" />
+ <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="0.75" PointY="45.125" />
+ <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="80.125" />
+ <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="8" PointY="27" />
+ <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="59.25" />
+ <EntityTypeShape EntityType="RemoteModel.EMBEDDED_SOFTWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="65.875" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="3" PointY="3.125" />
<EntityTypeShape EntityType="RemoteModel.EVENT_TYPES_ACTIONS" Width="1.5" PointX="5.25" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES_CATEGORIES" Width="1.5" PointX="0.75" PointY="6" />
- <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES_GROUPS" Width="1.5" PointX="0.75" PointY="2.125" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="17.5" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="20.875" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="4.5" PointY="77.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="6.75" PointY="78.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="4.5" PointY="91.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="6.75" PointY="86.375" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="1.5" PointY="86.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="3.75" PointY="81.25" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="82.5" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="4.5" PointY="87.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="6.75" PointY="82.625" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="6" PointY="51" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="8.25" PointY="43.375" />
- <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="7.5" PointY="9.5" />
- <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="5.25" PointY="9.375" />
- <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="26.625" />
- <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="6" PointY="21.125" />
- <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="5.25" PointY="17.25" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="5.25" PointY="65.125" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="0.75" PointY="44.625" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="3" PointY="47.125" />
- <EntityTypeShape EntityType="RemoteModel.MACHINES_CONFIGURATIONS" Width="1.5" PointX="5.25" PointY="57.375" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES_CATEGORIES" Width="1.5" PointX="0.75" PointY="7" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES_GROUPS" Width="1.5" PointX="0.75" PointY="3.125" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="30.625" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="21.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="4.5" PointY="71.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="6.75" PointY="62" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="1.5" PointY="92.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="3.75" PointY="61.125" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="1.5" PointY="88.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="3.75" PointY="55" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="62.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="4.5" PointY="67.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="6.75" PointY="58.375" />
+ <EntityTypeShape EntityType="RemoteModel.HTML_PAGES" Width="1.5" PointX="0.75" PointY="84.25" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="8" PointY="45.75" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="10.25" PointY="34" />
+ <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="7.5" PointY="13.75" />
+ <EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="5.25" PointY="10" />
+ <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="27.75" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="6" PointY="21.75" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="5.25" PointY="18" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="5.25" PointY="43.125" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="0.75" PointY="34.25" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="3" PointY="48.125" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINES_CONFIGURATIONS" Width="1.5" PointX="5.25" PointY="47.625" />
<EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="5.25" PointY="38.25" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_COLORS" Width="1.5" PointX="0.75" PointY="29.625" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="10" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="23.75" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="12.875" />
- <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="6" PointY="61.25" />
- <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="0.75" PointY="35.625" />
- <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="6" PointY="73.25" />
- <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="32.375" />
- <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="33.625" />
- <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="14.75" />
- <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="6" PointY="69.125" />
- <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="8.25" PointY="69.25" />
- <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="7.5" PointY="12.875" />
- <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="3" PointY="23.75" />
- <EntityTypeShape EntityType="RemoteModel.SYNC_CONFIGURATIONS" Width="1.5" PointX="10.75" PointY="3.5" />
- <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="10.75" PointY="6.5" />
- <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="12.75" PointY="3.5" />
- <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="12.75" PointY="6.5" />
- <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="12.75" PointY="10.5" />
- <EntityTypeShape EntityType="RemoteModel.TECH_MOTORS" Width="1.5" PointX="12.75" PointY="15.5" />
- <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="14.75" PointY="3.5" />
- <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="3" PointY="28.25" />
- <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="8.25" PointY="28.125" />
- <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="3" PointY="10.625" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_COLORS" Width="1.5" PointX="0.75" PointY="24.375" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="10.625" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="18.125" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="13.5" />
+ <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="8" PointY="39.625" />
+ <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="0.75" PointY="71.125" />
+ <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="8" PointY="53.25" />
+ <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="33" />
+ <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="34.25" />
+ <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="15.375" />
+ <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="8" PointY="49.125" />
+ <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="10.25" PointY="49.25" />
+ <EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="7.5" PointY="10.25" />
+ <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="3" PointY="10.625" />
+ <EntityTypeShape EntityType="RemoteModel.SYNC_CONFIGURATIONS" Width="1.5" PointX="9.75" PointY="4.125" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="11.75" PointY="4.125" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="11.75" PointY="8.125" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="11.75" PointY="11.125" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="11.75" PointY="15.125" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_MOTORS" Width="1.5" PointX="13.75" PointY="4.125" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="13.75" PointY="8.125" />
+ <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="3" PointY="27.25" />
+ <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="10.25" PointY="28.125" />
+ <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="3" PointY="24.125" />
<AssociationConnector Association="RemoteModel.FK_EVENTS_ACTIONS_ACTIONS" />
<AssociationConnector Association="RemoteModel.FK_ORGANIZATIONS_ADDRESSES" />
<AssociationConnector Association="RemoteModel.FK_USERS_ADDRESSES" />
@@ -101,6 +102,7 @@
<AssociationConnector Association="RemoteModel.FK_IDS_PACKS_DISPENSER_TYPES" />
<AssociationConnector Association="RemoteModel.FK_EVENT_TYPES_EVENT_TYPES_CATEGORIES" />
<AssociationConnector Association="RemoteModel.FK_EVENT_TYPES_EVENT_TYPES_CATEGORIES1" />
+ <AssociationConnector Association="RemoteModel.FK_EVENT_TYPES_HTML_PAGES" />
<AssociationConnector Association="RemoteModel.FK_EVENTS_ACTIONS_EVENTS" />
<AssociationConnector Association="RemoteModel.FK_MACHINES_EVENTS_EVENTS" />
<AssociationConnector Association="RemoteModel.FK_RML_FIBER_SHAPES" />
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 a56bee1d8..51d3510ce 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj
+++ b/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj
@@ -161,6 +161,9 @@
<Compile Include="DB\HARDWARE_WINDER_TYPES.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>
+ <Compile Include="DB\HTML_PAGES.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
<Compile Include="DB\IDS_PACKS.cs">
<DependentUpon>RemoteADO.tt</DependentUpon>
</Compile>