aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.DAL.Remote
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2017-11-27 20:35:08 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2017-11-27 20:35:08 +0200
commit7060dc80c707fc0441ff69fe4f899107cb3f6fc1 (patch)
treea72e2cf1be9fcce77e27446d93501bfc9b452265 /Software/Visual_Studio/Tango.DAL.Remote
parentd1038a08bdf51b1310be4ef00ebe9e21b0e12f81 (diff)
downloadTango-7060dc80c707fc0441ff69fe4f899107cb3f6fc1.tar.gz
Tango-7060dc80c707fc0441ff69fe4f899107cb3f6fc1.zip
Split DAL to DAl.Local & DAL.Remote due to ambiguity of table names in EF.
Implemented Unit testing for SQLite & SQL Server connections.
Diffstat (limited to 'Software/Visual_Studio/Tango.DAL.Remote')
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/App.config25
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/ACTION.cs34
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/ADDRESS.cs41
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_DISPLAY_PANEL_VERSIONS.cs31
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_FIRMWARE_VERSIONS.cs31
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_OS_VERSIONS.cs31
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_VERSIONS.cs31
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/CONFIGURATION.cs51
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/CONFIGURATIONS_DISPENSERS.cs29
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/CONTACT.cs40
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/DISPENSER.cs31
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/EMBEDDED_FIRMWARE_VERSIONS.cs31
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/EMBEDDED_SOFTWARE_VERSIONS.cs31
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/EVENT.cs37
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/EVENTS_ACTIONS.cs27
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/FIBER_SHAPES.cs33
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/FIBER_SYNTHESIS.cs33
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_VERSIONS.cs31
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/LINEAR_MASS_DENSITY_UNITS.cs33
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUID.cs38
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUIDS_RML.cs27
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUID_TYPES.cs34
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINE.cs40
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINES_EVENTS.cs31
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINE_VERSIONS.cs34
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_COLORS.cs32
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_CONDITIONS.cs33
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_MATERIALS.cs33
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_PURPOSES.cs33
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/ORGANIZATION.cs39
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/PERMISSION.cs33
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs56
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/ROLE.cs36
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/ROLES_PERMISSIONS.cs27
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs64
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.tt636
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Designer.cs10
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.cs9
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx2685
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram84
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.tt733
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/USER.cs42
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/USERS_ROLES.cs27
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/Partials/RemoteDB.cs31
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/Properties/AssemblyInfo.cs6
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj225
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/packages.config8
47 files changed, 5717 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/App.config b/Software/Visual_Studio/Tango.DAL.Remote/App.config
new file mode 100644
index 000000000..78a5cb60c
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/App.config
@@ -0,0 +1,25 @@
+<?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>
+ <entityFramework>
+ <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
+ <providers>
+ <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+ <provider invariantName="System.Data.SQLite.EF6" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" />
+ </providers>
+ </entityFramework>
+ <system.data>
+ <DbProviderFactories>
+ <remove invariant="System.Data.SQLite.EF6" />
+ <add name="SQLite Data Provider (Entity Framework 6)" invariant="System.Data.SQLite.EF6" description=".NET Framework Data Provider for SQLite (Entity Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory, System.Data.SQLite.EF6" />
+ <remove invariant="System.Data.SQLite" />
+ <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
+ </DbProviderFactories>
+ </system.data>
+ <connectionStrings>
+ <add name="RemoteDB" connectionString="metadata=res://*/DB.RemoteADO.csdl|res://*/DB.RemoteADO.ssdl|res://*/DB.RemoteADO.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=LOCALHOST\SQLEXPRESS;initial catalog=Tango;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
+ </connectionStrings>
+</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/ACTION.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/ACTION.cs
new file mode 100644
index 000000000..0d6d93cbd
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/ACTION.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 ACTION
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public ACTION()
+ {
+ this.EVENTS_ACTIONS = new HashSet<EVENTS_ACTIONS>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public int CODE { get; set; }
+ public string NAME { get; set; }
+ public string DESCRIPTION { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<EVENTS_ACTIONS> EVENTS_ACTIONS { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/ADDRESS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/ADDRESS.cs
new file mode 100644
index 000000000..3cbe7d0d6
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/ADDRESS.cs
@@ -0,0 +1,41 @@
+//------------------------------------------------------------------------------
+// <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 ADDRESS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public ADDRESS()
+ {
+ this.ORGANIZATIONS = new HashSet<ORGANIZATION>();
+ this.USERS = new HashSet<USER>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string ADDRESS1 { get; set; }
+ public string LOCALITY { get; set; }
+ public string COUNTRY { get; set; }
+ public string CITY { get; set; }
+ public string STATE { get; set; }
+ public string COUNTRY_CODE { get; set; }
+ public string POSTAL_CODE { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<ORGANIZATION> ORGANIZATIONS { get; set; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<USER> USERS { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_DISPLAY_PANEL_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_DISPLAY_PANEL_VERSIONS.cs
new file mode 100644
index 000000000..efba337da
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_DISPLAY_PANEL_VERSIONS.cs
@@ -0,0 +1,31 @@
+//------------------------------------------------------------------------------
+// <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 APPLICATION_DISPLAY_PANEL_VERSIONS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public APPLICATION_DISPLAY_PANEL_VERSIONS()
+ {
+ this.CONFIGURATIONS = new HashSet<CONFIGURATION>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { 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/APPLICATION_FIRMWARE_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_FIRMWARE_VERSIONS.cs
new file mode 100644
index 000000000..a51070adc
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_FIRMWARE_VERSIONS.cs
@@ -0,0 +1,31 @@
+//------------------------------------------------------------------------------
+// <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 APPLICATION_FIRMWARE_VERSIONS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public APPLICATION_FIRMWARE_VERSIONS()
+ {
+ this.CONFIGURATIONS = new HashSet<CONFIGURATION>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { 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/APPLICATION_OS_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_OS_VERSIONS.cs
new file mode 100644
index 000000000..2db9b1ceb
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_OS_VERSIONS.cs
@@ -0,0 +1,31 @@
+//------------------------------------------------------------------------------
+// <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 APPLICATION_OS_VERSIONS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public APPLICATION_OS_VERSIONS()
+ {
+ this.CONFIGURATIONS = new HashSet<CONFIGURATION>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { 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/APPLICATION_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_VERSIONS.cs
new file mode 100644
index 000000000..307d86358
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/APPLICATION_VERSIONS.cs
@@ -0,0 +1,31 @@
+//------------------------------------------------------------------------------
+// <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 APPLICATION_VERSIONS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public APPLICATION_VERSIONS()
+ {
+ this.CONFIGURATIONS = new HashSet<CONFIGURATION>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { 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/CONFIGURATION.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/CONFIGURATION.cs
new file mode 100644
index 000000000..1d80a58a8
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/CONFIGURATION.cs
@@ -0,0 +1,51 @@
+//------------------------------------------------------------------------------
+// <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 CONFIGURATION
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public CONFIGURATION()
+ {
+ this.CONFIGURATIONS_DISPENSERS = new HashSet<CONFIGURATIONS_DISPENSERS>();
+ this.MACHINE_VERSIONS = new HashSet<MACHINE_VERSIONS>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public System.DateTime CREATION_DATE { get; set; }
+ public int MACHINE_ID { get; set; }
+ public int APPLICATION_VERSION_ID { get; set; }
+ public int APPLICATION_OS_VERSION_ID { get; set; }
+ public int APPLICATION_FIRMWARE_VERSION_ID { get; set; }
+ public int APPLICATION_DISPLAY_PANEL_VERSION_ID { get; set; }
+ public int EMBEDDED_FIRMWARE_VERSION_ID { get; set; }
+ public int EMBEDDED_SOFTWARE_VERSION_ID { get; set; }
+ public int HARDWARE_VERSION_ID { 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; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<CONFIGURATIONS_DISPENSERS> CONFIGURATIONS_DISPENSERS { 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; }
+ public virtual MACHINE MACHINE { get; set; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<MACHINE_VERSIONS> MACHINE_VERSIONS { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/CONFIGURATIONS_DISPENSERS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/CONFIGURATIONS_DISPENSERS.cs
new file mode 100644
index 000000000..314130c6a
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/CONFIGURATIONS_DISPENSERS.cs
@@ -0,0 +1,29 @@
+//------------------------------------------------------------------------------
+// <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 CONFIGURATIONS_DISPENSERS
+ {
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public int CONFIGURATION_ID { get; set; }
+ public int DISPENSER_ID { get; set; }
+ public int LIQUID_ID { get; set; }
+
+ public virtual CONFIGURATION CONFIGURATION { get; set; }
+ public virtual DISPENSER DISPENSER { get; set; }
+ public virtual LIQUID LIQUID { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/CONTACT.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/CONTACT.cs
new file mode 100644
index 000000000..776de0b9d
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/CONTACT.cs
@@ -0,0 +1,40 @@
+//------------------------------------------------------------------------------
+// <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 CONTACT
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public CONTACT()
+ {
+ this.ORGANIZATIONS = new HashSet<ORGANIZATION>();
+ this.USERS = new HashSet<USER>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string FIRST_NAME { get; set; }
+ public string LAST_NAME { get; set; }
+ public string FULL_NAME { get; set; }
+ public string EMAIL { get; set; }
+ public string PHONE_NUMBER { get; set; }
+ public string FAX { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<ORGANIZATION> ORGANIZATIONS { get; set; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<USER> USERS { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/DISPENSER.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/DISPENSER.cs
new file mode 100644
index 000000000..0d85157cf
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/DISPENSER.cs
@@ -0,0 +1,31 @@
+//------------------------------------------------------------------------------
+// <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 DISPENSER
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public DISPENSER()
+ {
+ this.CONFIGURATIONS_DISPENSERS = new HashSet<CONFIGURATIONS_DISPENSERS>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<CONFIGURATIONS_DISPENSERS> CONFIGURATIONS_DISPENSERS { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/EMBEDDED_FIRMWARE_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/EMBEDDED_FIRMWARE_VERSIONS.cs
new file mode 100644
index 000000000..57c0ff17d
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/EMBEDDED_FIRMWARE_VERSIONS.cs
@@ -0,0 +1,31 @@
+//------------------------------------------------------------------------------
+// <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_FIRMWARE_VERSIONS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public EMBEDDED_FIRMWARE_VERSIONS()
+ {
+ this.CONFIGURATIONS = new HashSet<CONFIGURATION>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { 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/EMBEDDED_SOFTWARE_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/EMBEDDED_SOFTWARE_VERSIONS.cs
new file mode 100644
index 000000000..8729b1f14
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/EMBEDDED_SOFTWARE_VERSIONS.cs
@@ -0,0 +1,31 @@
+//------------------------------------------------------------------------------
+// <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 System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { 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/EVENT.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/EVENT.cs
new file mode 100644
index 000000000..abfb0420f
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/EVENT.cs
@@ -0,0 +1,37 @@
+//------------------------------------------------------------------------------
+// <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 EVENT
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public EVENT()
+ {
+ this.EVENTS_ACTIONS = new HashSet<EVENTS_ACTIONS>();
+ this.MACHINES_EVENTS = new HashSet<MACHINES_EVENTS>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public int CODE { get; set; }
+ public string NAME { get; set; }
+ public string DESCRIPTION { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<EVENTS_ACTIONS> EVENTS_ACTIONS { get; set; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<MACHINES_EVENTS> MACHINES_EVENTS { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/EVENTS_ACTIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/EVENTS_ACTIONS.cs
new file mode 100644
index 000000000..58797a747
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/EVENTS_ACTIONS.cs
@@ -0,0 +1,27 @@
+//------------------------------------------------------------------------------
+// <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 EVENTS_ACTIONS
+ {
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public int EVENT_ID { get; set; }
+ public int ACTION_ID { get; set; }
+
+ public virtual ACTION ACTION { get; set; }
+ public virtual EVENT EVENT { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/FIBER_SHAPES.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/FIBER_SHAPES.cs
new file mode 100644
index 000000000..bc97ccc51
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/FIBER_SHAPES.cs
@@ -0,0 +1,33 @@
+//------------------------------------------------------------------------------
+// <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 FIBER_SHAPES
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public FIBER_SHAPES()
+ {
+ this.RMLs = new HashSet<RML>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string NAME { get; set; }
+ public int CODE { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<RML> RMLs { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/FIBER_SYNTHESIS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/FIBER_SYNTHESIS.cs
new file mode 100644
index 000000000..4182e0bc2
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/FIBER_SYNTHESIS.cs
@@ -0,0 +1,33 @@
+//------------------------------------------------------------------------------
+// <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 FIBER_SYNTHESIS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public FIBER_SYNTHESIS()
+ {
+ this.RMLs = new HashSet<RML>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string NAME { get; set; }
+ public int CODE { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<RML> RMLs { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_VERSIONS.cs
new file mode 100644
index 000000000..da7891f4c
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/HARDWARE_VERSIONS.cs
@@ -0,0 +1,31 @@
+//------------------------------------------------------------------------------
+// <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 HARDWARE_VERSIONS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public HARDWARE_VERSIONS()
+ {
+ this.CONFIGURATIONS = new HashSet<CONFIGURATION>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { 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/LINEAR_MASS_DENSITY_UNITS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/LINEAR_MASS_DENSITY_UNITS.cs
new file mode 100644
index 000000000..a0af02a1d
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/LINEAR_MASS_DENSITY_UNITS.cs
@@ -0,0 +1,33 @@
+//------------------------------------------------------------------------------
+// <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 LINEAR_MASS_DENSITY_UNITS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public LINEAR_MASS_DENSITY_UNITS()
+ {
+ this.RMLs = new HashSet<RML>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string NAME { get; set; }
+ public int CODE { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<RML> RMLs { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUID.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUID.cs
new file mode 100644
index 000000000..68bfed902
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUID.cs
@@ -0,0 +1,38 @@
+//------------------------------------------------------------------------------
+// <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 LIQUID
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public LIQUID()
+ {
+ this.CONFIGURATIONS_DISPENSERS = new HashSet<CONFIGURATIONS_DISPENSERS>();
+ this.LIQUIDS_RML = new HashSet<LIQUIDS_RML>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string NAME { get; set; }
+ public double VERSION { get; set; }
+ public int LIQUID_TYPE_ID { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<CONFIGURATIONS_DISPENSERS> CONFIGURATIONS_DISPENSERS { get; set; }
+ public virtual LIQUID_TYPES LIQUID_TYPES { get; set; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<LIQUIDS_RML> LIQUIDS_RML { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUIDS_RML.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUIDS_RML.cs
new file mode 100644
index 000000000..3dff203c6
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUIDS_RML.cs
@@ -0,0 +1,27 @@
+//------------------------------------------------------------------------------
+// <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 LIQUIDS_RML
+ {
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public int LIQUID_ID { get; set; }
+ public int RML_ID { get; set; }
+
+ public virtual LIQUID LIQUID { get; set; }
+ public virtual RML RML { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUID_TYPES.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUID_TYPES.cs
new file mode 100644
index 000000000..f666b3517
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/LIQUID_TYPES.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 LIQUID_TYPES
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public LIQUID_TYPES()
+ {
+ this.LIQUIDS = new HashSet<LIQUID>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string NAME { get; set; }
+ public string DESCRIPTION { get; set; }
+ public int CODE { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<LIQUID> LIQUIDS { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINE.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINE.cs
new file mode 100644
index 000000000..5a319a9fd
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINE.cs
@@ -0,0 +1,40 @@
+//------------------------------------------------------------------------------
+// <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 MACHINE
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public MACHINE()
+ {
+ this.CONFIGURATIONS = new HashSet<CONFIGURATION>();
+ this.MACHINES_EVENTS = new HashSet<MACHINES_EVENTS>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string SERIAL_NUMBER { get; set; }
+ public System.DateTime PRODUCTION_DATE { get; set; }
+ public int ORGANIZATION_ID { get; set; }
+ public int MACHINE_VERSION_ID { 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; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<MACHINES_EVENTS> MACHINES_EVENTS { get; set; }
+ public virtual ORGANIZATION ORGANIZATION { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINES_EVENTS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINES_EVENTS.cs
new file mode 100644
index 000000000..94084ead1
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINES_EVENTS.cs
@@ -0,0 +1,31 @@
+//------------------------------------------------------------------------------
+// <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 MACHINES_EVENTS
+ {
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public int MACHINE_ID { get; set; }
+ public int EVENT_ID { get; set; }
+ public int USER_ID { get; set; }
+ public System.DateTime DATE_TIME { get; set; }
+ public string DESCRIPTION { get; set; }
+
+ public virtual EVENT EVENT { get; set; }
+ public virtual MACHINE MACHINE { get; set; }
+ public virtual USER USER { 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
new file mode 100644
index 000000000..581cb39a2
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/MACHINE_VERSIONS.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 MACHINE_VERSIONS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public MACHINE_VERSIONS()
+ {
+ this.MACHINES = new HashSet<MACHINE>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public double VERSION { get; set; }
+ public int DEFAULT_CONFIGURATION_ID { get; set; }
+
+ public virtual CONFIGURATION CONFIGURATION { get; set; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<MACHINE> MACHINES { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_COLORS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_COLORS.cs
new file mode 100644
index 000000000..3a05bfc13
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_COLORS.cs
@@ -0,0 +1,32 @@
+//------------------------------------------------------------------------------
+// <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 MEDIA_COLORS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public MEDIA_COLORS()
+ {
+ this.RMLs = new HashSet<RML>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public int COLOR { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<RML> RMLs { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_CONDITIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_CONDITIONS.cs
new file mode 100644
index 000000000..d4127674f
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_CONDITIONS.cs
@@ -0,0 +1,33 @@
+//------------------------------------------------------------------------------
+// <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 MEDIA_CONDITIONS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public MEDIA_CONDITIONS()
+ {
+ this.RMLs = new HashSet<RML>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string NAME { get; set; }
+ public int CODE { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<RML> RMLs { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_MATERIALS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_MATERIALS.cs
new file mode 100644
index 000000000..ad0e44d0c
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_MATERIALS.cs
@@ -0,0 +1,33 @@
+//------------------------------------------------------------------------------
+// <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 MEDIA_MATERIALS
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public MEDIA_MATERIALS()
+ {
+ this.RMLs = new HashSet<RML>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string NAME { get; set; }
+ public int CODE { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<RML> RMLs { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_PURPOSES.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_PURPOSES.cs
new file mode 100644
index 000000000..0db016179
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/MEDIA_PURPOSES.cs
@@ -0,0 +1,33 @@
+//------------------------------------------------------------------------------
+// <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 MEDIA_PURPOSES
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public MEDIA_PURPOSES()
+ {
+ this.RMLs = new HashSet<RML>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string NAME { get; set; }
+ public int CODE { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<RML> RMLs { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/ORGANIZATION.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/ORGANIZATION.cs
new file mode 100644
index 000000000..68ca7f84c
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/ORGANIZATION.cs
@@ -0,0 +1,39 @@
+//------------------------------------------------------------------------------
+// <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 ORGANIZATION
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public ORGANIZATION()
+ {
+ this.MACHINES = new HashSet<MACHINE>();
+ this.USERS = new HashSet<USER>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string NAME { get; set; }
+ public int CONTACT_ID { get; set; }
+ public int ADDRESS_ID { get; set; }
+
+ public virtual ADDRESS ADDRESS { get; set; }
+ public virtual CONTACT CONTACT { 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<USER> USERS { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/PERMISSION.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/PERMISSION.cs
new file mode 100644
index 000000000..a8c6105c3
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/PERMISSION.cs
@@ -0,0 +1,33 @@
+//------------------------------------------------------------------------------
+// <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 PERMISSION
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public PERMISSION()
+ {
+ this.ROLES_PERMISSIONS = new HashSet<ROLES_PERMISSIONS>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string NAME { get; set; }
+ public string DESCRIPTION { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<ROLES_PERMISSIONS> ROLES_PERMISSIONS { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs
new file mode 100644
index 000000000..e43af9f36
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RML.cs
@@ -0,0 +1,56 @@
+//------------------------------------------------------------------------------
+// <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 RML
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public RML()
+ {
+ this.LIQUIDS_RML = new HashSet<LIQUIDS_RML>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string MANUFACTURER { get; set; }
+ public int MATERIAL_ID { get; set; }
+ public int COLOR_ID { get; set; }
+ public int PURPOSE_ID { get; set; }
+ public int CONDITION_ID { get; set; }
+ public int LINEAR_MASS_DENSITY_UNIT_ID { get; set; }
+ public int FIBER_SHAPE_ID { get; set; }
+ public int FIBER_SYNTHESIS_ID { get; set; }
+ public double FIBER_SIZE { get; set; }
+ public int NUMBER_OF_FIBERS { get; set; }
+ public int PLIES_PER_FIBER { get; set; }
+ public int PLIES_PER_THREAD { get; set; }
+ public bool TWISTED { get; set; }
+ public bool AIR_ENTANGLEMENT { get; set; }
+ public bool LUBRICANT { get; set; }
+ public double TENSILE_STRENGTH { get; set; }
+ public double ELONGATION_AT_BREAK_PERCENTAGE { get; set; }
+ public double ESTIMATED_THREAD_DIAMETER { get; set; }
+
+ public virtual FIBER_SHAPES FIBER_SHAPES { get; set; }
+ public virtual FIBER_SYNTHESIS FIBER_SYNTHESIS { get; set; }
+ public virtual LINEAR_MASS_DENSITY_UNITS LINEAR_MASS_DENSITY_UNITS { get; set; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<LIQUIDS_RML> LIQUIDS_RML { get; set; }
+ public virtual MEDIA_COLORS MEDIA_COLORS { get; set; }
+ public virtual MEDIA_CONDITIONS MEDIA_CONDITIONS { get; set; }
+ public virtual MEDIA_MATERIALS MEDIA_MATERIALS { get; set; }
+ public virtual MEDIA_PURPOSES MEDIA_PURPOSES { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/ROLE.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/ROLE.cs
new file mode 100644
index 000000000..f18f0663b
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/ROLE.cs
@@ -0,0 +1,36 @@
+//------------------------------------------------------------------------------
+// <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 ROLE
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public ROLE()
+ {
+ this.ROLES_PERMISSIONS = new HashSet<ROLES_PERMISSIONS>();
+ this.USERS_ROLES = new HashSet<USERS_ROLES>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string NAME { get; set; }
+ public string DESCRIPTION { get; set; }
+
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ public virtual ICollection<ROLES_PERMISSIONS> ROLES_PERMISSIONS { 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/DB/ROLES_PERMISSIONS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/ROLES_PERMISSIONS.cs
new file mode 100644
index 000000000..910f18079
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/ROLES_PERMISSIONS.cs
@@ -0,0 +1,27 @@
+//------------------------------------------------------------------------------
+// <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 ROLES_PERMISSIONS
+ {
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public int ROLE_ID { get; set; }
+ public int PERMISSION_ID { get; set; }
+
+ public virtual PERMISSION PERMISSION { get; set; }
+ public virtual ROLE ROLE { 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
new file mode 100644
index 000000000..903a4857a
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.cs
@@ -0,0 +1,64 @@
+//------------------------------------------------------------------------------
+// <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.Data.Entity;
+ using System.Data.Entity.Infrastructure;
+
+ public partial class RemoteDB : DbContext
+ {
+ public RemoteDB()
+ : base("name=RemoteDB")
+ {
+ }
+
+ protected override void OnModelCreating(DbModelBuilder modelBuilder)
+ {
+ throw new UnintentionalCodeFirstException();
+ }
+
+ public virtual DbSet<ACTION> ACTIONS { get; set; }
+ public virtual DbSet<ADDRESS> ADDRESSES { get; set; }
+ 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<CONFIGURATION> CONFIGURATIONS { get; set; }
+ public virtual DbSet<CONFIGURATIONS_DISPENSERS> CONFIGURATIONS_DISPENSERS { get; set; }
+ public virtual DbSet<CONTACT> CONTACTS { get; set; }
+ public virtual DbSet<DISPENSER> DISPENSERS { 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> EVENTS { get; set; }
+ public virtual DbSet<EVENTS_ACTIONS> EVENTS_ACTIONS { get; set; }
+ public virtual DbSet<FIBER_SHAPES> FIBER_SHAPES { get; set; }
+ public virtual DbSet<FIBER_SYNTHESIS> FIBER_SYNTHESIS { get; set; }
+ public virtual DbSet<HARDWARE_VERSIONS> HARDWARE_VERSIONS { get; set; }
+ public virtual DbSet<LINEAR_MASS_DENSITY_UNITS> LINEAR_MASS_DENSITY_UNITS { get; set; }
+ public virtual DbSet<LIQUID_TYPES> LIQUID_TYPES { get; set; }
+ public virtual DbSet<LIQUID> LIQUIDS { get; set; }
+ public virtual DbSet<LIQUIDS_RML> LIQUIDS_RML { get; set; }
+ public virtual DbSet<MACHINE_VERSIONS> MACHINE_VERSIONS { get; set; }
+ public virtual DbSet<MACHINE> MACHINES { get; set; }
+ public virtual DbSet<MACHINES_EVENTS> MACHINES_EVENTS { get; set; }
+ public virtual DbSet<MEDIA_COLORS> MEDIA_COLORS { get; set; }
+ public virtual DbSet<MEDIA_CONDITIONS> MEDIA_CONDITIONS { get; set; }
+ public virtual DbSet<MEDIA_MATERIALS> MEDIA_MATERIALS { get; set; }
+ public virtual DbSet<MEDIA_PURPOSES> MEDIA_PURPOSES { get; set; }
+ public virtual DbSet<ORGANIZATION> ORGANIZATIONS { get; set; }
+ public virtual DbSet<PERMISSION> PERMISSIONS { get; set; }
+ public virtual DbSet<RML> RMLs { get; set; }
+ public virtual DbSet<ROLE> ROLES { get; set; }
+ public virtual DbSet<ROLES_PERMISSIONS> ROLES_PERMISSIONS { get; set; }
+ public virtual DbSet<USER> USERS { get; set; }
+ public virtual DbSet<USERS_ROLES> USERS_ROLES { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.tt b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.tt
new file mode 100644
index 000000000..2f65065ba
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Context.tt
@@ -0,0 +1,636 @@
+<#@ template language="C#" debug="false" hostspecific="true"#>
+<#@ include file="EF6.Utility.CS.ttinclude"#><#@
+ output extension=".cs"#><#
+
+const string inputFile = @"RemoteADO.edmx";
+var textTransform = DynamicTextTransformation.Create(this);
+var code = new CodeGenerationTools(this);
+var ef = new MetadataTools(this);
+var typeMapper = new TypeMapper(code, ef, textTransform.Errors);
+var loader = new EdmMetadataLoader(textTransform.Host, textTransform.Errors);
+var itemCollection = loader.CreateEdmItemCollection(inputFile);
+var modelNamespace = loader.GetModelNamespace(inputFile);
+var codeStringGenerator = new CodeStringGenerator(code, typeMapper, ef);
+
+var container = itemCollection.OfType<EntityContainer>().FirstOrDefault();
+if (container == null)
+{
+ return string.Empty;
+}
+#>
+//------------------------------------------------------------------------------
+// <auto-generated>
+// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine1")#>
+//
+// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine2")#>
+// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine3")#>
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+<#
+
+var codeNamespace = code.VsNamespaceSuggestion();
+if (!String.IsNullOrEmpty(codeNamespace))
+{
+#>
+namespace <#=code.EscapeNamespace(codeNamespace)#>
+{
+<#
+ PushIndent(" ");
+}
+
+#>
+using System;
+using System.Data.Entity;
+using System.Data.Entity.Infrastructure;
+<#
+if (container.FunctionImports.Any())
+{
+#>
+using System.Data.Entity.Core.Objects;
+using System.Linq;
+<#
+}
+#>
+
+<#=Accessibility.ForType(container)#> partial class <#=code.Escape(container)#> : DbContext
+{
+ public <#=code.Escape(container)#>()
+ : base("name=<#=container.Name#>")
+ {
+<#
+if (!loader.IsLazyLoadingEnabled(container))
+{
+#>
+ this.Configuration.LazyLoadingEnabled = false;
+<#
+}
+
+foreach (var entitySet in container.BaseEntitySets.OfType<EntitySet>())
+{
+ // Note: the DbSet members are defined below such that the getter and
+ // setter always have the same accessibility as the DbSet definition
+ if (Accessibility.ForReadOnlyProperty(entitySet) != "public")
+ {
+#>
+ <#=codeStringGenerator.DbSetInitializer(entitySet)#>
+<#
+ }
+}
+#>
+ }
+
+ protected override void OnModelCreating(DbModelBuilder modelBuilder)
+ {
+ throw new UnintentionalCodeFirstException();
+ }
+
+<#
+ foreach (var entitySet in container.BaseEntitySets.OfType<EntitySet>())
+ {
+#>
+ <#=codeStringGenerator.DbSet(entitySet)#>
+<#
+ }
+
+ foreach (var edmFunction in container.FunctionImports)
+ {
+ WriteFunctionImport(typeMapper, codeStringGenerator, edmFunction, modelNamespace, includeMergeOption: false);
+ }
+#>
+}
+<#
+
+if (!String.IsNullOrEmpty(codeNamespace))
+{
+ PopIndent();
+#>
+}
+<#
+}
+#>
+<#+
+
+private void WriteFunctionImport(TypeMapper typeMapper, CodeStringGenerator codeStringGenerator, EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
+{
+ if (typeMapper.IsComposable(edmFunction))
+ {
+#>
+
+ [DbFunction("<#=edmFunction.NamespaceName#>", "<#=edmFunction.Name#>")]
+ <#=codeStringGenerator.ComposableFunctionMethod(edmFunction, modelNamespace)#>
+ {
+<#+
+ codeStringGenerator.WriteFunctionParameters(edmFunction, WriteFunctionParameter);
+#>
+ <#=codeStringGenerator.ComposableCreateQuery(edmFunction, modelNamespace)#>
+ }
+<#+
+ }
+ else
+ {
+#>
+
+ <#=codeStringGenerator.FunctionMethod(edmFunction, modelNamespace, includeMergeOption)#>
+ {
+<#+
+ codeStringGenerator.WriteFunctionParameters(edmFunction, WriteFunctionParameter);
+#>
+ <#=codeStringGenerator.ExecuteFunction(edmFunction, modelNamespace, includeMergeOption)#>
+ }
+<#+
+ if (typeMapper.GenerateMergeOptionFunction(edmFunction, includeMergeOption))
+ {
+ WriteFunctionImport(typeMapper, codeStringGenerator, edmFunction, modelNamespace, includeMergeOption: true);
+ }
+ }
+}
+
+public void WriteFunctionParameter(string name, string isNotNull, string notNullInit, string nullInit)
+{
+#>
+ var <#=name#> = <#=isNotNull#> ?
+ <#=notNullInit#> :
+ <#=nullInit#>;
+
+<#+
+}
+
+public const string TemplateId = "CSharp_DbContext_Context_EF6";
+
+public class CodeStringGenerator
+{
+ private readonly CodeGenerationTools _code;
+ private readonly TypeMapper _typeMapper;
+ private readonly MetadataTools _ef;
+
+ public CodeStringGenerator(CodeGenerationTools code, TypeMapper typeMapper, MetadataTools ef)
+ {
+ ArgumentNotNull(code, "code");
+ ArgumentNotNull(typeMapper, "typeMapper");
+ ArgumentNotNull(ef, "ef");
+
+ _code = code;
+ _typeMapper = typeMapper;
+ _ef = ef;
+ }
+
+ public string Property(EdmProperty edmProperty)
+ {
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} {1} {2} {{ {3}get; {4}set; }}",
+ Accessibility.ForProperty(edmProperty),
+ _typeMapper.GetTypeName(edmProperty.TypeUsage),
+ _code.Escape(edmProperty),
+ _code.SpaceAfter(Accessibility.ForGetter(edmProperty)),
+ _code.SpaceAfter(Accessibility.ForSetter(edmProperty)));
+ }
+
+ public string NavigationProperty(NavigationProperty navProp)
+ {
+ var endType = _typeMapper.GetTypeName(navProp.ToEndMember.GetEntityType());
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} {1} {2} {{ {3}get; {4}set; }}",
+ AccessibilityAndVirtual(Accessibility.ForNavigationProperty(navProp)),
+ navProp.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("ICollection<" + endType + ">") : endType,
+ _code.Escape(navProp),
+ _code.SpaceAfter(Accessibility.ForGetter(navProp)),
+ _code.SpaceAfter(Accessibility.ForSetter(navProp)));
+ }
+
+ public string AccessibilityAndVirtual(string accessibility)
+ {
+ return accessibility + (accessibility != "private" ? " virtual" : "");
+ }
+
+ public string EntityClassOpening(EntityType entity)
+ {
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} {1}partial class {2}{3}",
+ Accessibility.ForType(entity),
+ _code.SpaceAfter(_code.AbstractOption(entity)),
+ _code.Escape(entity),
+ _code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType)));
+ }
+
+ public string EnumOpening(SimpleType enumType)
+ {
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} enum {1} : {2}",
+ Accessibility.ForType(enumType),
+ _code.Escape(enumType),
+ _code.Escape(_typeMapper.UnderlyingClrType(enumType)));
+ }
+
+ public void WriteFunctionParameters(EdmFunction edmFunction, Action<string, string, string, string> writeParameter)
+ {
+ var parameters = FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef);
+ foreach (var parameter in parameters.Where(p => p.NeedsLocalVariable))
+ {
+ var isNotNull = parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue" : parameter.FunctionParameterName + " != null";
+ var notNullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", " + parameter.FunctionParameterName + ")";
+ var nullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", typeof(" + TypeMapper.FixNamespaces(parameter.RawClrTypeName) + "))";
+ writeParameter(parameter.LocalVariableName, isNotNull, notNullInit, nullInit);
+ }
+ }
+
+ public string ComposableFunctionMethod(EdmFunction edmFunction, string modelNamespace)
+ {
+ var parameters = _typeMapper.GetParameters(edmFunction);
+
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} IQueryable<{1}> {2}({3})",
+ AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)),
+ _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace),
+ _code.Escape(edmFunction),
+ string.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray()));
+ }
+
+ public string ComposableCreateQuery(EdmFunction edmFunction, string modelNamespace)
+ {
+ var parameters = _typeMapper.GetParameters(edmFunction);
+
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "return ((IObjectContextAdapter)this).ObjectContext.CreateQuery<{0}>(\"[{1}].[{2}]({3})\"{4});",
+ _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace),
+ edmFunction.NamespaceName,
+ edmFunction.Name,
+ string.Join(", ", parameters.Select(p => "@" + p.EsqlParameterName).ToArray()),
+ _code.StringBefore(", ", string.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray())));
+ }
+
+ public string FunctionMethod(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
+ {
+ var parameters = _typeMapper.GetParameters(edmFunction);
+ var returnType = _typeMapper.GetReturnType(edmFunction);
+
+ var paramList = String.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray());
+ if (includeMergeOption)
+ {
+ paramList = _code.StringAfter(paramList, ", ") + "MergeOption mergeOption";
+ }
+
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} {1} {2}({3})",
+ AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)),
+ returnType == null ? "int" : "ObjectResult<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">",
+ _code.Escape(edmFunction),
+ paramList);
+ }
+
+ public string ExecuteFunction(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
+ {
+ var parameters = _typeMapper.GetParameters(edmFunction);
+ var returnType = _typeMapper.GetReturnType(edmFunction);
+
+ var callParams = _code.StringBefore(", ", String.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray()));
+ if (includeMergeOption)
+ {
+ callParams = ", mergeOption" + callParams;
+ }
+
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction{0}(\"{1}\"{2});",
+ returnType == null ? "" : "<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">",
+ edmFunction.Name,
+ callParams);
+ }
+
+ public string DbSet(EntitySet entitySet)
+ {
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} virtual DbSet<{1}> {2} {{ get; set; }}",
+ Accessibility.ForReadOnlyProperty(entitySet),
+ _typeMapper.GetTypeName(entitySet.ElementType),
+ _code.Escape(entitySet));
+ }
+
+ public string DbSetInitializer(EntitySet entitySet)
+ {
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} = Set<{1}>();",
+ _code.Escape(entitySet),
+ _typeMapper.GetTypeName(entitySet.ElementType));
+ }
+
+ public string UsingDirectives(bool inHeader, bool includeCollections = true)
+ {
+ return inHeader == string.IsNullOrEmpty(_code.VsNamespaceSuggestion())
+ ? string.Format(
+ CultureInfo.InvariantCulture,
+ "{0}using System;{1}" +
+ "{2}",
+ inHeader ? Environment.NewLine : "",
+ includeCollections ? (Environment.NewLine + "using System.Collections.Generic;") : "",
+ inHeader ? "" : Environment.NewLine)
+ : "";
+ }
+}
+
+public class TypeMapper
+{
+ private const string ExternalTypeNameAttributeName = @"http://schemas.microsoft.com/ado/2006/04/codegeneration:ExternalTypeName";
+
+ private readonly System.Collections.IList _errors;
+ private readonly CodeGenerationTools _code;
+ private readonly MetadataTools _ef;
+
+ public static string FixNamespaces(string typeName)
+ {
+ return typeName.Replace("System.Data.Spatial.", "System.Data.Entity.Spatial.");
+ }
+
+ public TypeMapper(CodeGenerationTools code, MetadataTools ef, System.Collections.IList errors)
+ {
+ ArgumentNotNull(code, "code");
+ ArgumentNotNull(ef, "ef");
+ ArgumentNotNull(errors, "errors");
+
+ _code = code;
+ _ef = ef;
+ _errors = errors;
+ }
+
+ public string GetTypeName(TypeUsage typeUsage)
+ {
+ return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace: null);
+ }
+
+ public string GetTypeName(EdmType edmType)
+ {
+ return GetTypeName(edmType, isNullable: null, modelNamespace: null);
+ }
+
+ public string GetTypeName(TypeUsage typeUsage, string modelNamespace)
+ {
+ return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace);
+ }
+
+ public string GetTypeName(EdmType edmType, string modelNamespace)
+ {
+ return GetTypeName(edmType, isNullable: null, modelNamespace: modelNamespace);
+ }
+
+ public string GetTypeName(EdmType edmType, bool? isNullable, string modelNamespace)
+ {
+ if (edmType == null)
+ {
+ return null;
+ }
+
+ var collectionType = edmType as CollectionType;
+ if (collectionType != null)
+ {
+ return String.Format(CultureInfo.InvariantCulture, "ICollection<{0}>", GetTypeName(collectionType.TypeUsage, modelNamespace));
+ }
+
+ var typeName = _code.Escape(edmType.MetadataProperties
+ .Where(p => p.Name == ExternalTypeNameAttributeName)
+ .Select(p => (string)p.Value)
+ .FirstOrDefault())
+ ?? (modelNamespace != null && edmType.NamespaceName != modelNamespace ?
+ _code.CreateFullName(_code.EscapeNamespace(edmType.NamespaceName), _code.Escape(edmType)) :
+ _code.Escape(edmType));
+
+ if (edmType is StructuralType)
+ {
+ return typeName;
+ }
+
+ if (edmType is SimpleType)
+ {
+ var clrType = UnderlyingClrType(edmType);
+ if (!IsEnumType(edmType))
+ {
+ typeName = _code.Escape(clrType);
+ }
+
+ typeName = FixNamespaces(typeName);
+
+ return clrType.IsValueType && isNullable == true ?
+ String.Format(CultureInfo.InvariantCulture, "Nullable<{0}>", typeName) :
+ typeName;
+ }
+
+ throw new ArgumentException("edmType");
+ }
+
+ public Type UnderlyingClrType(EdmType edmType)
+ {
+ ArgumentNotNull(edmType, "edmType");
+
+ var primitiveType = edmType as PrimitiveType;
+ if (primitiveType != null)
+ {
+ return primitiveType.ClrEquivalentType;
+ }
+
+ if (IsEnumType(edmType))
+ {
+ return GetEnumUnderlyingType(edmType).ClrEquivalentType;
+ }
+
+ return typeof(object);
+ }
+
+ public object GetEnumMemberValue(MetadataItem enumMember)
+ {
+ ArgumentNotNull(enumMember, "enumMember");
+
+ var valueProperty = enumMember.GetType().GetProperty("Value");
+ return valueProperty == null ? null : valueProperty.GetValue(enumMember, null);
+ }
+
+ public string GetEnumMemberName(MetadataItem enumMember)
+ {
+ ArgumentNotNull(enumMember, "enumMember");
+
+ var nameProperty = enumMember.GetType().GetProperty("Name");
+ return nameProperty == null ? null : (string)nameProperty.GetValue(enumMember, null);
+ }
+
+ public System.Collections.IEnumerable GetEnumMembers(EdmType enumType)
+ {
+ ArgumentNotNull(enumType, "enumType");
+
+ var membersProperty = enumType.GetType().GetProperty("Members");
+ return membersProperty != null
+ ? (System.Collections.IEnumerable)membersProperty.GetValue(enumType, null)
+ : Enumerable.Empty<MetadataItem>();
+ }
+
+ public bool EnumIsFlags(EdmType enumType)
+ {
+ ArgumentNotNull(enumType, "enumType");
+
+ var isFlagsProperty = enumType.GetType().GetProperty("IsFlags");
+ return isFlagsProperty != null && (bool)isFlagsProperty.GetValue(enumType, null);
+ }
+
+ public bool IsEnumType(GlobalItem edmType)
+ {
+ ArgumentNotNull(edmType, "edmType");
+
+ return edmType.GetType().Name == "EnumType";
+ }
+
+ public PrimitiveType GetEnumUnderlyingType(EdmType enumType)
+ {
+ ArgumentNotNull(enumType, "enumType");
+
+ return (PrimitiveType)enumType.GetType().GetProperty("UnderlyingType").GetValue(enumType, null);
+ }
+
+ public string CreateLiteral(object value)
+ {
+ if (value == null || value.GetType() != typeof(TimeSpan))
+ {
+ return _code.CreateLiteral(value);
+ }
+
+ return string.Format(CultureInfo.InvariantCulture, "new TimeSpan({0})", ((TimeSpan)value).Ticks);
+ }
+
+ public bool VerifyCaseInsensitiveTypeUniqueness(IEnumerable<string> types, string sourceFile)
+ {
+ ArgumentNotNull(types, "types");
+ ArgumentNotNull(sourceFile, "sourceFile");
+
+ var hash = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase);
+ if (types.Any(item => !hash.Add(item)))
+ {
+ _errors.Add(
+ new CompilerError(sourceFile, -1, -1, "6023",
+ String.Format(CultureInfo.CurrentCulture, CodeGenerationTools.GetResourceString("Template_CaseInsensitiveTypeConflict"))));
+ return false;
+ }
+ return true;
+ }
+
+ public IEnumerable<SimpleType> GetEnumItemsToGenerate(IEnumerable<GlobalItem> itemCollection)
+ {
+ return GetItemsToGenerate<SimpleType>(itemCollection)
+ .Where(e => IsEnumType(e));
+ }
+
+ public IEnumerable<T> GetItemsToGenerate<T>(IEnumerable<GlobalItem> itemCollection) where T: EdmType
+ {
+ return itemCollection
+ .OfType<T>()
+ .Where(i => !i.MetadataProperties.Any(p => p.Name == ExternalTypeNameAttributeName))
+ .OrderBy(i => i.Name);
+ }
+
+ public IEnumerable<string> GetAllGlobalItems(IEnumerable<GlobalItem> itemCollection)
+ {
+ return itemCollection
+ .Where(i => i is EntityType || i is ComplexType || i is EntityContainer || IsEnumType(i))
+ .Select(g => GetGlobalItemName(g));
+ }
+
+ public string GetGlobalItemName(GlobalItem item)
+ {
+ if (item is EdmType)
+ {
+ return ((EdmType)item).Name;
+ }
+ else
+ {
+ return ((EntityContainer)item).Name;
+ }
+ }
+
+ public IEnumerable<EdmProperty> GetSimpleProperties(EntityType type)
+ {
+ return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type);
+ }
+
+ public IEnumerable<EdmProperty> GetSimpleProperties(ComplexType type)
+ {
+ return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type);
+ }
+
+ public IEnumerable<EdmProperty> GetComplexProperties(EntityType type)
+ {
+ return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type);
+ }
+
+ public IEnumerable<EdmProperty> GetComplexProperties(ComplexType type)
+ {
+ return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type);
+ }
+
+ public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(EntityType type)
+ {
+ return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null);
+ }
+
+ public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(ComplexType type)
+ {
+ return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null);
+ }
+
+ public IEnumerable<NavigationProperty> GetNavigationProperties(EntityType type)
+ {
+ return type.NavigationProperties.Where(np => np.DeclaringType == type);
+ }
+
+ public IEnumerable<NavigationProperty> GetCollectionNavigationProperties(EntityType type)
+ {
+ return type.NavigationProperties.Where(np => np.DeclaringType == type && np.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many);
+ }
+
+ public FunctionParameter GetReturnParameter(EdmFunction edmFunction)
+ {
+ ArgumentNotNull(edmFunction, "edmFunction");
+
+ var returnParamsProperty = edmFunction.GetType().GetProperty("ReturnParameters");
+ return returnParamsProperty == null
+ ? edmFunction.ReturnParameter
+ : ((IEnumerable<FunctionParameter>)returnParamsProperty.GetValue(edmFunction, null)).FirstOrDefault();
+ }
+
+ public bool IsComposable(EdmFunction edmFunction)
+ {
+ ArgumentNotNull(edmFunction, "edmFunction");
+
+ var isComposableProperty = edmFunction.GetType().GetProperty("IsComposableAttribute");
+ return isComposableProperty != null && (bool)isComposableProperty.GetValue(edmFunction, null);
+ }
+
+ public IEnumerable<FunctionImportParameter> GetParameters(EdmFunction edmFunction)
+ {
+ return FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef);
+ }
+
+ public TypeUsage GetReturnType(EdmFunction edmFunction)
+ {
+ var returnParam = GetReturnParameter(edmFunction);
+ return returnParam == null ? null : _ef.GetElementType(returnParam.TypeUsage);
+ }
+
+ public bool GenerateMergeOptionFunction(EdmFunction edmFunction, bool includeMergeOption)
+ {
+ var returnType = GetReturnType(edmFunction);
+ return !includeMergeOption && returnType != null && returnType.EdmType.BuiltInTypeKind == BuiltInTypeKind.EntityType;
+ }
+}
+
+public static void ArgumentNotNull<T>(T arg, string name) where T : class
+{
+ if (arg == null)
+ {
+ throw new ArgumentNullException(name);
+ }
+}
+#> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Designer.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Designer.cs
new file mode 100644
index 000000000..17bc2683d
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.Designer.cs
@@ -0,0 +1,10 @@
+// T4 code generation is enabled for model 'D:\Development\Tango\Software\Visual_Studio\Tango.DAL.Remote\DB\RemoteADO.edmx'.
+// To enable legacy code generation, change the value of the 'Code Generation Strategy' designer
+// property to 'Legacy ObjectContext'. This property is available in the Properties Window when the model
+// is open in the designer.
+
+// If no context and entity classes have been generated, it may be because you created an empty model but
+// have not yet chosen which version of Entity Framework to use. To generate a context class and entity
+// classes for your model, open the model in the designer, right-click on the designer surface, and
+// select 'Update Model from Database...', 'Generate Database from Model...', or 'Add Code Generation
+// Item...'. \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.cs
new file mode 100644
index 000000000..7cc066228
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.cs
@@ -0,0 +1,9 @@
+//------------------------------------------------------------------------------
+// <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>
+//------------------------------------------------------------------------------
+
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
new file mode 100644
index 000000000..5d48fdcd1
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
@@ -0,0 +1,2685 @@
+<?xml version="1.0" encoding="utf-8"?>
+<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">
+ <!-- EF Runtime content -->
+ <edmx:Runtime>
+ <!-- SSDL content -->
+ <edmx:StorageModels>
+ <Schema Namespace="RemoteModel.Store" Provider="System.Data.SqlClient" ProviderManifestToken="2012" Alias="Self" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl">
+ <EntityType Name="ACTIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="CODE" Type="int" Nullable="false" />
+ <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="DESCRIPTION" Type="nvarchar" MaxLength="100" Nullable="false" />
+ </EntityType>
+ <EntityType Name="ADDRESSES">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="ADDRESS" Type="nvarchar" MaxLength="100" Nullable="false" />
+ <Property Name="LOCALITY" Type="nvarchar" MaxLength="56" />
+ <Property Name="COUNTRY" Type="nvarchar" MaxLength="50" />
+ <Property Name="CITY" Type="nvarchar" MaxLength="30" />
+ <Property Name="STATE" Type="nvarchar" MaxLength="30" />
+ <Property Name="COUNTRY_CODE" Type="nvarchar" MaxLength="2" />
+ <Property Name="POSTAL_CODE" Type="nvarchar" MaxLength="15" />
+ </EntityType>
+ <EntityType Name="APPLICATION_DISPLAY_PANEL_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ </EntityType>
+ <EntityType Name="APPLICATION_FIRMWARE_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ </EntityType>
+ <EntityType Name="APPLICATION_OS_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ </EntityType>
+ <EntityType Name="APPLICATION_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ </EntityType>
+ <EntityType Name="CONFIGURATIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="CREATION_DATE" Type="datetime" Nullable="false" />
+ <Property Name="MACHINE_ID" Type="int" Nullable="false" />
+ <Property Name="APPLICATION_VERSION_ID" Type="int" Nullable="false" />
+ <Property Name="APPLICATION_OS_VERSION_ID" Type="int" Nullable="false" />
+ <Property Name="APPLICATION_FIRMWARE_VERSION_ID" Type="int" Nullable="false" />
+ <Property Name="APPLICATION_DISPLAY_PANEL_VERSION_ID" Type="int" Nullable="false" />
+ <Property Name="EMBEDDED_FIRMWARE_VERSION_ID" Type="int" Nullable="false" />
+ <Property Name="EMBEDDED_SOFTWARE_VERSION_ID" Type="int" Nullable="false" />
+ <Property Name="HARDWARE_VERSION_ID" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="CONFIGURATIONS_DISPENSERS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="CONFIGURATION_ID" Type="int" Nullable="false" />
+ <Property Name="DISPENSER_ID" Type="int" Nullable="false" />
+ <Property Name="LIQUID_ID" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="CONTACTS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="FIRST_NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="LAST_NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="FULL_NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="EMAIL" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="PHONE_NUMBER" Type="nvarchar" MaxLength="50" />
+ <Property Name="FAX" Type="nvarchar" MaxLength="50" />
+ </EntityType>
+ <EntityType Name="DISPENSERS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ </EntityType>
+ <EntityType Name="EMBEDDED_FIRMWARE_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ </EntityType>
+ <EntityType Name="EMBEDDED_SOFTWARE_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ </EntityType>
+ <EntityType Name="EVENTS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="CODE" Type="int" Nullable="false" />
+ <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="DESCRIPTION" Type="nvarchar" MaxLength="100" Nullable="false" />
+ </EntityType>
+ <EntityType Name="EVENTS_ACTIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="EVENT_ID" Type="int" Nullable="false" />
+ <Property Name="ACTION_ID" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="FIBER_SHAPES">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="CODE" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="FIBER_SYNTHESIS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="CODE" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="HARDWARE_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ </EntityType>
+ <EntityType Name="LINEAR_MASS_DENSITY_UNITS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="CODE" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="LIQUID_TYPES">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="DESCRIPTION" Type="nvarchar" MaxLength="200" />
+ <Property Name="CODE" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="LIQUIDS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="VERSION" Type="float" Nullable="false" />
+ <Property Name="LIQUID_TYPE_ID" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="LIQUIDS_RML">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="LIQUID_ID" Type="int" Nullable="false" />
+ <Property Name="RML_ID" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="MACHINE_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="VERSION" Type="float" Nullable="false" />
+ <Property Name="DEFAULT_CONFIGURATION_ID" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="MACHINES">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="SERIAL_NUMBER" Type="varchar" MaxLength="50" Nullable="false" />
+ <Property Name="PRODUCTION_DATE" Type="datetime" Nullable="false" />
+ <Property Name="ORGANIZATION_ID" Type="int" Nullable="false" />
+ <Property Name="MACHINE_VERSION_ID" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="MACHINES_EVENTS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="MACHINE_ID" Type="int" Nullable="false" />
+ <Property Name="EVENT_ID" Type="int" Nullable="false" />
+ <Property Name="USER_ID" Type="int" Nullable="false" />
+ <Property Name="DATE_TIME" Type="datetime" Nullable="false" />
+ <Property Name="DESCRIPTION" Type="nvarchar" MaxLength="200" />
+ </EntityType>
+ <EntityType Name="MEDIA_COLORS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="COLOR" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="MEDIA_CONDITIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="CODE" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="MEDIA_MATERIALS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="CODE" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="MEDIA_PURPOSES">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="CODE" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="ORGANIZATIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="NAME" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="CONTACT_ID" Type="int" Nullable="false" />
+ <Property Name="ADDRESS_ID" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="PERMISSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="NAME" Type="nvarchar" MaxLength="30" Nullable="false" />
+ <Property Name="DESCRIPTION" Type="nvarchar" MaxLength="100" Nullable="false" />
+ </EntityType>
+ <EntityType Name="RML">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="MANUFACTURER" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="MATERIAL_ID" Type="int" Nullable="false" />
+ <Property Name="COLOR_ID" Type="int" Nullable="false" />
+ <Property Name="PURPOSE_ID" Type="int" Nullable="false" />
+ <Property Name="CONDITION_ID" Type="int" Nullable="false" />
+ <Property Name="LINEAR_MASS_DENSITY_UNIT_ID" Type="int" Nullable="false" />
+ <Property Name="FIBER_SHAPE_ID" Type="int" Nullable="false" />
+ <Property Name="FIBER_SYNTHESIS_ID" Type="int" Nullable="false" />
+ <Property Name="FIBER_SIZE" Type="float" Nullable="false" />
+ <Property Name="NUMBER_OF_FIBERS" Type="int" Nullable="false" />
+ <Property Name="PLIES_PER_FIBER" Type="int" Nullable="false" />
+ <Property Name="PLIES_PER_THREAD" Type="int" Nullable="false" />
+ <Property Name="TWISTED" Type="bit" Nullable="false" />
+ <Property Name="AIR_ENTANGLEMENT" Type="bit" Nullable="false" />
+ <Property Name="LUBRICANT" Type="bit" Nullable="false" />
+ <Property Name="TENSILE_STRENGTH" Type="float" Nullable="false" />
+ <Property Name="ELONGATION_AT_BREAK_PERCENTAGE" Type="float" Nullable="false" />
+ <Property Name="ESTIMATED_THREAD_DIAMETER" Type="float" Nullable="false" />
+ </EntityType>
+ <EntityType Name="ROLES">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="NAME" Type="nvarchar" MaxLength="30" Nullable="false" />
+ <Property Name="DESCRIPTION" Type="nvarchar" MaxLength="100" Nullable="false" />
+ </EntityType>
+ <EntityType Name="ROLES_PERMISSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="ROLE_ID" Type="int" Nullable="false" />
+ <Property Name="PERMISSION_ID" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="USERS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="EMAIL" Type="nvarchar" MaxLength="50" Nullable="false" />
+ <Property Name="PASSWORD" Type="nvarchar" MaxLength="200" Nullable="false" />
+ <Property Name="ORGANIZATION_ID" Type="int" Nullable="false" />
+ <Property Name="CONTACT_ID" Type="int" Nullable="false" />
+ <Property Name="ADDRESS_ID" Type="int" Nullable="false" />
+ </EntityType>
+ <EntityType Name="USERS_ROLES">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
+ <Property Name="GUID" Type="uniqueidentifier" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" />
+ <Property Name="DELETED" Type="bit" Nullable="false" />
+ <Property Name="USER_ID" Type="int" Nullable="false" />
+ <Property Name="ROLE_ID" Type="int" Nullable="false" />
+ </EntityType>
+ <Association Name="FK_CONFIGURATIONS_APPLICATION_DISPLAY_PANEL_VERSIONS">
+ <End Role="APPLICATION_DISPLAY_PANEL_VERSIONS" Type="Self.APPLICATION_DISPLAY_PANEL_VERSIONS" Multiplicity="1" />
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="APPLICATION_DISPLAY_PANEL_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="APPLICATION_DISPLAY_PANEL_VERSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_APPLICATION_FIRMWARE_VERSIONS">
+ <End Role="APPLICATION_FIRMWARE_VERSIONS" Type="Self.APPLICATION_FIRMWARE_VERSIONS" Multiplicity="1" />
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="APPLICATION_FIRMWARE_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="APPLICATION_FIRMWARE_VERSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_APPLICATION_OS_VERSIONS">
+ <End Role="APPLICATION_OS_VERSIONS" Type="Self.APPLICATION_OS_VERSIONS" Multiplicity="1" />
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="APPLICATION_OS_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="APPLICATION_OS_VERSION_ID" />
+ </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="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="APPLICATION_VERSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_DISPENSERS_CONFIGURATIONS">
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATIONS" Multiplicity="1" />
+ <End Role="CONFIGURATIONS_DISPENSERS" Type="Self.CONFIGURATIONS_DISPENSERS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="CONFIGURATIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS_DISPENSERS">
+ <PropertyRef Name="CONFIGURATION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_DISPENSERS_DISPENSERS">
+ <End Role="DISPENSERS" Type="Self.DISPENSERS" Multiplicity="1" />
+ <End Role="CONFIGURATIONS_DISPENSERS" Type="Self.CONFIGURATIONS_DISPENSERS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="DISPENSERS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS_DISPENSERS">
+ <PropertyRef Name="DISPENSER_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_DISPENSERS_LIQUIDS">
+ <End Role="LIQUIDS" Type="Self.LIQUIDS" Multiplicity="1" />
+ <End Role="CONFIGURATIONS_DISPENSERS" Type="Self.CONFIGURATIONS_DISPENSERS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="LIQUIDS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS_DISPENSERS">
+ <PropertyRef Name="LIQUID_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_EMBEDDED_FIRMWARE_VERSIONS">
+ <End Role="EMBEDDED_FIRMWARE_VERSIONS" Type="Self.EMBEDDED_FIRMWARE_VERSIONS" Multiplicity="1" />
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="EMBEDDED_FIRMWARE_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="EMBEDDED_FIRMWARE_VERSION_ID" />
+ </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="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="EMBEDDED_SOFTWARE_VERSION_ID" />
+ </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="*" />
+ <ReferentialConstraint>
+ <Principal Role="HARDWARE_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="HARDWARE_VERSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_MACHINES">
+ <End Role="MACHINES" Type="Self.MACHINES" Multiplicity="1" />
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MACHINES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="MACHINE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_EVENTS_ACTIONS_ACTIONS">
+ <End Role="ACTIONS" Type="Self.ACTIONS" Multiplicity="1" />
+ <End Role="EVENTS_ACTIONS" Type="Self.EVENTS_ACTIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ACTIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="EVENTS_ACTIONS">
+ <PropertyRef Name="ACTION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_EVENTS_ACTIONS_EVENTS">
+ <End Role="EVENTS" Type="Self.EVENTS" Multiplicity="1" />
+ <End Role="EVENTS_ACTIONS" Type="Self.EVENTS_ACTIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="EVENTS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="EVENTS_ACTIONS">
+ <PropertyRef Name="EVENT_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_LIQUID_RML_LIQUIDS">
+ <End Role="LIQUIDS" Type="Self.LIQUIDS" Multiplicity="1" />
+ <End Role="LIQUIDS_RML" Type="Self.LIQUIDS_RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="LIQUIDS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="LIQUIDS_RML">
+ <PropertyRef Name="LIQUID_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_LIQUID_RML_RML">
+ <End Role="RML" Type="Self.RML" Multiplicity="1" />
+ <End Role="LIQUIDS_RML" Type="Self.LIQUIDS_RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="RML">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="LIQUIDS_RML">
+ <PropertyRef Name="RML_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_LIQUIDS_LIQUID_TYPES">
+ <End Role="LIQUID_TYPES" Type="Self.LIQUID_TYPES" Multiplicity="1" />
+ <End Role="LIQUIDS" Type="Self.LIQUIDS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="LIQUID_TYPES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="LIQUIDS">
+ <PropertyRef Name="LIQUID_TYPE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_MACHINE_EVENTS_MACHINES">
+ <End Role="MACHINES" Type="Self.MACHINES" Multiplicity="1" />
+ <End Role="MACHINES_EVENTS" Type="Self.MACHINES_EVENTS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MACHINES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="MACHINES_EVENTS">
+ <PropertyRef Name="MACHINE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_MACHINE_VERSIONS_CONFIGURATIONS">
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATIONS" Multiplicity="1" />
+ <End Role="MACHINE_VERSIONS" Type="Self.MACHINE_VERSIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="CONFIGURATIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="MACHINE_VERSIONS">
+ <PropertyRef Name="DEFAULT_CONFIGURATION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_MACHINES_EVENTS_EVENTS">
+ <End Role="EVENTS" Type="Self.EVENTS" Multiplicity="1" />
+ <End Role="MACHINES_EVENTS" Type="Self.MACHINES_EVENTS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="EVENTS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="MACHINES_EVENTS">
+ <PropertyRef Name="EVENT_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_MACHINES_EVENTS_USERS">
+ <End Role="USERS" Type="Self.USERS" Multiplicity="1" />
+ <End Role="MACHINES_EVENTS" Type="Self.MACHINES_EVENTS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="USERS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="MACHINES_EVENTS">
+ <PropertyRef Name="USER_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_MACHINES_MACHINE_VERSIONS">
+ <End Role="MACHINE_VERSIONS" Type="Self.MACHINE_VERSIONS" Multiplicity="1" />
+ <End Role="MACHINES" Type="Self.MACHINES" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MACHINE_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="MACHINES">
+ <PropertyRef Name="MACHINE_VERSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_MACHINES_ORGANIZATIONS">
+ <End Role="ORGANIZATIONS" Type="Self.ORGANIZATIONS" Multiplicity="1" />
+ <End Role="MACHINES" Type="Self.MACHINES" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ORGANIZATIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="MACHINES">
+ <PropertyRef Name="ORGANIZATION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_ORGANIZATIONS_ADDRESSES">
+ <End Role="ADDRESSES" Type="Self.ADDRESSES" Multiplicity="1" />
+ <End Role="ORGANIZATIONS" Type="Self.ORGANIZATIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ADDRESSES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="ORGANIZATIONS">
+ <PropertyRef Name="ADDRESS_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_ORGANIZATIONS_CONTACTS">
+ <End Role="CONTACTS" Type="Self.CONTACTS" Multiplicity="1" />
+ <End Role="ORGANIZATIONS" Type="Self.ORGANIZATIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="CONTACTS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="ORGANIZATIONS">
+ <PropertyRef Name="CONTACT_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_FIBER_SHAPES">
+ <End Role="FIBER_SHAPES" Type="Self.FIBER_SHAPES" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="FIBER_SHAPES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="FIBER_SHAPE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_FIBER_SYNTHESIS">
+ <End Role="FIBER_SYNTHESIS" Type="Self.FIBER_SYNTHESIS" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="FIBER_SYNTHESIS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="FIBER_SYNTHESIS_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_LINEAR_MASS_DENSITY_UNITS">
+ <End Role="LINEAR_MASS_DENSITY_UNITS" Type="Self.LINEAR_MASS_DENSITY_UNITS" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="LINEAR_MASS_DENSITY_UNITS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="LINEAR_MASS_DENSITY_UNIT_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_MEDIA_COLORS">
+ <End Role="MEDIA_COLORS" Type="Self.MEDIA_COLORS" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MEDIA_COLORS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="COLOR_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_MEDIA_CONDITIONS">
+ <End Role="MEDIA_CONDITIONS" Type="Self.MEDIA_CONDITIONS" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MEDIA_CONDITIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="CONDITION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_MEDIA_MATERIALS">
+ <End Role="MEDIA_MATERIALS" Type="Self.MEDIA_MATERIALS" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MEDIA_MATERIALS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="MATERIAL_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_MEDIA_PURPOSES">
+ <End Role="MEDIA_PURPOSES" Type="Self.MEDIA_PURPOSES" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MEDIA_PURPOSES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="PURPOSE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_ROLES_PERMISSIONS_PERMISSIONS">
+ <End Role="PERMISSIONS" Type="Self.PERMISSIONS" Multiplicity="1" />
+ <End Role="ROLES_PERMISSIONS" Type="Self.ROLES_PERMISSIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="PERMISSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="ROLES_PERMISSIONS">
+ <PropertyRef Name="PERMISSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_ROLES_PERMISSIONS_ROLES">
+ <End Role="ROLES" Type="Self.ROLES" Multiplicity="1" />
+ <End Role="ROLES_PERMISSIONS" Type="Self.ROLES_PERMISSIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ROLES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="ROLES_PERMISSIONS">
+ <PropertyRef Name="ROLE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_USERS_ADDRESSES">
+ <End Role="ADDRESSES" Type="Self.ADDRESSES" Multiplicity="1" />
+ <End Role="USERS" Type="Self.USERS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ADDRESSES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="USERS">
+ <PropertyRef Name="ADDRESS_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_USERS_CONTACTS">
+ <End Role="CONTACTS" Type="Self.CONTACTS" Multiplicity="1" />
+ <End Role="USERS" Type="Self.USERS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="CONTACTS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="USERS">
+ <PropertyRef Name="CONTACT_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_USERS_ORGANIZATIONS">
+ <End Role="ORGANIZATIONS" Type="Self.ORGANIZATIONS" Multiplicity="1" />
+ <End Role="USERS" Type="Self.USERS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ORGANIZATIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="USERS">
+ <PropertyRef Name="ORGANIZATION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_USERS_ROLES_ROLES">
+ <End Role="ROLES" Type="Self.ROLES" Multiplicity="1" />
+ <End Role="USERS_ROLES" Type="Self.USERS_ROLES" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ROLES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="USERS_ROLES">
+ <PropertyRef Name="ROLE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_USERS_ROLES_USERS">
+ <End Role="USERS" Type="Self.USERS" Multiplicity="1" />
+ <End Role="USERS_ROLES" Type="Self.USERS_ROLES" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="USERS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="USERS_ROLES">
+ <PropertyRef Name="USER_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <EntityContainer Name="RemoteModelStoreContainer">
+ <EntitySet Name="ACTIONS" EntityType="Self.ACTIONS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="ADDRESSES" EntityType="Self.ADDRESSES" Schema="dbo" store:Type="Tables" />
+ <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="CONFIGURATIONS" EntityType="Self.CONFIGURATIONS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="CONFIGURATIONS_DISPENSERS" EntityType="Self.CONFIGURATIONS_DISPENSERS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="CONTACTS" EntityType="Self.CONTACTS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="DISPENSERS" EntityType="Self.DISPENSERS" 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="EVENTS" EntityType="Self.EVENTS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="EVENTS_ACTIONS" EntityType="Self.EVENTS_ACTIONS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="FIBER_SHAPES" EntityType="Self.FIBER_SHAPES" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="FIBER_SYNTHESIS" EntityType="Self.FIBER_SYNTHESIS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="HARDWARE_VERSIONS" EntityType="Self.HARDWARE_VERSIONS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="LINEAR_MASS_DENSITY_UNITS" EntityType="Self.LINEAR_MASS_DENSITY_UNITS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="LIQUID_TYPES" EntityType="Self.LIQUID_TYPES" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="LIQUIDS" EntityType="Self.LIQUIDS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="LIQUIDS_RML" EntityType="Self.LIQUIDS_RML" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="MACHINE_VERSIONS" EntityType="Self.MACHINE_VERSIONS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="MACHINES" EntityType="Self.MACHINES" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="MACHINES_EVENTS" EntityType="Self.MACHINES_EVENTS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="MEDIA_COLORS" EntityType="Self.MEDIA_COLORS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="MEDIA_CONDITIONS" EntityType="Self.MEDIA_CONDITIONS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="MEDIA_MATERIALS" EntityType="Self.MEDIA_MATERIALS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="MEDIA_PURPOSES" EntityType="Self.MEDIA_PURPOSES" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="ORGANIZATIONS" EntityType="Self.ORGANIZATIONS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="PERMISSIONS" EntityType="Self.PERMISSIONS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="RML" EntityType="Self.RML" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="ROLES" EntityType="Self.ROLES" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="ROLES_PERMISSIONS" EntityType="Self.ROLES_PERMISSIONS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="USERS" EntityType="Self.USERS" Schema="dbo" store:Type="Tables" />
+ <EntitySet Name="USERS_ROLES" EntityType="Self.USERS_ROLES" Schema="dbo" store:Type="Tables" />
+ <AssociationSet Name="FK_CONFIGURATIONS_APPLICATION_DISPLAY_PANEL_VERSIONS" Association="Self.FK_CONFIGURATIONS_APPLICATION_DISPLAY_PANEL_VERSIONS">
+ <End Role="APPLICATION_DISPLAY_PANEL_VERSIONS" EntitySet="APPLICATION_DISPLAY_PANEL_VERSIONS" />
+ <End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_CONFIGURATIONS_APPLICATION_FIRMWARE_VERSIONS" Association="Self.FK_CONFIGURATIONS_APPLICATION_FIRMWARE_VERSIONS">
+ <End Role="APPLICATION_FIRMWARE_VERSIONS" EntitySet="APPLICATION_FIRMWARE_VERSIONS" />
+ <End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_CONFIGURATIONS_APPLICATION_OS_VERSIONS" Association="Self.FK_CONFIGURATIONS_APPLICATION_OS_VERSIONS">
+ <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_CONFIGURATIONS" Association="Self.FK_CONFIGURATIONS_DISPENSERS_CONFIGURATIONS">
+ <End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
+ <End Role="CONFIGURATIONS_DISPENSERS" EntitySet="CONFIGURATIONS_DISPENSERS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_CONFIGURATIONS_DISPENSERS_DISPENSERS" Association="Self.FK_CONFIGURATIONS_DISPENSERS_DISPENSERS">
+ <End Role="DISPENSERS" EntitySet="DISPENSERS" />
+ <End Role="CONFIGURATIONS_DISPENSERS" EntitySet="CONFIGURATIONS_DISPENSERS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_CONFIGURATIONS_DISPENSERS_LIQUIDS" Association="Self.FK_CONFIGURATIONS_DISPENSERS_LIQUIDS">
+ <End Role="LIQUIDS" EntitySet="LIQUIDS" />
+ <End Role="CONFIGURATIONS_DISPENSERS" EntitySet="CONFIGURATIONS_DISPENSERS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_CONFIGURATIONS_EMBEDDED_FIRMWARE_VERSIONS" Association="Self.FK_CONFIGURATIONS_EMBEDDED_FIRMWARE_VERSIONS">
+ <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" />
+ </AssociationSet>
+ <AssociationSet Name="FK_CONFIGURATIONS_MACHINES" Association="Self.FK_CONFIGURATIONS_MACHINES">
+ <End Role="MACHINES" EntitySet="MACHINES" />
+ <End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_EVENTS_ACTIONS_ACTIONS" Association="Self.FK_EVENTS_ACTIONS_ACTIONS">
+ <End Role="ACTIONS" EntitySet="ACTIONS" />
+ <End Role="EVENTS_ACTIONS" EntitySet="EVENTS_ACTIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_EVENTS_ACTIONS_EVENTS" Association="Self.FK_EVENTS_ACTIONS_EVENTS">
+ <End Role="EVENTS" EntitySet="EVENTS" />
+ <End Role="EVENTS_ACTIONS" EntitySet="EVENTS_ACTIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_LIQUID_RML_LIQUIDS" Association="Self.FK_LIQUID_RML_LIQUIDS">
+ <End Role="LIQUIDS" EntitySet="LIQUIDS" />
+ <End Role="LIQUIDS_RML" EntitySet="LIQUIDS_RML" />
+ </AssociationSet>
+ <AssociationSet Name="FK_LIQUID_RML_RML" Association="Self.FK_LIQUID_RML_RML">
+ <End Role="RML" EntitySet="RML" />
+ <End Role="LIQUIDS_RML" EntitySet="LIQUIDS_RML" />
+ </AssociationSet>
+ <AssociationSet Name="FK_LIQUIDS_LIQUID_TYPES" Association="Self.FK_LIQUIDS_LIQUID_TYPES">
+ <End Role="LIQUID_TYPES" EntitySet="LIQUID_TYPES" />
+ <End Role="LIQUIDS" EntitySet="LIQUIDS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_MACHINE_EVENTS_MACHINES" Association="Self.FK_MACHINE_EVENTS_MACHINES">
+ <End Role="MACHINES" EntitySet="MACHINES" />
+ <End Role="MACHINES_EVENTS" EntitySet="MACHINES_EVENTS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_MACHINE_VERSIONS_CONFIGURATIONS" Association="Self.FK_MACHINE_VERSIONS_CONFIGURATIONS">
+ <End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
+ <End Role="MACHINE_VERSIONS" EntitySet="MACHINE_VERSIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_MACHINES_EVENTS_EVENTS" Association="Self.FK_MACHINES_EVENTS_EVENTS">
+ <End Role="EVENTS" EntitySet="EVENTS" />
+ <End Role="MACHINES_EVENTS" EntitySet="MACHINES_EVENTS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_MACHINES_EVENTS_USERS" Association="Self.FK_MACHINES_EVENTS_USERS">
+ <End Role="USERS" EntitySet="USERS" />
+ <End Role="MACHINES_EVENTS" EntitySet="MACHINES_EVENTS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_MACHINES_MACHINE_VERSIONS" Association="Self.FK_MACHINES_MACHINE_VERSIONS">
+ <End Role="MACHINE_VERSIONS" EntitySet="MACHINE_VERSIONS" />
+ <End Role="MACHINES" EntitySet="MACHINES" />
+ </AssociationSet>
+ <AssociationSet Name="FK_MACHINES_ORGANIZATIONS" Association="Self.FK_MACHINES_ORGANIZATIONS">
+ <End Role="ORGANIZATIONS" EntitySet="ORGANIZATIONS" />
+ <End Role="MACHINES" EntitySet="MACHINES" />
+ </AssociationSet>
+ <AssociationSet Name="FK_ORGANIZATIONS_ADDRESSES" Association="Self.FK_ORGANIZATIONS_ADDRESSES">
+ <End Role="ADDRESSES" EntitySet="ADDRESSES" />
+ <End Role="ORGANIZATIONS" EntitySet="ORGANIZATIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_ORGANIZATIONS_CONTACTS" Association="Self.FK_ORGANIZATIONS_CONTACTS">
+ <End Role="CONTACTS" EntitySet="CONTACTS" />
+ <End Role="ORGANIZATIONS" EntitySet="ORGANIZATIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_FIBER_SHAPES" Association="Self.FK_RML_FIBER_SHAPES">
+ <End Role="FIBER_SHAPES" EntitySet="FIBER_SHAPES" />
+ <End Role="RML" EntitySet="RML" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_FIBER_SYNTHESIS" Association="Self.FK_RML_FIBER_SYNTHESIS">
+ <End Role="FIBER_SYNTHESIS" EntitySet="FIBER_SYNTHESIS" />
+ <End Role="RML" EntitySet="RML" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_LINEAR_MASS_DENSITY_UNITS" Association="Self.FK_RML_LINEAR_MASS_DENSITY_UNITS">
+ <End Role="LINEAR_MASS_DENSITY_UNITS" EntitySet="LINEAR_MASS_DENSITY_UNITS" />
+ <End Role="RML" EntitySet="RML" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_MEDIA_COLORS" Association="Self.FK_RML_MEDIA_COLORS">
+ <End Role="MEDIA_COLORS" EntitySet="MEDIA_COLORS" />
+ <End Role="RML" EntitySet="RML" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_MEDIA_CONDITIONS" Association="Self.FK_RML_MEDIA_CONDITIONS">
+ <End Role="MEDIA_CONDITIONS" EntitySet="MEDIA_CONDITIONS" />
+ <End Role="RML" EntitySet="RML" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_MEDIA_MATERIALS" Association="Self.FK_RML_MEDIA_MATERIALS">
+ <End Role="MEDIA_MATERIALS" EntitySet="MEDIA_MATERIALS" />
+ <End Role="RML" EntitySet="RML" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_MEDIA_PURPOSES" Association="Self.FK_RML_MEDIA_PURPOSES">
+ <End Role="MEDIA_PURPOSES" EntitySet="MEDIA_PURPOSES" />
+ <End Role="RML" EntitySet="RML" />
+ </AssociationSet>
+ <AssociationSet Name="FK_ROLES_PERMISSIONS_PERMISSIONS" Association="Self.FK_ROLES_PERMISSIONS_PERMISSIONS">
+ <End Role="PERMISSIONS" EntitySet="PERMISSIONS" />
+ <End Role="ROLES_PERMISSIONS" EntitySet="ROLES_PERMISSIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_ROLES_PERMISSIONS_ROLES" Association="Self.FK_ROLES_PERMISSIONS_ROLES">
+ <End Role="ROLES" EntitySet="ROLES" />
+ <End Role="ROLES_PERMISSIONS" EntitySet="ROLES_PERMISSIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_USERS_ADDRESSES" Association="Self.FK_USERS_ADDRESSES">
+ <End Role="ADDRESSES" EntitySet="ADDRESSES" />
+ <End Role="USERS" EntitySet="USERS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_USERS_CONTACTS" Association="Self.FK_USERS_CONTACTS">
+ <End Role="CONTACTS" EntitySet="CONTACTS" />
+ <End Role="USERS" EntitySet="USERS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_USERS_ORGANIZATIONS" Association="Self.FK_USERS_ORGANIZATIONS">
+ <End Role="ORGANIZATIONS" EntitySet="ORGANIZATIONS" />
+ <End Role="USERS" EntitySet="USERS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_USERS_ROLES_ROLES" Association="Self.FK_USERS_ROLES_ROLES">
+ <End Role="ROLES" EntitySet="ROLES" />
+ <End Role="USERS_ROLES" EntitySet="USERS_ROLES" />
+ </AssociationSet>
+ <AssociationSet Name="FK_USERS_ROLES_USERS" Association="Self.FK_USERS_ROLES_USERS">
+ <End Role="USERS" EntitySet="USERS" />
+ <End Role="USERS_ROLES" EntitySet="USERS_ROLES" />
+ </AssociationSet>
+ </EntityContainer>
+ </Schema>
+ </edmx:StorageModels>
+ <!-- CSDL content -->
+ <edmx:ConceptualModels>
+ <Schema Namespace="RemoteModel" Alias="Self" annotation:UseStrongSpatialTypes="false" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm">
+ <EntityType Name="ACTION">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="CODE" Type="Int32" Nullable="false" />
+ <Property Name="NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="DESCRIPTION" Type="String" MaxLength="100" FixedLength="false" Unicode="true" Nullable="false" />
+ <NavigationProperty Name="EVENTS_ACTIONS" Relationship="Self.FK_EVENTS_ACTIONS_ACTIONS" FromRole="ACTIONS" ToRole="EVENTS_ACTIONS" />
+ </EntityType>
+ <EntityType Name="ADDRESS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="ADDRESS1" Type="String" MaxLength="100" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="LOCALITY" Type="String" MaxLength="56" FixedLength="false" Unicode="true" />
+ <Property Name="COUNTRY" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
+ <Property Name="CITY" Type="String" MaxLength="30" FixedLength="false" Unicode="true" />
+ <Property Name="STATE" Type="String" MaxLength="30" FixedLength="false" Unicode="true" />
+ <Property Name="COUNTRY_CODE" Type="String" MaxLength="2" FixedLength="false" Unicode="true" />
+ <Property Name="POSTAL_CODE" Type="String" MaxLength="15" FixedLength="false" Unicode="true" />
+ <NavigationProperty Name="ORGANIZATIONS" Relationship="Self.FK_ORGANIZATIONS_ADDRESSES" FromRole="ADDRESSES" ToRole="ORGANIZATIONS" />
+ <NavigationProperty Name="USERS" Relationship="Self.FK_USERS_ADDRESSES" FromRole="ADDRESSES" ToRole="USERS" />
+ </EntityType>
+ <EntityType Name="APPLICATION_DISPLAY_PANEL_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <NavigationProperty Name="CONFIGURATIONS" Relationship="Self.FK_CONFIGURATIONS_APPLICATION_DISPLAY_PANEL_VERSIONS" FromRole="APPLICATION_DISPLAY_PANEL_VERSIONS" ToRole="CONFIGURATIONS" />
+ </EntityType>
+ <EntityType Name="APPLICATION_FIRMWARE_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <NavigationProperty Name="CONFIGURATIONS" Relationship="Self.FK_CONFIGURATIONS_APPLICATION_FIRMWARE_VERSIONS" FromRole="APPLICATION_FIRMWARE_VERSIONS" ToRole="CONFIGURATIONS" />
+ </EntityType>
+ <EntityType Name="APPLICATION_OS_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <NavigationProperty Name="CONFIGURATIONS" Relationship="Self.FK_CONFIGURATIONS_APPLICATION_OS_VERSIONS" FromRole="APPLICATION_OS_VERSIONS" ToRole="CONFIGURATIONS" />
+ </EntityType>
+ <EntityType Name="APPLICATION_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <NavigationProperty Name="CONFIGURATIONS" Relationship="Self.FK_CONFIGURATIONS_APPLICATION_VERSIONS" FromRole="APPLICATION_VERSIONS" ToRole="CONFIGURATIONS" />
+ </EntityType>
+ <EntityType Name="CONFIGURATION">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="CREATION_DATE" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="MACHINE_ID" Type="Int32" Nullable="false" />
+ <Property Name="APPLICATION_VERSION_ID" Type="Int32" Nullable="false" />
+ <Property Name="APPLICATION_OS_VERSION_ID" Type="Int32" Nullable="false" />
+ <Property Name="APPLICATION_FIRMWARE_VERSION_ID" Type="Int32" Nullable="false" />
+ <Property Name="APPLICATION_DISPLAY_PANEL_VERSION_ID" Type="Int32" Nullable="false" />
+ <Property Name="EMBEDDED_FIRMWARE_VERSION_ID" Type="Int32" Nullable="false" />
+ <Property Name="EMBEDDED_SOFTWARE_VERSION_ID" Type="Int32" Nullable="false" />
+ <Property Name="HARDWARE_VERSION_ID" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="APPLICATION_DISPLAY_PANEL_VERSIONS" Relationship="Self.FK_CONFIGURATIONS_APPLICATION_DISPLAY_PANEL_VERSIONS" FromRole="CONFIGURATIONS" ToRole="APPLICATION_DISPLAY_PANEL_VERSIONS" />
+ <NavigationProperty Name="APPLICATION_FIRMWARE_VERSIONS" Relationship="Self.FK_CONFIGURATIONS_APPLICATION_FIRMWARE_VERSIONS" FromRole="CONFIGURATIONS" ToRole="APPLICATION_FIRMWARE_VERSIONS" />
+ <NavigationProperty Name="APPLICATION_OS_VERSIONS" Relationship="Self.FK_CONFIGURATIONS_APPLICATION_OS_VERSIONS" FromRole="CONFIGURATIONS" ToRole="APPLICATION_OS_VERSIONS" />
+ <NavigationProperty Name="APPLICATION_VERSIONS" Relationship="Self.FK_CONFIGURATIONS_APPLICATION_VERSIONS" FromRole="CONFIGURATIONS" ToRole="APPLICATION_VERSIONS" />
+ <NavigationProperty Name="CONFIGURATIONS_DISPENSERS" Relationship="Self.FK_CONFIGURATIONS_DISPENSERS_CONFIGURATIONS" FromRole="CONFIGURATIONS" ToRole="CONFIGURATIONS_DISPENSERS" />
+ <NavigationProperty Name="EMBEDDED_FIRMWARE_VERSIONS" Relationship="Self.FK_CONFIGURATIONS_EMBEDDED_FIRMWARE_VERSIONS" FromRole="CONFIGURATIONS" ToRole="EMBEDDED_FIRMWARE_VERSIONS" />
+ <NavigationProperty Name="EMBEDDED_SOFTWARE_VERSIONS" Relationship="Self.FK_CONFIGURATIONS_EMBEDDED_SOFTWARE_VERSIONS" FromRole="CONFIGURATIONS" ToRole="EMBEDDED_SOFTWARE_VERSIONS" />
+ <NavigationProperty Name="HARDWARE_VERSIONS" Relationship="Self.FK_CONFIGURATIONS_HARDWARE_VERSIONS" FromRole="CONFIGURATIONS" ToRole="HARDWARE_VERSIONS" />
+ <NavigationProperty Name="MACHINE" Relationship="Self.FK_CONFIGURATIONS_MACHINES" FromRole="CONFIGURATIONS" ToRole="MACHINES" />
+ <NavigationProperty Name="MACHINE_VERSIONS" Relationship="Self.FK_MACHINE_VERSIONS_CONFIGURATIONS" FromRole="CONFIGURATIONS" ToRole="MACHINE_VERSIONS" />
+ </EntityType>
+ <EntityType Name="CONFIGURATIONS_DISPENSERS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="CONFIGURATION_ID" Type="Int32" Nullable="false" />
+ <Property Name="DISPENSER_ID" Type="Int32" Nullable="false" />
+ <Property Name="LIQUID_ID" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="CONFIGURATION" Relationship="Self.FK_CONFIGURATIONS_DISPENSERS_CONFIGURATIONS" FromRole="CONFIGURATIONS_DISPENSERS" ToRole="CONFIGURATIONS" />
+ <NavigationProperty Name="DISPENSER" Relationship="Self.FK_CONFIGURATIONS_DISPENSERS_DISPENSERS" FromRole="CONFIGURATIONS_DISPENSERS" ToRole="DISPENSERS" />
+ <NavigationProperty Name="LIQUID" Relationship="Self.FK_CONFIGURATIONS_DISPENSERS_LIQUIDS" FromRole="CONFIGURATIONS_DISPENSERS" ToRole="LIQUIDS" />
+ </EntityType>
+ <EntityType Name="CONTACT">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="FIRST_NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="LAST_NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="FULL_NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="EMAIL" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="PHONE_NUMBER" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
+ <Property Name="FAX" Type="String" MaxLength="50" FixedLength="false" Unicode="true" />
+ <NavigationProperty Name="ORGANIZATIONS" Relationship="Self.FK_ORGANIZATIONS_CONTACTS" FromRole="CONTACTS" ToRole="ORGANIZATIONS" />
+ <NavigationProperty Name="USERS" Relationship="Self.FK_USERS_CONTACTS" FromRole="CONTACTS" ToRole="USERS" />
+ </EntityType>
+ <EntityType Name="DISPENSER">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <NavigationProperty Name="CONFIGURATIONS_DISPENSERS" Relationship="Self.FK_CONFIGURATIONS_DISPENSERS_DISPENSERS" FromRole="DISPENSERS" ToRole="CONFIGURATIONS_DISPENSERS" />
+ </EntityType>
+ <EntityType Name="EMBEDDED_FIRMWARE_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <NavigationProperty Name="CONFIGURATIONS" Relationship="Self.FK_CONFIGURATIONS_EMBEDDED_FIRMWARE_VERSIONS" FromRole="EMBEDDED_FIRMWARE_VERSIONS" ToRole="CONFIGURATIONS" />
+ </EntityType>
+ <EntityType Name="EMBEDDED_SOFTWARE_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <NavigationProperty Name="CONFIGURATIONS" Relationship="Self.FK_CONFIGURATIONS_EMBEDDED_SOFTWARE_VERSIONS" FromRole="EMBEDDED_SOFTWARE_VERSIONS" ToRole="CONFIGURATIONS" />
+ </EntityType>
+ <EntityType Name="EVENT">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="CODE" Type="Int32" Nullable="false" />
+ <Property Name="NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="DESCRIPTION" Type="String" MaxLength="100" FixedLength="false" Unicode="true" Nullable="false" />
+ <NavigationProperty Name="EVENTS_ACTIONS" Relationship="Self.FK_EVENTS_ACTIONS_EVENTS" FromRole="EVENTS" ToRole="EVENTS_ACTIONS" />
+ <NavigationProperty Name="MACHINES_EVENTS" Relationship="Self.FK_MACHINES_EVENTS_EVENTS" FromRole="EVENTS" ToRole="MACHINES_EVENTS" />
+ </EntityType>
+ <EntityType Name="EVENTS_ACTIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="EVENT_ID" Type="Int32" Nullable="false" />
+ <Property Name="ACTION_ID" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="ACTION" Relationship="Self.FK_EVENTS_ACTIONS_ACTIONS" FromRole="EVENTS_ACTIONS" ToRole="ACTIONS" />
+ <NavigationProperty Name="EVENT" Relationship="Self.FK_EVENTS_ACTIONS_EVENTS" FromRole="EVENTS_ACTIONS" ToRole="EVENTS" />
+ </EntityType>
+ <EntityType Name="FIBER_SHAPES">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="CODE" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="RMLs" Relationship="Self.FK_RML_FIBER_SHAPES" FromRole="FIBER_SHAPES" ToRole="RML" />
+ </EntityType>
+ <EntityType Name="FIBER_SYNTHESIS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="CODE" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="RMLs" Relationship="Self.FK_RML_FIBER_SYNTHESIS" FromRole="FIBER_SYNTHESIS" ToRole="RML" />
+ </EntityType>
+ <EntityType Name="HARDWARE_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <NavigationProperty Name="CONFIGURATIONS" Relationship="Self.FK_CONFIGURATIONS_HARDWARE_VERSIONS" FromRole="HARDWARE_VERSIONS" ToRole="CONFIGURATIONS" />
+ </EntityType>
+ <EntityType Name="LINEAR_MASS_DENSITY_UNITS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="CODE" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="RMLs" Relationship="Self.FK_RML_LINEAR_MASS_DENSITY_UNITS" FromRole="LINEAR_MASS_DENSITY_UNITS" ToRole="RML" />
+ </EntityType>
+ <EntityType Name="LIQUID_TYPES">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="DESCRIPTION" Type="String" MaxLength="200" FixedLength="false" Unicode="true" />
+ <Property Name="CODE" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="LIQUIDS" Relationship="Self.FK_LIQUIDS_LIQUID_TYPES" FromRole="LIQUID_TYPES" ToRole="LIQUIDS" />
+ </EntityType>
+ <EntityType Name="LIQUID">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="VERSION" Type="Double" Nullable="false" />
+ <Property Name="LIQUID_TYPE_ID" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="CONFIGURATIONS_DISPENSERS" Relationship="Self.FK_CONFIGURATIONS_DISPENSERS_LIQUIDS" FromRole="LIQUIDS" ToRole="CONFIGURATIONS_DISPENSERS" />
+ <NavigationProperty Name="LIQUID_TYPES" Relationship="Self.FK_LIQUIDS_LIQUID_TYPES" FromRole="LIQUIDS" ToRole="LIQUID_TYPES" />
+ <NavigationProperty Name="LIQUIDS_RML" Relationship="Self.FK_LIQUID_RML_LIQUIDS" FromRole="LIQUIDS" ToRole="LIQUIDS_RML" />
+ </EntityType>
+ <EntityType Name="LIQUIDS_RML">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="LIQUID_ID" Type="Int32" Nullable="false" />
+ <Property Name="RML_ID" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="LIQUID" Relationship="Self.FK_LIQUID_RML_LIQUIDS" FromRole="LIQUIDS_RML" ToRole="LIQUIDS" />
+ <NavigationProperty Name="RML" Relationship="Self.FK_LIQUID_RML_RML" FromRole="LIQUIDS_RML" ToRole="RML" />
+ </EntityType>
+ <EntityType Name="MACHINE_VERSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="VERSION" Type="Double" Nullable="false" />
+ <Property Name="DEFAULT_CONFIGURATION_ID" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="CONFIGURATION" Relationship="Self.FK_MACHINE_VERSIONS_CONFIGURATIONS" FromRole="MACHINE_VERSIONS" ToRole="CONFIGURATIONS" />
+ <NavigationProperty Name="MACHINES" Relationship="Self.FK_MACHINES_MACHINE_VERSIONS" FromRole="MACHINE_VERSIONS" ToRole="MACHINES" />
+ </EntityType>
+ <EntityType Name="MACHINE">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="SERIAL_NUMBER" Type="String" MaxLength="50" FixedLength="false" Unicode="false" Nullable="false" />
+ <Property Name="PRODUCTION_DATE" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="ORGANIZATION_ID" Type="Int32" Nullable="false" />
+ <Property Name="MACHINE_VERSION_ID" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="CONFIGURATIONS" Relationship="Self.FK_CONFIGURATIONS_MACHINES" FromRole="MACHINES" ToRole="CONFIGURATIONS" />
+ <NavigationProperty Name="MACHINE_VERSIONS" Relationship="Self.FK_MACHINES_MACHINE_VERSIONS" FromRole="MACHINES" ToRole="MACHINE_VERSIONS" />
+ <NavigationProperty Name="MACHINES_EVENTS" Relationship="Self.FK_MACHINE_EVENTS_MACHINES" FromRole="MACHINES" ToRole="MACHINES_EVENTS" />
+ <NavigationProperty Name="ORGANIZATION" Relationship="Self.FK_MACHINES_ORGANIZATIONS" FromRole="MACHINES" ToRole="ORGANIZATIONS" />
+ </EntityType>
+ <EntityType Name="MACHINES_EVENTS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="MACHINE_ID" Type="Int32" Nullable="false" />
+ <Property Name="EVENT_ID" Type="Int32" Nullable="false" />
+ <Property Name="USER_ID" Type="Int32" Nullable="false" />
+ <Property Name="DATE_TIME" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DESCRIPTION" Type="String" MaxLength="200" FixedLength="false" Unicode="true" />
+ <NavigationProperty Name="EVENT" Relationship="Self.FK_MACHINES_EVENTS_EVENTS" FromRole="MACHINES_EVENTS" ToRole="EVENTS" />
+ <NavigationProperty Name="MACHINE" Relationship="Self.FK_MACHINE_EVENTS_MACHINES" FromRole="MACHINES_EVENTS" ToRole="MACHINES" />
+ <NavigationProperty Name="USER" Relationship="Self.FK_MACHINES_EVENTS_USERS" FromRole="MACHINES_EVENTS" ToRole="USERS" />
+ </EntityType>
+ <EntityType Name="MEDIA_COLORS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="COLOR" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="RMLs" Relationship="Self.FK_RML_MEDIA_COLORS" FromRole="MEDIA_COLORS" ToRole="RML" />
+ </EntityType>
+ <EntityType Name="MEDIA_CONDITIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="CODE" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="RMLs" Relationship="Self.FK_RML_MEDIA_CONDITIONS" FromRole="MEDIA_CONDITIONS" ToRole="RML" />
+ </EntityType>
+ <EntityType Name="MEDIA_MATERIALS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="CODE" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="RMLs" Relationship="Self.FK_RML_MEDIA_MATERIALS" FromRole="MEDIA_MATERIALS" ToRole="RML" />
+ </EntityType>
+ <EntityType Name="MEDIA_PURPOSES">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="CODE" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="RMLs" Relationship="Self.FK_RML_MEDIA_PURPOSES" FromRole="MEDIA_PURPOSES" ToRole="RML" />
+ </EntityType>
+ <EntityType Name="ORGANIZATION">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="NAME" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="CONTACT_ID" Type="Int32" Nullable="false" />
+ <Property Name="ADDRESS_ID" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="ADDRESS" Relationship="Self.FK_ORGANIZATIONS_ADDRESSES" FromRole="ORGANIZATIONS" ToRole="ADDRESSES" />
+ <NavigationProperty Name="CONTACT" Relationship="Self.FK_ORGANIZATIONS_CONTACTS" FromRole="ORGANIZATIONS" ToRole="CONTACTS" />
+ <NavigationProperty Name="MACHINES" Relationship="Self.FK_MACHINES_ORGANIZATIONS" FromRole="ORGANIZATIONS" ToRole="MACHINES" />
+ <NavigationProperty Name="USERS" Relationship="Self.FK_USERS_ORGANIZATIONS" FromRole="ORGANIZATIONS" ToRole="USERS" />
+ </EntityType>
+ <EntityType Name="PERMISSION">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="NAME" Type="String" MaxLength="30" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="DESCRIPTION" Type="String" MaxLength="100" FixedLength="false" Unicode="true" Nullable="false" />
+ <NavigationProperty Name="ROLES_PERMISSIONS" Relationship="Self.FK_ROLES_PERMISSIONS_PERMISSIONS" FromRole="PERMISSIONS" ToRole="ROLES_PERMISSIONS" />
+ </EntityType>
+ <EntityType Name="RML">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="MANUFACTURER" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="MATERIAL_ID" Type="Int32" Nullable="false" />
+ <Property Name="COLOR_ID" Type="Int32" Nullable="false" />
+ <Property Name="PURPOSE_ID" Type="Int32" Nullable="false" />
+ <Property Name="CONDITION_ID" Type="Int32" Nullable="false" />
+ <Property Name="LINEAR_MASS_DENSITY_UNIT_ID" Type="Int32" Nullable="false" />
+ <Property Name="FIBER_SHAPE_ID" Type="Int32" Nullable="false" />
+ <Property Name="FIBER_SYNTHESIS_ID" Type="Int32" Nullable="false" />
+ <Property Name="FIBER_SIZE" Type="Double" Nullable="false" />
+ <Property Name="NUMBER_OF_FIBERS" Type="Int32" Nullable="false" />
+ <Property Name="PLIES_PER_FIBER" Type="Int32" Nullable="false" />
+ <Property Name="PLIES_PER_THREAD" Type="Int32" Nullable="false" />
+ <Property Name="TWISTED" Type="Boolean" Nullable="false" />
+ <Property Name="AIR_ENTANGLEMENT" Type="Boolean" Nullable="false" />
+ <Property Name="LUBRICANT" Type="Boolean" Nullable="false" />
+ <Property Name="TENSILE_STRENGTH" Type="Double" Nullable="false" />
+ <Property Name="ELONGATION_AT_BREAK_PERCENTAGE" Type="Double" Nullable="false" />
+ <Property Name="ESTIMATED_THREAD_DIAMETER" Type="Double" Nullable="false" />
+ <NavigationProperty Name="FIBER_SHAPES" Relationship="Self.FK_RML_FIBER_SHAPES" FromRole="RML" ToRole="FIBER_SHAPES" />
+ <NavigationProperty Name="FIBER_SYNTHESIS" Relationship="Self.FK_RML_FIBER_SYNTHESIS" FromRole="RML" ToRole="FIBER_SYNTHESIS" />
+ <NavigationProperty Name="LINEAR_MASS_DENSITY_UNITS" Relationship="Self.FK_RML_LINEAR_MASS_DENSITY_UNITS" FromRole="RML" ToRole="LINEAR_MASS_DENSITY_UNITS" />
+ <NavigationProperty Name="LIQUIDS_RML" Relationship="Self.FK_LIQUID_RML_RML" FromRole="RML" ToRole="LIQUIDS_RML" />
+ <NavigationProperty Name="MEDIA_COLORS" Relationship="Self.FK_RML_MEDIA_COLORS" FromRole="RML" ToRole="MEDIA_COLORS" />
+ <NavigationProperty Name="MEDIA_CONDITIONS" Relationship="Self.FK_RML_MEDIA_CONDITIONS" FromRole="RML" ToRole="MEDIA_CONDITIONS" />
+ <NavigationProperty Name="MEDIA_MATERIALS" Relationship="Self.FK_RML_MEDIA_MATERIALS" FromRole="RML" ToRole="MEDIA_MATERIALS" />
+ <NavigationProperty Name="MEDIA_PURPOSES" Relationship="Self.FK_RML_MEDIA_PURPOSES" FromRole="RML" ToRole="MEDIA_PURPOSES" />
+ </EntityType>
+ <EntityType Name="ROLE">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="NAME" Type="String" MaxLength="30" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="DESCRIPTION" Type="String" MaxLength="100" FixedLength="false" Unicode="true" Nullable="false" />
+ <NavigationProperty Name="ROLES_PERMISSIONS" Relationship="Self.FK_ROLES_PERMISSIONS_ROLES" FromRole="ROLES" ToRole="ROLES_PERMISSIONS" />
+ <NavigationProperty Name="USERS_ROLES" Relationship="Self.FK_USERS_ROLES_ROLES" FromRole="ROLES" ToRole="USERS_ROLES" />
+ </EntityType>
+ <EntityType Name="ROLES_PERMISSIONS">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="ROLE_ID" Type="Int32" Nullable="false" />
+ <Property Name="PERMISSION_ID" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="PERMISSION" Relationship="Self.FK_ROLES_PERMISSIONS_PERMISSIONS" FromRole="ROLES_PERMISSIONS" ToRole="PERMISSIONS" />
+ <NavigationProperty Name="ROLE" Relationship="Self.FK_ROLES_PERMISSIONS_ROLES" FromRole="ROLES_PERMISSIONS" ToRole="ROLES" />
+ </EntityType>
+ <EntityType Name="USER">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="EMAIL" Type="String" MaxLength="50" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="PASSWORD" Type="String" MaxLength="200" FixedLength="false" Unicode="true" Nullable="false" />
+ <Property Name="ORGANIZATION_ID" Type="Int32" Nullable="false" />
+ <Property Name="CONTACT_ID" Type="Int32" Nullable="false" />
+ <Property Name="ADDRESS_ID" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="ADDRESS" Relationship="Self.FK_USERS_ADDRESSES" FromRole="USERS" ToRole="ADDRESSES" />
+ <NavigationProperty Name="CONTACT" Relationship="Self.FK_USERS_CONTACTS" FromRole="USERS" ToRole="CONTACTS" />
+ <NavigationProperty Name="MACHINES_EVENTS" Relationship="Self.FK_MACHINES_EVENTS_USERS" FromRole="USERS" ToRole="MACHINES_EVENTS" />
+ <NavigationProperty Name="ORGANIZATION" Relationship="Self.FK_USERS_ORGANIZATIONS" FromRole="USERS" ToRole="ORGANIZATIONS" />
+ <NavigationProperty Name="USERS_ROLES" Relationship="Self.FK_USERS_ROLES_USERS" FromRole="USERS" ToRole="USERS_ROLES" />
+ </EntityType>
+ <EntityType Name="USERS_ROLES">
+ <Key>
+ <PropertyRef Name="ID" />
+ </Key>
+ <Property Name="ID" Type="Int32" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+ <Property Name="GUID" Type="Guid" Nullable="false" />
+ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" Precision="3" />
+ <Property Name="DELETED" Type="Boolean" Nullable="false" />
+ <Property Name="USER_ID" Type="Int32" Nullable="false" />
+ <Property Name="ROLE_ID" Type="Int32" Nullable="false" />
+ <NavigationProperty Name="ROLE" Relationship="Self.FK_USERS_ROLES_ROLES" FromRole="USERS_ROLES" ToRole="ROLES" />
+ <NavigationProperty Name="USER" Relationship="Self.FK_USERS_ROLES_USERS" FromRole="USERS_ROLES" ToRole="USERS" />
+ </EntityType>
+ <Association Name="FK_EVENTS_ACTIONS_ACTIONS">
+ <End Role="ACTIONS" Type="Self.ACTION" Multiplicity="1" />
+ <End Role="EVENTS_ACTIONS" Type="Self.EVENTS_ACTIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ACTIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="EVENTS_ACTIONS">
+ <PropertyRef Name="ACTION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_ORGANIZATIONS_ADDRESSES">
+ <End Role="ADDRESSES" Type="Self.ADDRESS" Multiplicity="1" />
+ <End Role="ORGANIZATIONS" Type="Self.ORGANIZATION" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ADDRESSES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="ORGANIZATIONS">
+ <PropertyRef Name="ADDRESS_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_USERS_ADDRESSES">
+ <End Role="ADDRESSES" Type="Self.ADDRESS" Multiplicity="1" />
+ <End Role="USERS" Type="Self.USER" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ADDRESSES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="USERS">
+ <PropertyRef Name="ADDRESS_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_APPLICATION_DISPLAY_PANEL_VERSIONS">
+ <End Role="APPLICATION_DISPLAY_PANEL_VERSIONS" Type="Self.APPLICATION_DISPLAY_PANEL_VERSIONS" Multiplicity="1" />
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATION" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="APPLICATION_DISPLAY_PANEL_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="APPLICATION_DISPLAY_PANEL_VERSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_APPLICATION_FIRMWARE_VERSIONS">
+ <End Role="APPLICATION_FIRMWARE_VERSIONS" Type="Self.APPLICATION_FIRMWARE_VERSIONS" Multiplicity="1" />
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATION" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="APPLICATION_FIRMWARE_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="APPLICATION_FIRMWARE_VERSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_APPLICATION_OS_VERSIONS">
+ <End Role="APPLICATION_OS_VERSIONS" Type="Self.APPLICATION_OS_VERSIONS" Multiplicity="1" />
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATION" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="APPLICATION_OS_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="APPLICATION_OS_VERSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_APPLICATION_VERSIONS">
+ <End Role="APPLICATION_VERSIONS" Type="Self.APPLICATION_VERSIONS" Multiplicity="1" />
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATION" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="APPLICATION_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="APPLICATION_VERSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_DISPENSERS_CONFIGURATIONS">
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATION" Multiplicity="1" />
+ <End Role="CONFIGURATIONS_DISPENSERS" Type="Self.CONFIGURATIONS_DISPENSERS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="CONFIGURATIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS_DISPENSERS">
+ <PropertyRef Name="CONFIGURATION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_EMBEDDED_FIRMWARE_VERSIONS">
+ <End Role="EMBEDDED_FIRMWARE_VERSIONS" Type="Self.EMBEDDED_FIRMWARE_VERSIONS" Multiplicity="1" />
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATION" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="EMBEDDED_FIRMWARE_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="EMBEDDED_FIRMWARE_VERSION_ID" />
+ </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.CONFIGURATION" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="EMBEDDED_SOFTWARE_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="EMBEDDED_SOFTWARE_VERSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_HARDWARE_VERSIONS">
+ <End Role="HARDWARE_VERSIONS" Type="Self.HARDWARE_VERSIONS" Multiplicity="1" />
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATION" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="HARDWARE_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="HARDWARE_VERSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_MACHINES">
+ <End Role="MACHINES" Type="Self.MACHINE" Multiplicity="1" />
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATION" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MACHINES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS">
+ <PropertyRef Name="MACHINE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_MACHINE_VERSIONS_CONFIGURATIONS">
+ <End Role="CONFIGURATIONS" Type="Self.CONFIGURATION" Multiplicity="1" />
+ <End Role="MACHINE_VERSIONS" Type="Self.MACHINE_VERSIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="CONFIGURATIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="MACHINE_VERSIONS">
+ <PropertyRef Name="DEFAULT_CONFIGURATION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_DISPENSERS_DISPENSERS">
+ <End Role="DISPENSERS" Type="Self.DISPENSER" Multiplicity="1" />
+ <End Role="CONFIGURATIONS_DISPENSERS" Type="Self.CONFIGURATIONS_DISPENSERS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="DISPENSERS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS_DISPENSERS">
+ <PropertyRef Name="DISPENSER_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_CONFIGURATIONS_DISPENSERS_LIQUIDS">
+ <End Role="LIQUIDS" Type="Self.LIQUID" Multiplicity="1" />
+ <End Role="CONFIGURATIONS_DISPENSERS" Type="Self.CONFIGURATIONS_DISPENSERS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="LIQUIDS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="CONFIGURATIONS_DISPENSERS">
+ <PropertyRef Name="LIQUID_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_ORGANIZATIONS_CONTACTS">
+ <End Role="CONTACTS" Type="Self.CONTACT" Multiplicity="1" />
+ <End Role="ORGANIZATIONS" Type="Self.ORGANIZATION" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="CONTACTS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="ORGANIZATIONS">
+ <PropertyRef Name="CONTACT_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_USERS_CONTACTS">
+ <End Role="CONTACTS" Type="Self.CONTACT" Multiplicity="1" />
+ <End Role="USERS" Type="Self.USER" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="CONTACTS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="USERS">
+ <PropertyRef Name="CONTACT_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_EVENTS_ACTIONS_EVENTS">
+ <End Role="EVENTS" Type="Self.EVENT" Multiplicity="1" />
+ <End Role="EVENTS_ACTIONS" Type="Self.EVENTS_ACTIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="EVENTS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="EVENTS_ACTIONS">
+ <PropertyRef Name="EVENT_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_MACHINES_EVENTS_EVENTS">
+ <End Role="EVENTS" Type="Self.EVENT" Multiplicity="1" />
+ <End Role="MACHINES_EVENTS" Type="Self.MACHINES_EVENTS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="EVENTS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="MACHINES_EVENTS">
+ <PropertyRef Name="EVENT_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_FIBER_SHAPES">
+ <End Role="FIBER_SHAPES" Type="Self.FIBER_SHAPES" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="FIBER_SHAPES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="FIBER_SHAPE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_FIBER_SYNTHESIS">
+ <End Role="FIBER_SYNTHESIS" Type="Self.FIBER_SYNTHESIS" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="FIBER_SYNTHESIS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="FIBER_SYNTHESIS_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_LINEAR_MASS_DENSITY_UNITS">
+ <End Role="LINEAR_MASS_DENSITY_UNITS" Type="Self.LINEAR_MASS_DENSITY_UNITS" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="LINEAR_MASS_DENSITY_UNITS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="LINEAR_MASS_DENSITY_UNIT_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_LIQUIDS_LIQUID_TYPES">
+ <End Role="LIQUID_TYPES" Type="Self.LIQUID_TYPES" Multiplicity="1" />
+ <End Role="LIQUIDS" Type="Self.LIQUID" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="LIQUID_TYPES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="LIQUIDS">
+ <PropertyRef Name="LIQUID_TYPE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_LIQUID_RML_LIQUIDS">
+ <End Role="LIQUIDS" Type="Self.LIQUID" Multiplicity="1" />
+ <End Role="LIQUIDS_RML" Type="Self.LIQUIDS_RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="LIQUIDS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="LIQUIDS_RML">
+ <PropertyRef Name="LIQUID_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_LIQUID_RML_RML">
+ <End Role="RML" Type="Self.RML" Multiplicity="1" />
+ <End Role="LIQUIDS_RML" Type="Self.LIQUIDS_RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="RML">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="LIQUIDS_RML">
+ <PropertyRef Name="RML_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_MACHINES_MACHINE_VERSIONS">
+ <End Role="MACHINE_VERSIONS" Type="Self.MACHINE_VERSIONS" Multiplicity="1" />
+ <End Role="MACHINES" Type="Self.MACHINE" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MACHINE_VERSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="MACHINES">
+ <PropertyRef Name="MACHINE_VERSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_MACHINE_EVENTS_MACHINES">
+ <End Role="MACHINES" Type="Self.MACHINE" Multiplicity="1" />
+ <End Role="MACHINES_EVENTS" Type="Self.MACHINES_EVENTS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MACHINES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="MACHINES_EVENTS">
+ <PropertyRef Name="MACHINE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_MACHINES_ORGANIZATIONS">
+ <End Role="ORGANIZATIONS" Type="Self.ORGANIZATION" Multiplicity="1" />
+ <End Role="MACHINES" Type="Self.MACHINE" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ORGANIZATIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="MACHINES">
+ <PropertyRef Name="ORGANIZATION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_MACHINES_EVENTS_USERS">
+ <End Role="USERS" Type="Self.USER" Multiplicity="1" />
+ <End Role="MACHINES_EVENTS" Type="Self.MACHINES_EVENTS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="USERS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="MACHINES_EVENTS">
+ <PropertyRef Name="USER_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_MEDIA_COLORS">
+ <End Role="MEDIA_COLORS" Type="Self.MEDIA_COLORS" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MEDIA_COLORS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="COLOR_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_MEDIA_CONDITIONS">
+ <End Role="MEDIA_CONDITIONS" Type="Self.MEDIA_CONDITIONS" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MEDIA_CONDITIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="CONDITION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_MEDIA_MATERIALS">
+ <End Role="MEDIA_MATERIALS" Type="Self.MEDIA_MATERIALS" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MEDIA_MATERIALS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="MATERIAL_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_RML_MEDIA_PURPOSES">
+ <End Role="MEDIA_PURPOSES" Type="Self.MEDIA_PURPOSES" Multiplicity="1" />
+ <End Role="RML" Type="Self.RML" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="MEDIA_PURPOSES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="RML">
+ <PropertyRef Name="PURPOSE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_USERS_ORGANIZATIONS">
+ <End Role="ORGANIZATIONS" Type="Self.ORGANIZATION" Multiplicity="1" />
+ <End Role="USERS" Type="Self.USER" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ORGANIZATIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="USERS">
+ <PropertyRef Name="ORGANIZATION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_ROLES_PERMISSIONS_PERMISSIONS">
+ <End Role="PERMISSIONS" Type="Self.PERMISSION" Multiplicity="1" />
+ <End Role="ROLES_PERMISSIONS" Type="Self.ROLES_PERMISSIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="PERMISSIONS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="ROLES_PERMISSIONS">
+ <PropertyRef Name="PERMISSION_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_ROLES_PERMISSIONS_ROLES">
+ <End Role="ROLES" Type="Self.ROLE" Multiplicity="1" />
+ <End Role="ROLES_PERMISSIONS" Type="Self.ROLES_PERMISSIONS" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ROLES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="ROLES_PERMISSIONS">
+ <PropertyRef Name="ROLE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_USERS_ROLES_ROLES">
+ <End Role="ROLES" Type="Self.ROLE" Multiplicity="1" />
+ <End Role="USERS_ROLES" Type="Self.USERS_ROLES" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="ROLES">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="USERS_ROLES">
+ <PropertyRef Name="ROLE_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <Association Name="FK_USERS_ROLES_USERS">
+ <End Role="USERS" Type="Self.USER" Multiplicity="1" />
+ <End Role="USERS_ROLES" Type="Self.USERS_ROLES" Multiplicity="*" />
+ <ReferentialConstraint>
+ <Principal Role="USERS">
+ <PropertyRef Name="ID" />
+ </Principal>
+ <Dependent Role="USERS_ROLES">
+ <PropertyRef Name="USER_ID" />
+ </Dependent>
+ </ReferentialConstraint>
+ </Association>
+ <EntityContainer Name="RemoteDB" annotation:LazyLoadingEnabled="true">
+ <EntitySet Name="ACTIONS" EntityType="Self.ACTION" />
+ <EntitySet Name="ADDRESSES" EntityType="Self.ADDRESS" />
+ <EntitySet Name="APPLICATION_DISPLAY_PANEL_VERSIONS" EntityType="Self.APPLICATION_DISPLAY_PANEL_VERSIONS" />
+ <EntitySet Name="APPLICATION_FIRMWARE_VERSIONS" EntityType="Self.APPLICATION_FIRMWARE_VERSIONS" />
+ <EntitySet Name="APPLICATION_OS_VERSIONS" EntityType="Self.APPLICATION_OS_VERSIONS" />
+ <EntitySet Name="APPLICATION_VERSIONS" EntityType="Self.APPLICATION_VERSIONS" />
+ <EntitySet Name="CONFIGURATIONS" EntityType="Self.CONFIGURATION" />
+ <EntitySet Name="CONFIGURATIONS_DISPENSERS" EntityType="Self.CONFIGURATIONS_DISPENSERS" />
+ <EntitySet Name="CONTACTS" EntityType="Self.CONTACT" />
+ <EntitySet Name="DISPENSERS" EntityType="Self.DISPENSER" />
+ <EntitySet Name="EMBEDDED_FIRMWARE_VERSIONS" EntityType="Self.EMBEDDED_FIRMWARE_VERSIONS" />
+ <EntitySet Name="EMBEDDED_SOFTWARE_VERSIONS" EntityType="Self.EMBEDDED_SOFTWARE_VERSIONS" />
+ <EntitySet Name="EVENTS" EntityType="Self.EVENT" />
+ <EntitySet Name="EVENTS_ACTIONS" EntityType="Self.EVENTS_ACTIONS" />
+ <EntitySet Name="FIBER_SHAPES" EntityType="Self.FIBER_SHAPES" />
+ <EntitySet Name="FIBER_SYNTHESIS" EntityType="Self.FIBER_SYNTHESIS" />
+ <EntitySet Name="HARDWARE_VERSIONS" EntityType="Self.HARDWARE_VERSIONS" />
+ <EntitySet Name="LINEAR_MASS_DENSITY_UNITS" EntityType="Self.LINEAR_MASS_DENSITY_UNITS" />
+ <EntitySet Name="LIQUID_TYPES" EntityType="Self.LIQUID_TYPES" />
+ <EntitySet Name="LIQUIDS" EntityType="Self.LIQUID" />
+ <EntitySet Name="LIQUIDS_RML" EntityType="Self.LIQUIDS_RML" />
+ <EntitySet Name="MACHINE_VERSIONS" EntityType="Self.MACHINE_VERSIONS" />
+ <EntitySet Name="MACHINES" EntityType="Self.MACHINE" />
+ <EntitySet Name="MACHINES_EVENTS" EntityType="Self.MACHINES_EVENTS" />
+ <EntitySet Name="MEDIA_COLORS" EntityType="Self.MEDIA_COLORS" />
+ <EntitySet Name="MEDIA_CONDITIONS" EntityType="Self.MEDIA_CONDITIONS" />
+ <EntitySet Name="MEDIA_MATERIALS" EntityType="Self.MEDIA_MATERIALS" />
+ <EntitySet Name="MEDIA_PURPOSES" EntityType="Self.MEDIA_PURPOSES" />
+ <EntitySet Name="ORGANIZATIONS" EntityType="Self.ORGANIZATION" />
+ <EntitySet Name="PERMISSIONS" EntityType="Self.PERMISSION" />
+ <EntitySet Name="RMLs" EntityType="Self.RML" />
+ <EntitySet Name="ROLES" EntityType="Self.ROLE" />
+ <EntitySet Name="ROLES_PERMISSIONS" EntityType="Self.ROLES_PERMISSIONS" />
+ <EntitySet Name="USERS" EntityType="Self.USER" />
+ <EntitySet Name="USERS_ROLES" EntityType="Self.USERS_ROLES" />
+ <AssociationSet Name="FK_EVENTS_ACTIONS_ACTIONS" Association="Self.FK_EVENTS_ACTIONS_ACTIONS">
+ <End Role="ACTIONS" EntitySet="ACTIONS" />
+ <End Role="EVENTS_ACTIONS" EntitySet="EVENTS_ACTIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_ORGANIZATIONS_ADDRESSES" Association="Self.FK_ORGANIZATIONS_ADDRESSES">
+ <End Role="ADDRESSES" EntitySet="ADDRESSES" />
+ <End Role="ORGANIZATIONS" EntitySet="ORGANIZATIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_USERS_ADDRESSES" Association="Self.FK_USERS_ADDRESSES">
+ <End Role="ADDRESSES" EntitySet="ADDRESSES" />
+ <End Role="USERS" EntitySet="USERS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_CONFIGURATIONS_APPLICATION_DISPLAY_PANEL_VERSIONS" Association="Self.FK_CONFIGURATIONS_APPLICATION_DISPLAY_PANEL_VERSIONS">
+ <End Role="APPLICATION_DISPLAY_PANEL_VERSIONS" EntitySet="APPLICATION_DISPLAY_PANEL_VERSIONS" />
+ <End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_CONFIGURATIONS_APPLICATION_FIRMWARE_VERSIONS" Association="Self.FK_CONFIGURATIONS_APPLICATION_FIRMWARE_VERSIONS">
+ <End Role="APPLICATION_FIRMWARE_VERSIONS" EntitySet="APPLICATION_FIRMWARE_VERSIONS" />
+ <End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_CONFIGURATIONS_APPLICATION_OS_VERSIONS" Association="Self.FK_CONFIGURATIONS_APPLICATION_OS_VERSIONS">
+ <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_CONFIGURATIONS" Association="Self.FK_CONFIGURATIONS_DISPENSERS_CONFIGURATIONS">
+ <End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
+ <End Role="CONFIGURATIONS_DISPENSERS" EntitySet="CONFIGURATIONS_DISPENSERS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_CONFIGURATIONS_EMBEDDED_FIRMWARE_VERSIONS" Association="Self.FK_CONFIGURATIONS_EMBEDDED_FIRMWARE_VERSIONS">
+ <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" />
+ </AssociationSet>
+ <AssociationSet Name="FK_CONFIGURATIONS_MACHINES" Association="Self.FK_CONFIGURATIONS_MACHINES">
+ <End Role="MACHINES" EntitySet="MACHINES" />
+ <End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_MACHINE_VERSIONS_CONFIGURATIONS" Association="Self.FK_MACHINE_VERSIONS_CONFIGURATIONS">
+ <End Role="CONFIGURATIONS" EntitySet="CONFIGURATIONS" />
+ <End Role="MACHINE_VERSIONS" EntitySet="MACHINE_VERSIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_CONFIGURATIONS_DISPENSERS_DISPENSERS" Association="Self.FK_CONFIGURATIONS_DISPENSERS_DISPENSERS">
+ <End Role="DISPENSERS" EntitySet="DISPENSERS" />
+ <End Role="CONFIGURATIONS_DISPENSERS" EntitySet="CONFIGURATIONS_DISPENSERS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_CONFIGURATIONS_DISPENSERS_LIQUIDS" Association="Self.FK_CONFIGURATIONS_DISPENSERS_LIQUIDS">
+ <End Role="LIQUIDS" EntitySet="LIQUIDS" />
+ <End Role="CONFIGURATIONS_DISPENSERS" EntitySet="CONFIGURATIONS_DISPENSERS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_ORGANIZATIONS_CONTACTS" Association="Self.FK_ORGANIZATIONS_CONTACTS">
+ <End Role="CONTACTS" EntitySet="CONTACTS" />
+ <End Role="ORGANIZATIONS" EntitySet="ORGANIZATIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_USERS_CONTACTS" Association="Self.FK_USERS_CONTACTS">
+ <End Role="CONTACTS" EntitySet="CONTACTS" />
+ <End Role="USERS" EntitySet="USERS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_EVENTS_ACTIONS_EVENTS" Association="Self.FK_EVENTS_ACTIONS_EVENTS">
+ <End Role="EVENTS" EntitySet="EVENTS" />
+ <End Role="EVENTS_ACTIONS" EntitySet="EVENTS_ACTIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_MACHINES_EVENTS_EVENTS" Association="Self.FK_MACHINES_EVENTS_EVENTS">
+ <End Role="EVENTS" EntitySet="EVENTS" />
+ <End Role="MACHINES_EVENTS" EntitySet="MACHINES_EVENTS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_FIBER_SHAPES" Association="Self.FK_RML_FIBER_SHAPES">
+ <End Role="FIBER_SHAPES" EntitySet="FIBER_SHAPES" />
+ <End Role="RML" EntitySet="RMLs" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_FIBER_SYNTHESIS" Association="Self.FK_RML_FIBER_SYNTHESIS">
+ <End Role="FIBER_SYNTHESIS" EntitySet="FIBER_SYNTHESIS" />
+ <End Role="RML" EntitySet="RMLs" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_LINEAR_MASS_DENSITY_UNITS" Association="Self.FK_RML_LINEAR_MASS_DENSITY_UNITS">
+ <End Role="LINEAR_MASS_DENSITY_UNITS" EntitySet="LINEAR_MASS_DENSITY_UNITS" />
+ <End Role="RML" EntitySet="RMLs" />
+ </AssociationSet>
+ <AssociationSet Name="FK_LIQUIDS_LIQUID_TYPES" Association="Self.FK_LIQUIDS_LIQUID_TYPES">
+ <End Role="LIQUID_TYPES" EntitySet="LIQUID_TYPES" />
+ <End Role="LIQUIDS" EntitySet="LIQUIDS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_LIQUID_RML_LIQUIDS" Association="Self.FK_LIQUID_RML_LIQUIDS">
+ <End Role="LIQUIDS" EntitySet="LIQUIDS" />
+ <End Role="LIQUIDS_RML" EntitySet="LIQUIDS_RML" />
+ </AssociationSet>
+ <AssociationSet Name="FK_LIQUID_RML_RML" Association="Self.FK_LIQUID_RML_RML">
+ <End Role="RML" EntitySet="RMLs" />
+ <End Role="LIQUIDS_RML" EntitySet="LIQUIDS_RML" />
+ </AssociationSet>
+ <AssociationSet Name="FK_MACHINES_MACHINE_VERSIONS" Association="Self.FK_MACHINES_MACHINE_VERSIONS">
+ <End Role="MACHINE_VERSIONS" EntitySet="MACHINE_VERSIONS" />
+ <End Role="MACHINES" EntitySet="MACHINES" />
+ </AssociationSet>
+ <AssociationSet Name="FK_MACHINE_EVENTS_MACHINES" Association="Self.FK_MACHINE_EVENTS_MACHINES">
+ <End Role="MACHINES" EntitySet="MACHINES" />
+ <End Role="MACHINES_EVENTS" EntitySet="MACHINES_EVENTS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_MACHINES_ORGANIZATIONS" Association="Self.FK_MACHINES_ORGANIZATIONS">
+ <End Role="ORGANIZATIONS" EntitySet="ORGANIZATIONS" />
+ <End Role="MACHINES" EntitySet="MACHINES" />
+ </AssociationSet>
+ <AssociationSet Name="FK_MACHINES_EVENTS_USERS" Association="Self.FK_MACHINES_EVENTS_USERS">
+ <End Role="USERS" EntitySet="USERS" />
+ <End Role="MACHINES_EVENTS" EntitySet="MACHINES_EVENTS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_MEDIA_COLORS" Association="Self.FK_RML_MEDIA_COLORS">
+ <End Role="MEDIA_COLORS" EntitySet="MEDIA_COLORS" />
+ <End Role="RML" EntitySet="RMLs" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_MEDIA_CONDITIONS" Association="Self.FK_RML_MEDIA_CONDITIONS">
+ <End Role="MEDIA_CONDITIONS" EntitySet="MEDIA_CONDITIONS" />
+ <End Role="RML" EntitySet="RMLs" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_MEDIA_MATERIALS" Association="Self.FK_RML_MEDIA_MATERIALS">
+ <End Role="MEDIA_MATERIALS" EntitySet="MEDIA_MATERIALS" />
+ <End Role="RML" EntitySet="RMLs" />
+ </AssociationSet>
+ <AssociationSet Name="FK_RML_MEDIA_PURPOSES" Association="Self.FK_RML_MEDIA_PURPOSES">
+ <End Role="MEDIA_PURPOSES" EntitySet="MEDIA_PURPOSES" />
+ <End Role="RML" EntitySet="RMLs" />
+ </AssociationSet>
+ <AssociationSet Name="FK_USERS_ORGANIZATIONS" Association="Self.FK_USERS_ORGANIZATIONS">
+ <End Role="ORGANIZATIONS" EntitySet="ORGANIZATIONS" />
+ <End Role="USERS" EntitySet="USERS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_ROLES_PERMISSIONS_PERMISSIONS" Association="Self.FK_ROLES_PERMISSIONS_PERMISSIONS">
+ <End Role="PERMISSIONS" EntitySet="PERMISSIONS" />
+ <End Role="ROLES_PERMISSIONS" EntitySet="ROLES_PERMISSIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_ROLES_PERMISSIONS_ROLES" Association="Self.FK_ROLES_PERMISSIONS_ROLES">
+ <End Role="ROLES" EntitySet="ROLES" />
+ <End Role="ROLES_PERMISSIONS" EntitySet="ROLES_PERMISSIONS" />
+ </AssociationSet>
+ <AssociationSet Name="FK_USERS_ROLES_ROLES" Association="Self.FK_USERS_ROLES_ROLES">
+ <End Role="ROLES" EntitySet="ROLES" />
+ <End Role="USERS_ROLES" EntitySet="USERS_ROLES" />
+ </AssociationSet>
+ <AssociationSet Name="FK_USERS_ROLES_USERS" Association="Self.FK_USERS_ROLES_USERS">
+ <End Role="USERS" EntitySet="USERS" />
+ <End Role="USERS_ROLES" EntitySet="USERS_ROLES" />
+ </AssociationSet>
+ </EntityContainer>
+ </Schema>
+ </edmx:ConceptualModels>
+ <!-- C-S mapping content -->
+ <edmx:Mappings>
+ <Mapping Space="C-S" xmlns="http://schemas.microsoft.com/ado/2009/11/mapping/cs">
+ <EntityContainerMapping StorageEntityContainer="RemoteModelStoreContainer" CdmEntityContainer="RemoteDB">
+ <EntitySetMapping Name="ACTIONS">
+ <EntityTypeMapping TypeName="RemoteModel.ACTION">
+ <MappingFragment StoreEntitySet="ACTIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="CODE" ColumnName="CODE" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="DESCRIPTION" ColumnName="DESCRIPTION" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="ADDRESSES">
+ <EntityTypeMapping TypeName="RemoteModel.ADDRESS">
+ <MappingFragment StoreEntitySet="ADDRESSES">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="ADDRESS1" ColumnName="ADDRESS" />
+ <ScalarProperty Name="LOCALITY" ColumnName="LOCALITY" />
+ <ScalarProperty Name="COUNTRY" ColumnName="COUNTRY" />
+ <ScalarProperty Name="CITY" ColumnName="CITY" />
+ <ScalarProperty Name="STATE" ColumnName="STATE" />
+ <ScalarProperty Name="COUNTRY_CODE" ColumnName="COUNTRY_CODE" />
+ <ScalarProperty Name="POSTAL_CODE" ColumnName="POSTAL_CODE" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="APPLICATION_DISPLAY_PANEL_VERSIONS">
+ <EntityTypeMapping TypeName="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS">
+ <MappingFragment StoreEntitySet="APPLICATION_DISPLAY_PANEL_VERSIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="APPLICATION_FIRMWARE_VERSIONS">
+ <EntityTypeMapping TypeName="RemoteModel.APPLICATION_FIRMWARE_VERSIONS">
+ <MappingFragment StoreEntitySet="APPLICATION_FIRMWARE_VERSIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="APPLICATION_OS_VERSIONS">
+ <EntityTypeMapping TypeName="RemoteModel.APPLICATION_OS_VERSIONS">
+ <MappingFragment StoreEntitySet="APPLICATION_OS_VERSIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="APPLICATION_VERSIONS">
+ <EntityTypeMapping TypeName="RemoteModel.APPLICATION_VERSIONS">
+ <MappingFragment StoreEntitySet="APPLICATION_VERSIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="CONFIGURATIONS">
+ <EntityTypeMapping TypeName="RemoteModel.CONFIGURATION">
+ <MappingFragment StoreEntitySet="CONFIGURATIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="CREATION_DATE" ColumnName="CREATION_DATE" />
+ <ScalarProperty Name="MACHINE_ID" ColumnName="MACHINE_ID" />
+ <ScalarProperty Name="APPLICATION_VERSION_ID" ColumnName="APPLICATION_VERSION_ID" />
+ <ScalarProperty Name="APPLICATION_OS_VERSION_ID" ColumnName="APPLICATION_OS_VERSION_ID" />
+ <ScalarProperty Name="APPLICATION_FIRMWARE_VERSION_ID" ColumnName="APPLICATION_FIRMWARE_VERSION_ID" />
+ <ScalarProperty Name="APPLICATION_DISPLAY_PANEL_VERSION_ID" ColumnName="APPLICATION_DISPLAY_PANEL_VERSION_ID" />
+ <ScalarProperty Name="EMBEDDED_FIRMWARE_VERSION_ID" ColumnName="EMBEDDED_FIRMWARE_VERSION_ID" />
+ <ScalarProperty Name="EMBEDDED_SOFTWARE_VERSION_ID" ColumnName="EMBEDDED_SOFTWARE_VERSION_ID" />
+ <ScalarProperty Name="HARDWARE_VERSION_ID" ColumnName="HARDWARE_VERSION_ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="CONFIGURATIONS_DISPENSERS">
+ <EntityTypeMapping TypeName="RemoteModel.CONFIGURATIONS_DISPENSERS">
+ <MappingFragment StoreEntitySet="CONFIGURATIONS_DISPENSERS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="CONFIGURATION_ID" ColumnName="CONFIGURATION_ID" />
+ <ScalarProperty Name="DISPENSER_ID" ColumnName="DISPENSER_ID" />
+ <ScalarProperty Name="LIQUID_ID" ColumnName="LIQUID_ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="CONTACTS">
+ <EntityTypeMapping TypeName="RemoteModel.CONTACT">
+ <MappingFragment StoreEntitySet="CONTACTS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="FIRST_NAME" ColumnName="FIRST_NAME" />
+ <ScalarProperty Name="LAST_NAME" ColumnName="LAST_NAME" />
+ <ScalarProperty Name="FULL_NAME" ColumnName="FULL_NAME" />
+ <ScalarProperty Name="EMAIL" ColumnName="EMAIL" />
+ <ScalarProperty Name="PHONE_NUMBER" ColumnName="PHONE_NUMBER" />
+ <ScalarProperty Name="FAX" ColumnName="FAX" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="DISPENSERS">
+ <EntityTypeMapping TypeName="RemoteModel.DISPENSER">
+ <MappingFragment StoreEntitySet="DISPENSERS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="EMBEDDED_FIRMWARE_VERSIONS">
+ <EntityTypeMapping TypeName="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS">
+ <MappingFragment StoreEntitySet="EMBEDDED_FIRMWARE_VERSIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="EMBEDDED_SOFTWARE_VERSIONS">
+ <EntityTypeMapping TypeName="RemoteModel.EMBEDDED_SOFTWARE_VERSIONS">
+ <MappingFragment StoreEntitySet="EMBEDDED_SOFTWARE_VERSIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="EVENTS">
+ <EntityTypeMapping TypeName="RemoteModel.EVENT">
+ <MappingFragment StoreEntitySet="EVENTS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="CODE" ColumnName="CODE" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="DESCRIPTION" ColumnName="DESCRIPTION" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="EVENTS_ACTIONS">
+ <EntityTypeMapping TypeName="RemoteModel.EVENTS_ACTIONS">
+ <MappingFragment StoreEntitySet="EVENTS_ACTIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="EVENT_ID" ColumnName="EVENT_ID" />
+ <ScalarProperty Name="ACTION_ID" ColumnName="ACTION_ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="FIBER_SHAPES">
+ <EntityTypeMapping TypeName="RemoteModel.FIBER_SHAPES">
+ <MappingFragment StoreEntitySet="FIBER_SHAPES">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="CODE" ColumnName="CODE" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="FIBER_SYNTHESIS">
+ <EntityTypeMapping TypeName="RemoteModel.FIBER_SYNTHESIS">
+ <MappingFragment StoreEntitySet="FIBER_SYNTHESIS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="CODE" ColumnName="CODE" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="HARDWARE_VERSIONS">
+ <EntityTypeMapping TypeName="RemoteModel.HARDWARE_VERSIONS">
+ <MappingFragment StoreEntitySet="HARDWARE_VERSIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="LINEAR_MASS_DENSITY_UNITS">
+ <EntityTypeMapping TypeName="RemoteModel.LINEAR_MASS_DENSITY_UNITS">
+ <MappingFragment StoreEntitySet="LINEAR_MASS_DENSITY_UNITS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="CODE" ColumnName="CODE" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="LIQUID_TYPES">
+ <EntityTypeMapping TypeName="RemoteModel.LIQUID_TYPES">
+ <MappingFragment StoreEntitySet="LIQUID_TYPES">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="DESCRIPTION" ColumnName="DESCRIPTION" />
+ <ScalarProperty Name="CODE" ColumnName="CODE" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="LIQUIDS">
+ <EntityTypeMapping TypeName="RemoteModel.LIQUID">
+ <MappingFragment StoreEntitySet="LIQUIDS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="VERSION" ColumnName="VERSION" />
+ <ScalarProperty Name="LIQUID_TYPE_ID" ColumnName="LIQUID_TYPE_ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="LIQUIDS_RML">
+ <EntityTypeMapping TypeName="RemoteModel.LIQUIDS_RML">
+ <MappingFragment StoreEntitySet="LIQUIDS_RML">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="LIQUID_ID" ColumnName="LIQUID_ID" />
+ <ScalarProperty Name="RML_ID" ColumnName="RML_ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="MACHINE_VERSIONS">
+ <EntityTypeMapping TypeName="RemoteModel.MACHINE_VERSIONS">
+ <MappingFragment StoreEntitySet="MACHINE_VERSIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="VERSION" ColumnName="VERSION" />
+ <ScalarProperty Name="DEFAULT_CONFIGURATION_ID" ColumnName="DEFAULT_CONFIGURATION_ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="MACHINES">
+ <EntityTypeMapping TypeName="RemoteModel.MACHINE">
+ <MappingFragment StoreEntitySet="MACHINES">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="SERIAL_NUMBER" ColumnName="SERIAL_NUMBER" />
+ <ScalarProperty Name="PRODUCTION_DATE" ColumnName="PRODUCTION_DATE" />
+ <ScalarProperty Name="ORGANIZATION_ID" ColumnName="ORGANIZATION_ID" />
+ <ScalarProperty Name="MACHINE_VERSION_ID" ColumnName="MACHINE_VERSION_ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="MACHINES_EVENTS">
+ <EntityTypeMapping TypeName="RemoteModel.MACHINES_EVENTS">
+ <MappingFragment StoreEntitySet="MACHINES_EVENTS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="MACHINE_ID" ColumnName="MACHINE_ID" />
+ <ScalarProperty Name="EVENT_ID" ColumnName="EVENT_ID" />
+ <ScalarProperty Name="USER_ID" ColumnName="USER_ID" />
+ <ScalarProperty Name="DATE_TIME" ColumnName="DATE_TIME" />
+ <ScalarProperty Name="DESCRIPTION" ColumnName="DESCRIPTION" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="MEDIA_COLORS">
+ <EntityTypeMapping TypeName="RemoteModel.MEDIA_COLORS">
+ <MappingFragment StoreEntitySet="MEDIA_COLORS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="COLOR" ColumnName="COLOR" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="MEDIA_CONDITIONS">
+ <EntityTypeMapping TypeName="RemoteModel.MEDIA_CONDITIONS">
+ <MappingFragment StoreEntitySet="MEDIA_CONDITIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="CODE" ColumnName="CODE" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="MEDIA_MATERIALS">
+ <EntityTypeMapping TypeName="RemoteModel.MEDIA_MATERIALS">
+ <MappingFragment StoreEntitySet="MEDIA_MATERIALS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="CODE" ColumnName="CODE" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="MEDIA_PURPOSES">
+ <EntityTypeMapping TypeName="RemoteModel.MEDIA_PURPOSES">
+ <MappingFragment StoreEntitySet="MEDIA_PURPOSES">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="CODE" ColumnName="CODE" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="ORGANIZATIONS">
+ <EntityTypeMapping TypeName="RemoteModel.ORGANIZATION">
+ <MappingFragment StoreEntitySet="ORGANIZATIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="CONTACT_ID" ColumnName="CONTACT_ID" />
+ <ScalarProperty Name="ADDRESS_ID" ColumnName="ADDRESS_ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="PERMISSIONS">
+ <EntityTypeMapping TypeName="RemoteModel.PERMISSION">
+ <MappingFragment StoreEntitySet="PERMISSIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="DESCRIPTION" ColumnName="DESCRIPTION" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="RMLs">
+ <EntityTypeMapping TypeName="RemoteModel.RML">
+ <MappingFragment StoreEntitySet="RML">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="MANUFACTURER" ColumnName="MANUFACTURER" />
+ <ScalarProperty Name="MATERIAL_ID" ColumnName="MATERIAL_ID" />
+ <ScalarProperty Name="COLOR_ID" ColumnName="COLOR_ID" />
+ <ScalarProperty Name="PURPOSE_ID" ColumnName="PURPOSE_ID" />
+ <ScalarProperty Name="CONDITION_ID" ColumnName="CONDITION_ID" />
+ <ScalarProperty Name="LINEAR_MASS_DENSITY_UNIT_ID" ColumnName="LINEAR_MASS_DENSITY_UNIT_ID" />
+ <ScalarProperty Name="FIBER_SHAPE_ID" ColumnName="FIBER_SHAPE_ID" />
+ <ScalarProperty Name="FIBER_SYNTHESIS_ID" ColumnName="FIBER_SYNTHESIS_ID" />
+ <ScalarProperty Name="FIBER_SIZE" ColumnName="FIBER_SIZE" />
+ <ScalarProperty Name="NUMBER_OF_FIBERS" ColumnName="NUMBER_OF_FIBERS" />
+ <ScalarProperty Name="PLIES_PER_FIBER" ColumnName="PLIES_PER_FIBER" />
+ <ScalarProperty Name="PLIES_PER_THREAD" ColumnName="PLIES_PER_THREAD" />
+ <ScalarProperty Name="TWISTED" ColumnName="TWISTED" />
+ <ScalarProperty Name="AIR_ENTANGLEMENT" ColumnName="AIR_ENTANGLEMENT" />
+ <ScalarProperty Name="LUBRICANT" ColumnName="LUBRICANT" />
+ <ScalarProperty Name="TENSILE_STRENGTH" ColumnName="TENSILE_STRENGTH" />
+ <ScalarProperty Name="ELONGATION_AT_BREAK_PERCENTAGE" ColumnName="ELONGATION_AT_BREAK_PERCENTAGE" />
+ <ScalarProperty Name="ESTIMATED_THREAD_DIAMETER" ColumnName="ESTIMATED_THREAD_DIAMETER" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="ROLES">
+ <EntityTypeMapping TypeName="RemoteModel.ROLE">
+ <MappingFragment StoreEntitySet="ROLES">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="NAME" ColumnName="NAME" />
+ <ScalarProperty Name="DESCRIPTION" ColumnName="DESCRIPTION" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="ROLES_PERMISSIONS">
+ <EntityTypeMapping TypeName="RemoteModel.ROLES_PERMISSIONS">
+ <MappingFragment StoreEntitySet="ROLES_PERMISSIONS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="ROLE_ID" ColumnName="ROLE_ID" />
+ <ScalarProperty Name="PERMISSION_ID" ColumnName="PERMISSION_ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="USERS">
+ <EntityTypeMapping TypeName="RemoteModel.USER">
+ <MappingFragment StoreEntitySet="USERS">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="EMAIL" ColumnName="EMAIL" />
+ <ScalarProperty Name="PASSWORD" ColumnName="PASSWORD" />
+ <ScalarProperty Name="ORGANIZATION_ID" ColumnName="ORGANIZATION_ID" />
+ <ScalarProperty Name="CONTACT_ID" ColumnName="CONTACT_ID" />
+ <ScalarProperty Name="ADDRESS_ID" ColumnName="ADDRESS_ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ <EntitySetMapping Name="USERS_ROLES">
+ <EntityTypeMapping TypeName="RemoteModel.USERS_ROLES">
+ <MappingFragment StoreEntitySet="USERS_ROLES">
+ <ScalarProperty Name="ID" ColumnName="ID" />
+ <ScalarProperty Name="GUID" ColumnName="GUID" />
+ <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" />
+ <ScalarProperty Name="DELETED" ColumnName="DELETED" />
+ <ScalarProperty Name="USER_ID" ColumnName="USER_ID" />
+ <ScalarProperty Name="ROLE_ID" ColumnName="ROLE_ID" />
+ </MappingFragment>
+ </EntityTypeMapping>
+ </EntitySetMapping>
+ </EntityContainerMapping>
+ </Mapping>
+ </edmx:Mappings>
+ </edmx:Runtime>
+ <!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -->
+ <Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx">
+ <Connection>
+ <DesignerInfoPropertySet>
+ <DesignerProperty Name="MetadataArtifactProcessing" Value="EmbedInOutputAssembly" />
+ </DesignerInfoPropertySet>
+ </Connection>
+ <Options>
+ <DesignerInfoPropertySet>
+ <DesignerProperty Name="ValidateOnBuild" Value="true" />
+ <DesignerProperty Name="EnablePluralization" Value="true" />
+ <DesignerProperty Name="IncludeForeignKeysInModel" Value="true" />
+ <DesignerProperty Name="UseLegacyProvider" Value="false" />
+ <DesignerProperty Name="CodeGenerationStrategy" Value="None" />
+ </DesignerInfoPropertySet>
+ </Options>
+ <!-- Diagram content (shape and connector positions) -->
+ <Diagrams></Diagrams>
+ </Designer>
+</edmx:Edmx> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
new file mode 100644
index 000000000..7a0050ae1
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>
+<edmx:Edmx Version="3.0" xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx">
+ <!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -->
+ <edmx:Designer xmlns="http://schemas.microsoft.com/ado/2009/11/edmx">
+ <!-- Diagram content (shape and connector positions) -->
+ <edmx:Diagrams>
+ <Diagram DiagramId="f9ae01d708754bbd997add25a4bacc79" Name="Diagram1">
+ <EntityTypeShape EntityType="RemoteModel.ACTION" Width="1.5" PointX="14.25" PointY="38.25" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="0.75" PointY="7.875" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="8.25" PointY="12.375" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="8.25" PointY="15" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="8.25" PointY="17.75" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_VERSIONS" Width="1.5" PointX="8.25" PointY="20.5" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="10.5" PointY="6.875" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.CONFIGURATIONS_DISPENSERS" Width="1.5" PointX="15.75" PointY="8.125" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="0.75" PointY="2.875" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.DISPENSER" Width="1.5" PointX="13.5" PointY="0.75" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="8.25" PointY="23.25" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.EMBEDDED_SOFTWARE_VERSIONS" Width="1.5" PointX="8.25" PointY="26" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT" Width="1.5" PointX="11.25" PointY="3.25" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.EVENTS_ACTIONS" Width="1.5" PointX="16.5" PointY="3.25" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="15.75" PointY="15" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHESIS" Width="1.5" PointX="15.75" PointY="19.375" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="8.25" PointY="28.75" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="15.75" PointY="22.375" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="11.25" PointY="15.625" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID" Width="1.5" PointX="13.5" PointY="15.5" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUIDS_RML" Width="1.5" PointX="20.25" PointY="14.875" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="12.75" PointY="12" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="5.25" PointY="7.875" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="13.5" PointY="7.875" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_COLORS" Width="1.5" PointX="15.75" PointY="25.5" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="15.75" PointY="28.5" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="15.75" PointY="31.625" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="15.75" PointY="34.75" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="3" PointY="8" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="11.25" PointY="23.375" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="18" PointY="12.75" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="11.25" PointY="19.25" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="13.5" PointY="19.25" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="8.25" PointY="7.75" IsExpanded="true" />
+ <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="13.5" PointY="4.25" IsExpanded="true" />
+ <AssociationConnector Association="RemoteModel.FK_EVENTS_ACTIONS_ACTIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_ORGANIZATIONS_ADDRESSES" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_USERS_ADDRESSES" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_APPLICATION_DISPLAY_PANEL_VERSIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_APPLICATION_FIRMWARE_VERSIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_APPLICATION_OS_VERSIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_APPLICATION_VERSIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_DISPENSERS_CONFIGURATIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_EMBEDDED_FIRMWARE_VERSIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_EMBEDDED_SOFTWARE_VERSIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_HARDWARE_VERSIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_MACHINES" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_MACHINE_VERSIONS_CONFIGURATIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_DISPENSERS_DISPENSERS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_CONFIGURATIONS_DISPENSERS_LIQUIDS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_ORGANIZATIONS_CONTACTS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_USERS_CONTACTS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_EVENTS_ACTIONS_EVENTS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_MACHINES_EVENTS_EVENTS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_RML_FIBER_SHAPES" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_RML_FIBER_SYNTHESIS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_RML_LINEAR_MASS_DENSITY_UNITS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_LIQUIDS_LIQUID_TYPES" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_LIQUID_RML_LIQUIDS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_LIQUID_RML_RML" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_MACHINES_MACHINE_VERSIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_MACHINE_EVENTS_MACHINES" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_MACHINES_ORGANIZATIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_MACHINES_EVENTS_USERS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_RML_MEDIA_COLORS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_RML_MEDIA_CONDITIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_RML_MEDIA_MATERIALS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_RML_MEDIA_PURPOSES" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_USERS_ORGANIZATIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_ROLES_PERMISSIONS_PERMISSIONS" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_ROLES_PERMISSIONS_ROLES" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_USERS_ROLES_ROLES" ManuallyRouted="false" />
+ <AssociationConnector Association="RemoteModel.FK_USERS_ROLES_USERS" ManuallyRouted="false" />
+ </Diagram>
+ </edmx:Diagrams>
+ </edmx:Designer>
+</edmx:Edmx> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.tt b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.tt
new file mode 100644
index 000000000..97271473f
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.tt
@@ -0,0 +1,733 @@
+<#@ template language="C#" debug="false" hostspecific="true"#>
+<#@ include file="EF6.Utility.CS.ttinclude"#><#@
+ output extension=".cs"#><#
+
+const string inputFile = @"RemoteADO.edmx";
+var textTransform = DynamicTextTransformation.Create(this);
+var code = new CodeGenerationTools(this);
+var ef = new MetadataTools(this);
+var typeMapper = new TypeMapper(code, ef, textTransform.Errors);
+var fileManager = EntityFrameworkTemplateFileManager.Create(this);
+var itemCollection = new EdmMetadataLoader(textTransform.Host, textTransform.Errors).CreateEdmItemCollection(inputFile);
+var codeStringGenerator = new CodeStringGenerator(code, typeMapper, ef);
+
+if (!typeMapper.VerifyCaseInsensitiveTypeUniqueness(typeMapper.GetAllGlobalItems(itemCollection), inputFile))
+{
+ return string.Empty;
+}
+
+WriteHeader(codeStringGenerator, fileManager);
+
+foreach (var entity in typeMapper.GetItemsToGenerate<EntityType>(itemCollection))
+{
+ fileManager.StartNewFile(entity.Name + ".cs");
+ BeginNamespace(code);
+#>
+<#=codeStringGenerator.UsingDirectives(inHeader: false)#>
+<#=codeStringGenerator.EntityClassOpening(entity)#>
+{
+<#
+ var propertiesWithDefaultValues = typeMapper.GetPropertiesWithDefaultValues(entity);
+ var collectionNavigationProperties = typeMapper.GetCollectionNavigationProperties(entity);
+ var complexProperties = typeMapper.GetComplexProperties(entity);
+
+ if (propertiesWithDefaultValues.Any() || collectionNavigationProperties.Any() || complexProperties.Any())
+ {
+#>
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public <#=code.Escape(entity)#>()
+ {
+<#
+ foreach (var edmProperty in propertiesWithDefaultValues)
+ {
+#>
+ this.<#=code.Escape(edmProperty)#> = <#=typeMapper.CreateLiteral(edmProperty.DefaultValue)#>;
+<#
+ }
+
+ foreach (var navigationProperty in collectionNavigationProperties)
+ {
+#>
+ this.<#=code.Escape(navigationProperty)#> = new HashSet<<#=typeMapper.GetTypeName(navigationProperty.ToEndMember.GetEntityType())#>>();
+<#
+ }
+
+ foreach (var complexProperty in complexProperties)
+ {
+#>
+ this.<#=code.Escape(complexProperty)#> = new <#=typeMapper.GetTypeName(complexProperty.TypeUsage)#>();
+<#
+ }
+#>
+ }
+
+<#
+ }
+
+ var simpleProperties = typeMapper.GetSimpleProperties(entity);
+ if (simpleProperties.Any())
+ {
+ foreach (var edmProperty in simpleProperties)
+ {
+#>
+ <#=codeStringGenerator.Property(edmProperty)#>
+<#
+ }
+ }
+
+ if (complexProperties.Any())
+ {
+#>
+
+<#
+ foreach(var complexProperty in complexProperties)
+ {
+#>
+ <#=codeStringGenerator.Property(complexProperty)#>
+<#
+ }
+ }
+
+ var navigationProperties = typeMapper.GetNavigationProperties(entity);
+ if (navigationProperties.Any())
+ {
+#>
+
+<#
+ foreach (var navigationProperty in navigationProperties)
+ {
+ if (navigationProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many)
+ {
+#>
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+<#
+ }
+#>
+ <#=codeStringGenerator.NavigationProperty(navigationProperty)#>
+<#
+ }
+ }
+#>
+}
+<#
+ EndNamespace(code);
+}
+
+foreach (var complex in typeMapper.GetItemsToGenerate<ComplexType>(itemCollection))
+{
+ fileManager.StartNewFile(complex.Name + ".cs");
+ BeginNamespace(code);
+#>
+<#=codeStringGenerator.UsingDirectives(inHeader: false, includeCollections: false)#>
+<#=Accessibility.ForType(complex)#> partial class <#=code.Escape(complex)#>
+{
+<#
+ var complexProperties = typeMapper.GetComplexProperties(complex);
+ var propertiesWithDefaultValues = typeMapper.GetPropertiesWithDefaultValues(complex);
+
+ if (propertiesWithDefaultValues.Any() || complexProperties.Any())
+ {
+#>
+ public <#=code.Escape(complex)#>()
+ {
+<#
+ foreach (var edmProperty in propertiesWithDefaultValues)
+ {
+#>
+ this.<#=code.Escape(edmProperty)#> = <#=typeMapper.CreateLiteral(edmProperty.DefaultValue)#>;
+<#
+ }
+
+ foreach (var complexProperty in complexProperties)
+ {
+#>
+ this.<#=code.Escape(complexProperty)#> = new <#=typeMapper.GetTypeName(complexProperty.TypeUsage)#>();
+<#
+ }
+#>
+ }
+
+<#
+ }
+
+ var simpleProperties = typeMapper.GetSimpleProperties(complex);
+ if (simpleProperties.Any())
+ {
+ foreach(var edmProperty in simpleProperties)
+ {
+#>
+ <#=codeStringGenerator.Property(edmProperty)#>
+<#
+ }
+ }
+
+ if (complexProperties.Any())
+ {
+#>
+
+<#
+ foreach(var edmProperty in complexProperties)
+ {
+#>
+ <#=codeStringGenerator.Property(edmProperty)#>
+<#
+ }
+ }
+#>
+}
+<#
+ EndNamespace(code);
+}
+
+foreach (var enumType in typeMapper.GetEnumItemsToGenerate(itemCollection))
+{
+ fileManager.StartNewFile(enumType.Name + ".cs");
+ BeginNamespace(code);
+#>
+<#=codeStringGenerator.UsingDirectives(inHeader: false, includeCollections: false)#>
+<#
+ if (typeMapper.EnumIsFlags(enumType))
+ {
+#>
+[Flags]
+<#
+ }
+#>
+<#=codeStringGenerator.EnumOpening(enumType)#>
+{
+<#
+ var foundOne = false;
+
+ foreach (MetadataItem member in typeMapper.GetEnumMembers(enumType))
+ {
+ foundOne = true;
+#>
+ <#=code.Escape(typeMapper.GetEnumMemberName(member))#> = <#=typeMapper.GetEnumMemberValue(member)#>,
+<#
+ }
+
+ if (foundOne)
+ {
+ this.GenerationEnvironment.Remove(this.GenerationEnvironment.Length - 3, 1);
+ }
+#>
+}
+<#
+ EndNamespace(code);
+}
+
+fileManager.Process();
+
+#>
+<#+
+
+public void WriteHeader(CodeStringGenerator codeStringGenerator, EntityFrameworkTemplateFileManager fileManager)
+{
+ fileManager.StartHeader();
+#>
+//------------------------------------------------------------------------------
+// <auto-generated>
+// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine1")#>
+//
+// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine2")#>
+// <#=CodeGenerationTools.GetResourceString("Template_GeneratedCodeCommentLine3")#>
+// </auto-generated>
+//------------------------------------------------------------------------------
+<#=codeStringGenerator.UsingDirectives(inHeader: true)#>
+<#+
+ fileManager.EndBlock();
+}
+
+public void BeginNamespace(CodeGenerationTools code)
+{
+ var codeNamespace = code.VsNamespaceSuggestion();
+ if (!String.IsNullOrEmpty(codeNamespace))
+ {
+#>
+namespace <#=code.EscapeNamespace(codeNamespace)#>
+{
+<#+
+ PushIndent(" ");
+ }
+}
+
+public void EndNamespace(CodeGenerationTools code)
+{
+ if (!String.IsNullOrEmpty(code.VsNamespaceSuggestion()))
+ {
+ PopIndent();
+#>
+}
+<#+
+ }
+}
+
+public const string TemplateId = "CSharp_DbContext_Types_EF6";
+
+public class CodeStringGenerator
+{
+ private readonly CodeGenerationTools _code;
+ private readonly TypeMapper _typeMapper;
+ private readonly MetadataTools _ef;
+
+ public CodeStringGenerator(CodeGenerationTools code, TypeMapper typeMapper, MetadataTools ef)
+ {
+ ArgumentNotNull(code, "code");
+ ArgumentNotNull(typeMapper, "typeMapper");
+ ArgumentNotNull(ef, "ef");
+
+ _code = code;
+ _typeMapper = typeMapper;
+ _ef = ef;
+ }
+
+ public string Property(EdmProperty edmProperty)
+ {
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} {1} {2} {{ {3}get; {4}set; }}",
+ Accessibility.ForProperty(edmProperty),
+ _typeMapper.GetTypeName(edmProperty.TypeUsage),
+ _code.Escape(edmProperty),
+ _code.SpaceAfter(Accessibility.ForGetter(edmProperty)),
+ _code.SpaceAfter(Accessibility.ForSetter(edmProperty)));
+ }
+
+ public string NavigationProperty(NavigationProperty navProp)
+ {
+ var endType = _typeMapper.GetTypeName(navProp.ToEndMember.GetEntityType());
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} {1} {2} {{ {3}get; {4}set; }}",
+ AccessibilityAndVirtual(Accessibility.ForNavigationProperty(navProp)),
+ navProp.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many ? ("ICollection<" + endType + ">") : endType,
+ _code.Escape(navProp),
+ _code.SpaceAfter(Accessibility.ForGetter(navProp)),
+ _code.SpaceAfter(Accessibility.ForSetter(navProp)));
+ }
+
+ public string AccessibilityAndVirtual(string accessibility)
+ {
+ return accessibility + (accessibility != "private" ? " virtual" : "");
+ }
+
+ public string EntityClassOpening(EntityType entity)
+ {
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} {1}partial class {2}{3}",
+ Accessibility.ForType(entity),
+ _code.SpaceAfter(_code.AbstractOption(entity)),
+ _code.Escape(entity),
+ _code.StringBefore(" : ", _typeMapper.GetTypeName(entity.BaseType)));
+ }
+
+ public string EnumOpening(SimpleType enumType)
+ {
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} enum {1} : {2}",
+ Accessibility.ForType(enumType),
+ _code.Escape(enumType),
+ _code.Escape(_typeMapper.UnderlyingClrType(enumType)));
+ }
+
+ public void WriteFunctionParameters(EdmFunction edmFunction, Action<string, string, string, string> writeParameter)
+ {
+ var parameters = FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef);
+ foreach (var parameter in parameters.Where(p => p.NeedsLocalVariable))
+ {
+ var isNotNull = parameter.IsNullableOfT ? parameter.FunctionParameterName + ".HasValue" : parameter.FunctionParameterName + " != null";
+ var notNullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", " + parameter.FunctionParameterName + ")";
+ var nullInit = "new ObjectParameter(\"" + parameter.EsqlParameterName + "\", typeof(" + TypeMapper.FixNamespaces(parameter.RawClrTypeName) + "))";
+ writeParameter(parameter.LocalVariableName, isNotNull, notNullInit, nullInit);
+ }
+ }
+
+ public string ComposableFunctionMethod(EdmFunction edmFunction, string modelNamespace)
+ {
+ var parameters = _typeMapper.GetParameters(edmFunction);
+
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} IQueryable<{1}> {2}({3})",
+ AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)),
+ _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace),
+ _code.Escape(edmFunction),
+ string.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray()));
+ }
+
+ public string ComposableCreateQuery(EdmFunction edmFunction, string modelNamespace)
+ {
+ var parameters = _typeMapper.GetParameters(edmFunction);
+
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "return ((IObjectContextAdapter)this).ObjectContext.CreateQuery<{0}>(\"[{1}].[{2}]({3})\"{4});",
+ _typeMapper.GetTypeName(_typeMapper.GetReturnType(edmFunction), modelNamespace),
+ edmFunction.NamespaceName,
+ edmFunction.Name,
+ string.Join(", ", parameters.Select(p => "@" + p.EsqlParameterName).ToArray()),
+ _code.StringBefore(", ", string.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray())));
+ }
+
+ public string FunctionMethod(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
+ {
+ var parameters = _typeMapper.GetParameters(edmFunction);
+ var returnType = _typeMapper.GetReturnType(edmFunction);
+
+ var paramList = String.Join(", ", parameters.Select(p => TypeMapper.FixNamespaces(p.FunctionParameterType) + " " + p.FunctionParameterName).ToArray());
+ if (includeMergeOption)
+ {
+ paramList = _code.StringAfter(paramList, ", ") + "MergeOption mergeOption";
+ }
+
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} {1} {2}({3})",
+ AccessibilityAndVirtual(Accessibility.ForMethod(edmFunction)),
+ returnType == null ? "int" : "ObjectResult<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">",
+ _code.Escape(edmFunction),
+ paramList);
+ }
+
+ public string ExecuteFunction(EdmFunction edmFunction, string modelNamespace, bool includeMergeOption)
+ {
+ var parameters = _typeMapper.GetParameters(edmFunction);
+ var returnType = _typeMapper.GetReturnType(edmFunction);
+
+ var callParams = _code.StringBefore(", ", String.Join(", ", parameters.Select(p => p.ExecuteParameterName).ToArray()));
+ if (includeMergeOption)
+ {
+ callParams = ", mergeOption" + callParams;
+ }
+
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction{0}(\"{1}\"{2});",
+ returnType == null ? "" : "<" + _typeMapper.GetTypeName(returnType, modelNamespace) + ">",
+ edmFunction.Name,
+ callParams);
+ }
+
+ public string DbSet(EntitySet entitySet)
+ {
+ return string.Format(
+ CultureInfo.InvariantCulture,
+ "{0} virtual DbSet<{1}> {2} {{ get; set; }}",
+ Accessibility.ForReadOnlyProperty(entitySet),
+ _typeMapper.GetTypeName(entitySet.ElementType),
+ _code.Escape(entitySet));
+ }
+
+ public string UsingDirectives(bool inHeader, bool includeCollections = true)
+ {
+ return inHeader == string.IsNullOrEmpty(_code.VsNamespaceSuggestion())
+ ? string.Format(
+ CultureInfo.InvariantCulture,
+ "{0}using System;{1}" +
+ "{2}",
+ inHeader ? Environment.NewLine : "",
+ includeCollections ? (Environment.NewLine + "using System.Collections.Generic;") : "",
+ inHeader ? "" : Environment.NewLine)
+ : "";
+ }
+}
+
+public class TypeMapper
+{
+ private const string ExternalTypeNameAttributeName = @"http://schemas.microsoft.com/ado/2006/04/codegeneration:ExternalTypeName";
+
+ private readonly System.Collections.IList _errors;
+ private readonly CodeGenerationTools _code;
+ private readonly MetadataTools _ef;
+
+ public TypeMapper(CodeGenerationTools code, MetadataTools ef, System.Collections.IList errors)
+ {
+ ArgumentNotNull(code, "code");
+ ArgumentNotNull(ef, "ef");
+ ArgumentNotNull(errors, "errors");
+
+ _code = code;
+ _ef = ef;
+ _errors = errors;
+ }
+
+ public static string FixNamespaces(string typeName)
+ {
+ return typeName.Replace("System.Data.Spatial.", "System.Data.Entity.Spatial.");
+ }
+
+ public string GetTypeName(TypeUsage typeUsage)
+ {
+ return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace: null);
+ }
+
+ public string GetTypeName(EdmType edmType)
+ {
+ return GetTypeName(edmType, isNullable: null, modelNamespace: null);
+ }
+
+ public string GetTypeName(TypeUsage typeUsage, string modelNamespace)
+ {
+ return typeUsage == null ? null : GetTypeName(typeUsage.EdmType, _ef.IsNullable(typeUsage), modelNamespace);
+ }
+
+ public string GetTypeName(EdmType edmType, string modelNamespace)
+ {
+ return GetTypeName(edmType, isNullable: null, modelNamespace: modelNamespace);
+ }
+
+ public string GetTypeName(EdmType edmType, bool? isNullable, string modelNamespace)
+ {
+ if (edmType == null)
+ {
+ return null;
+ }
+
+ var collectionType = edmType as CollectionType;
+ if (collectionType != null)
+ {
+ return String.Format(CultureInfo.InvariantCulture, "ICollection<{0}>", GetTypeName(collectionType.TypeUsage, modelNamespace));
+ }
+
+ var typeName = _code.Escape(edmType.MetadataProperties
+ .Where(p => p.Name == ExternalTypeNameAttributeName)
+ .Select(p => (string)p.Value)
+ .FirstOrDefault())
+ ?? (modelNamespace != null && edmType.NamespaceName != modelNamespace ?
+ _code.CreateFullName(_code.EscapeNamespace(edmType.NamespaceName), _code.Escape(edmType)) :
+ _code.Escape(edmType));
+
+ if (edmType is StructuralType)
+ {
+ return typeName;
+ }
+
+ if (edmType is SimpleType)
+ {
+ var clrType = UnderlyingClrType(edmType);
+ if (!IsEnumType(edmType))
+ {
+ typeName = _code.Escape(clrType);
+ }
+
+ typeName = FixNamespaces(typeName);
+
+ return clrType.IsValueType && isNullable == true ?
+ String.Format(CultureInfo.InvariantCulture, "Nullable<{0}>", typeName) :
+ typeName;
+ }
+
+ throw new ArgumentException("edmType");
+ }
+
+ public Type UnderlyingClrType(EdmType edmType)
+ {
+ ArgumentNotNull(edmType, "edmType");
+
+ var primitiveType = edmType as PrimitiveType;
+ if (primitiveType != null)
+ {
+ return primitiveType.ClrEquivalentType;
+ }
+
+ if (IsEnumType(edmType))
+ {
+ return GetEnumUnderlyingType(edmType).ClrEquivalentType;
+ }
+
+ return typeof(object);
+ }
+
+ public object GetEnumMemberValue(MetadataItem enumMember)
+ {
+ ArgumentNotNull(enumMember, "enumMember");
+
+ var valueProperty = enumMember.GetType().GetProperty("Value");
+ return valueProperty == null ? null : valueProperty.GetValue(enumMember, null);
+ }
+
+ public string GetEnumMemberName(MetadataItem enumMember)
+ {
+ ArgumentNotNull(enumMember, "enumMember");
+
+ var nameProperty = enumMember.GetType().GetProperty("Name");
+ return nameProperty == null ? null : (string)nameProperty.GetValue(enumMember, null);
+ }
+
+ public System.Collections.IEnumerable GetEnumMembers(EdmType enumType)
+ {
+ ArgumentNotNull(enumType, "enumType");
+
+ var membersProperty = enumType.GetType().GetProperty("Members");
+ return membersProperty != null
+ ? (System.Collections.IEnumerable)membersProperty.GetValue(enumType, null)
+ : Enumerable.Empty<MetadataItem>();
+ }
+
+ public bool EnumIsFlags(EdmType enumType)
+ {
+ ArgumentNotNull(enumType, "enumType");
+
+ var isFlagsProperty = enumType.GetType().GetProperty("IsFlags");
+ return isFlagsProperty != null && (bool)isFlagsProperty.GetValue(enumType, null);
+ }
+
+ public bool IsEnumType(GlobalItem edmType)
+ {
+ ArgumentNotNull(edmType, "edmType");
+
+ return edmType.GetType().Name == "EnumType";
+ }
+
+ public PrimitiveType GetEnumUnderlyingType(EdmType enumType)
+ {
+ ArgumentNotNull(enumType, "enumType");
+
+ return (PrimitiveType)enumType.GetType().GetProperty("UnderlyingType").GetValue(enumType, null);
+ }
+
+ public string CreateLiteral(object value)
+ {
+ if (value == null || value.GetType() != typeof(TimeSpan))
+ {
+ return _code.CreateLiteral(value);
+ }
+
+ return string.Format(CultureInfo.InvariantCulture, "new TimeSpan({0})", ((TimeSpan)value).Ticks);
+ }
+
+ public bool VerifyCaseInsensitiveTypeUniqueness(IEnumerable<string> types, string sourceFile)
+ {
+ ArgumentNotNull(types, "types");
+ ArgumentNotNull(sourceFile, "sourceFile");
+
+ var hash = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase);
+ if (types.Any(item => !hash.Add(item)))
+ {
+ _errors.Add(
+ new CompilerError(sourceFile, -1, -1, "6023",
+ String.Format(CultureInfo.CurrentCulture, CodeGenerationTools.GetResourceString("Template_CaseInsensitiveTypeConflict"))));
+ return false;
+ }
+ return true;
+ }
+
+ public IEnumerable<SimpleType> GetEnumItemsToGenerate(IEnumerable<GlobalItem> itemCollection)
+ {
+ return GetItemsToGenerate<SimpleType>(itemCollection)
+ .Where(e => IsEnumType(e));
+ }
+
+ public IEnumerable<T> GetItemsToGenerate<T>(IEnumerable<GlobalItem> itemCollection) where T: EdmType
+ {
+ return itemCollection
+ .OfType<T>()
+ .Where(i => !i.MetadataProperties.Any(p => p.Name == ExternalTypeNameAttributeName))
+ .OrderBy(i => i.Name);
+ }
+
+ public IEnumerable<string> GetAllGlobalItems(IEnumerable<GlobalItem> itemCollection)
+ {
+ return itemCollection
+ .Where(i => i is EntityType || i is ComplexType || i is EntityContainer || IsEnumType(i))
+ .Select(g => GetGlobalItemName(g));
+ }
+
+ public string GetGlobalItemName(GlobalItem item)
+ {
+ if (item is EdmType)
+ {
+ return ((EdmType)item).Name;
+ }
+ else
+ {
+ return ((EntityContainer)item).Name;
+ }
+ }
+
+ public IEnumerable<EdmProperty> GetSimpleProperties(EntityType type)
+ {
+ return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type);
+ }
+
+ public IEnumerable<EdmProperty> GetSimpleProperties(ComplexType type)
+ {
+ return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type);
+ }
+
+ public IEnumerable<EdmProperty> GetComplexProperties(EntityType type)
+ {
+ return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type);
+ }
+
+ public IEnumerable<EdmProperty> GetComplexProperties(ComplexType type)
+ {
+ return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type);
+ }
+
+ public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(EntityType type)
+ {
+ return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null);
+ }
+
+ public IEnumerable<EdmProperty> GetPropertiesWithDefaultValues(ComplexType type)
+ {
+ return type.Properties.Where(p => p.TypeUsage.EdmType is SimpleType && p.DeclaringType == type && p.DefaultValue != null);
+ }
+
+ public IEnumerable<NavigationProperty> GetNavigationProperties(EntityType type)
+ {
+ return type.NavigationProperties.Where(np => np.DeclaringType == type);
+ }
+
+ public IEnumerable<NavigationProperty> GetCollectionNavigationProperties(EntityType type)
+ {
+ return type.NavigationProperties.Where(np => np.DeclaringType == type && np.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many);
+ }
+
+ public FunctionParameter GetReturnParameter(EdmFunction edmFunction)
+ {
+ ArgumentNotNull(edmFunction, "edmFunction");
+
+ var returnParamsProperty = edmFunction.GetType().GetProperty("ReturnParameters");
+ return returnParamsProperty == null
+ ? edmFunction.ReturnParameter
+ : ((IEnumerable<FunctionParameter>)returnParamsProperty.GetValue(edmFunction, null)).FirstOrDefault();
+ }
+
+ public bool IsComposable(EdmFunction edmFunction)
+ {
+ ArgumentNotNull(edmFunction, "edmFunction");
+
+ var isComposableProperty = edmFunction.GetType().GetProperty("IsComposableAttribute");
+ return isComposableProperty != null && (bool)isComposableProperty.GetValue(edmFunction, null);
+ }
+
+ public IEnumerable<FunctionImportParameter> GetParameters(EdmFunction edmFunction)
+ {
+ return FunctionImportParameter.Create(edmFunction.Parameters, _code, _ef);
+ }
+
+ public TypeUsage GetReturnType(EdmFunction edmFunction)
+ {
+ var returnParam = GetReturnParameter(edmFunction);
+ return returnParam == null ? null : _ef.GetElementType(returnParam.TypeUsage);
+ }
+
+ public bool GenerateMergeOptionFunction(EdmFunction edmFunction, bool includeMergeOption)
+ {
+ var returnType = GetReturnType(edmFunction);
+ return !includeMergeOption && returnType != null && returnType.EdmType.BuiltInTypeKind == BuiltInTypeKind.EntityType;
+ }
+}
+
+public static void ArgumentNotNull<T>(T arg, string name) where T : class
+{
+ if (arg == null)
+ {
+ throw new ArgumentNullException(name);
+ }
+}
+#> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/USER.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/USER.cs
new file mode 100644
index 000000000..6307c9f9b
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/USER.cs
@@ -0,0 +1,42 @@
+//------------------------------------------------------------------------------
+// <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 USER
+ {
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
+ public USER()
+ {
+ this.MACHINES_EVENTS = new HashSet<MACHINES_EVENTS>();
+ this.USERS_ROLES = new HashSet<USERS_ROLES>();
+ }
+
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public string EMAIL { get; set; }
+ public string PASSWORD { get; set; }
+ public int ORGANIZATION_ID { get; set; }
+ public int CONTACT_ID { get; set; }
+ public int ADDRESS_ID { get; set; }
+
+ public virtual ADDRESS ADDRESS { get; set; }
+ public virtual CONTACT CONTACT { get; set; }
+ [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
+ 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<USERS_ROLES> USERS_ROLES { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/USERS_ROLES.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/USERS_ROLES.cs
new file mode 100644
index 000000000..30a5cf961
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/USERS_ROLES.cs
@@ -0,0 +1,27 @@
+//------------------------------------------------------------------------------
+// <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 USERS_ROLES
+ {
+ public int ID { get; set; }
+ public System.Guid GUID { get; set; }
+ public System.DateTime LAST_UPDATED { get; set; }
+ public bool DELETED { get; set; }
+ public int USER_ID { get; set; }
+ public int ROLE_ID { get; set; }
+
+ public virtual ROLE ROLE { get; set; }
+ public virtual USER USER { get; set; }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/Partials/RemoteDB.cs b/Software/Visual_Studio/Tango.DAL.Remote/Partials/RemoteDB.cs
new file mode 100644
index 000000000..6fdd35983
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/Partials/RemoteDB.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Data.Entity;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Tango.DAL.Remote.DB
+{
+ public partial class RemoteDB : DbContext
+ {
+ public RemoteDB(String path, bool isFile) : base(ComposeConnectionString(path, isFile))
+ {
+
+ }
+
+ private static String ComposeConnectionString(String source, bool isFile)
+ {
+ if (!isFile)
+ {
+ return String.Format("metadata=res://*/DB.RemoteADO.csdl|res://*/DB.RemoteADO.ssdl|res://*/DB.RemoteADO.msl;provider=System.Data.SqlClient;provider connection string=\"data source={0};initial catalog=Tango;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework\"", source);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+
+ }
+}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Tango.DAL.Remote/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..14c18abcd
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/Properties/AssemblyInfo.cs
@@ -0,0 +1,6 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("Tango - Remote Data Access Layer")]
+[assembly: ComVisible(false)] \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj b/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj
new file mode 100644
index 000000000..74ad020fc
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/Tango.DAL.Remote.csproj
@@ -0,0 +1,225 @@
+<?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>{38197109-8610-4D3F-92B9-16D48DF94D7C}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Tango.DAL.Remote</RootNamespace>
+ <AssemblyName>Tango.DAL.Remote</AssemblyName>
+ <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <NuGetPackageImportStamp>
+ </NuGetPackageImportStamp>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>..\Build\Debug\</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\Release\</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="System" />
+ <Reference Include="System.ComponentModel.DataAnnotations" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Data.SQLite, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Data.SQLite.Core.1.0.106.0\lib\net46\System.Data.SQLite.dll</HintPath>
+ </Reference>
+ <Reference Include="System.Data.SQLite.EF6, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Data.SQLite.EF6.1.0.106.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System.Data.SQLite.Linq, Version=1.0.106.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
+ <HintPath>..\packages\System.Data.SQLite.Linq.1.0.106.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
+ <Reference Include="System.Runtime.Serialization" />
+ <Reference Include="System.Security" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="..\Versioning\GlobalVersionInfo.cs">
+ <Link>GlobalVersionInfo.cs</Link>
+ </Compile>
+ <Compile Include="DB\ACTION.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\ADDRESS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\APPLICATION_DISPLAY_PANEL_VERSIONS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\APPLICATION_FIRMWARE_VERSIONS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <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\CONFIGURATION.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\CONFIGURATIONS_DISPENSERS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\CONTACT.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\DISPENSER.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <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.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\EVENTS_ACTIONS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\FIBER_SHAPES.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\FIBER_SYNTHESIS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\HARDWARE_VERSIONS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\LINEAR_MASS_DENSITY_UNITS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\LIQUID.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\LIQUIDS_RML.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\LIQUID_TYPES.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\MACHINE.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\MACHINES_EVENTS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\MACHINE_VERSIONS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\MEDIA_COLORS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\MEDIA_CONDITIONS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\MEDIA_MATERIALS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\MEDIA_PURPOSES.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\ORGANIZATION.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\PERMISSION.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\RemoteADO.Context.cs">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>RemoteADO.Context.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\RemoteADO.cs">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\RemoteADO.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>RemoteADO.edmx</DependentUpon>
+ </Compile>
+ <Compile Include="DB\RML.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\ROLE.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\ROLES_PERMISSIONS.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\USER.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="DB\USERS_ROLES.cs">
+ <DependentUpon>RemoteADO.tt</DependentUpon>
+ </Compile>
+ <Compile Include="Partials\RemoteDB.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="App.config" />
+ <EntityDeploy Include="DB\RemoteADO.edmx">
+ <Generator>EntityModelCodeGenerator</Generator>
+ <LastGenOutput>RemoteADO.Designer.cs</LastGenOutput>
+ </EntityDeploy>
+ <None Include="DB\RemoteADO.edmx.diagram">
+ <DependentUpon>RemoteADO.edmx</DependentUpon>
+ </None>
+ <None Include="packages.config" />
+ </ItemGroup>
+ <ItemGroup>
+ <Content Include="DB\RemoteADO.Context.tt">
+ <Generator>TextTemplatingFileGenerator</Generator>
+ <DependentUpon>RemoteADO.edmx</DependentUpon>
+ <LastGenOutput>RemoteADO.Context.cs</LastGenOutput>
+ </Content>
+ <Content Include="DB\RemoteADO.tt">
+ <Generator>TextTemplatingFileGenerator</Generator>
+ <DependentUpon>RemoteADO.edmx</DependentUpon>
+ <LastGenOutput>RemoteADO.cs</LastGenOutput>
+ </Content>
+ </ItemGroup>
+ <ItemGroup>
+ <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <Import Project="..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" />
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+ <PropertyGroup>
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+ </PropertyGroup>
+ <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.106.0\build\net46\System.Data.SQLite.Core.targets'))" />
+ </Target>
+</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/packages.config b/Software/Visual_Studio/Tango.DAL.Remote/packages.config
new file mode 100644
index 000000000..bee3cc627
--- /dev/null
+++ b/Software/Visual_Studio/Tango.DAL.Remote/packages.config
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="EntityFramework" version="6.0.0" targetFramework="net46" />
+ <package id="System.Data.SQLite" version="1.0.106.0" targetFramework="net46" />
+ <package id="System.Data.SQLite.Core" version="1.0.106.0" targetFramework="net46" />
+ <package id="System.Data.SQLite.EF6" version="1.0.106.0" targetFramework="net46" />
+ <package id="System.Data.SQLite.Linq" version="1.0.106.0" targetFramework="net46" />
+</packages> \ No newline at end of file