diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2017-12-19 18:52:45 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2017-12-19 18:52:45 +0200 |
| commit | d9b0b7617864600f690a8202d06b2fb2a64306db (patch) | |
| tree | eca093060ff23172158c90f2c2c1b0d59a42bf6f /Software | |
| parent | cc3bf81fabd005fa74c2b9663589892480f1a6bb (diff) | |
| download | Tango-d9b0b7617864600f690a8202d06b2fb2a64306db.tar.gz Tango-d9b0b7617864600f690a8202d06b2fb2a64306db.zip | |
Started working on 'Synchronization' - Machine Studio module.
Diffstat (limited to 'Software')
83 files changed, 1413 insertions, 80 deletions
diff --git a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/Entity.java b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/Entity.java index fd41d9230..6cf88e85e 100644 --- a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/Entity.java +++ b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/Entity.java @@ -9,6 +9,8 @@ import org.joda.time.DateTimeZone; import java.util.UUID; +import io.reactivex.Single; + /** * Represents a DAL base entity. @@ -117,4 +119,11 @@ public class Entity extends BaseRXModel setGuid(UUID.randomUUID().toString()); setLast_updated(DateTime.now(DateTimeZone.UTC)); } + + @Override + public Single<Boolean> save() + { + setLast_updated(DateTime.now(DateTimeZone.UTC)); + return super.save(); + } } diff --git a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/ActionTypes.java b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/ActionTypes.java new file mode 100644 index 000000000..8233a0b88 --- /dev/null +++ b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/ActionTypes.java @@ -0,0 +1,22 @@ +package com.twine.tango.dal.enumerations; + +import com.twine.tango.core.DescriptionAnnotation; + +public enum ActionTypes +{ + + @DescriptionAnnotation(description = "Some description") + Action1(1), + + @DescriptionAnnotation(description = "Some action 2 description") + Action2(2), + + ; + + private int value; + + ActionTypes(int value) + { + this.value = value; + } +} diff --git a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/Actions.java b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/Actions.java deleted file mode 100644 index 55eebeb78..000000000 --- a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/Actions.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.twine.tango.dal.enumerations; - -import com.twine.tango.core.DescriptionAnnotation; - -public enum Actions -{ - ; - - private int value; - - Actions(int value) - { - this.value = value; - } -} diff --git a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/EventTypes.java b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/EventTypes.java new file mode 100644 index 000000000..06ecf3f4f --- /dev/null +++ b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/EventTypes.java @@ -0,0 +1,22 @@ +package com.twine.tango.dal.enumerations; + +import com.twine.tango.core.DescriptionAnnotation; + +public enum EventTypes +{ + + @DescriptionAnnotation(description = "Some event description") + Event1(1), + + @DescriptionAnnotation(description = "Some event 2 description") + Event2(2), + + ; + + private int value; + + EventTypes(int value) + { + this.value = value; + } +} diff --git a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/Events.java b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/Events.java deleted file mode 100644 index bfa2e1758..000000000 --- a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/Events.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.twine.tango.dal.enumerations; - -import com.twine.tango.core.DescriptionAnnotation; - -public enum Events -{ - ; - - private int value; - - Events(int value) - { - this.value = value; - } -} diff --git a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/Liquids.java b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/LiquidTypes.java index ca82d56ad..d2d480167 100644 --- a/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/Liquids.java +++ b/Software/Android_Studio/Tango.DAL/src/main/java/com/twine/tango/dal/enumerations/LiquidTypes.java @@ -2,7 +2,7 @@ package com.twine.tango.dal.enumerations; import com.twine.tango.core.DescriptionAnnotation; -public enum Liquids +public enum LiquidTypes { @DescriptionAnnotation(description = "Cyan") @@ -15,7 +15,7 @@ public enum Liquids private int value; - Liquids(int value) + LiquidTypes(int value) { this.value = value; } diff --git a/Software/Android_Studio/Tango.UnitTesting/src/androidTest/java/com/twine/tango/unittesting/DAL_TST.java b/Software/Android_Studio/Tango.UnitTesting/src/androidTest/java/com/twine/tango/unittesting/DAL_TST.java new file mode 100644 index 000000000..f04070d6a --- /dev/null +++ b/Software/Android_Studio/Tango.UnitTesting/src/androidTest/java/com/twine/tango/unittesting/DAL_TST.java @@ -0,0 +1,21 @@ +package com.twine.tango.unittesting; + +import android.content.Context; +import android.support.test.InstrumentationRegistry; +import android.support.test.runner.AndroidJUnit4; + +import org.junit.runner.RunWith; + +/** + * Created by Roy on 12/19/2017. + */ + +@RunWith(AndroidJUnit4.class) +public class DAL_TST +{ + public void perform_basic_dal_test() + { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getTargetContext(); + } +} diff --git a/Software/DB/Tango.db b/Software/DB/Tango.db Binary files differindex 2a238547c..a0d317b86 100644 --- a/Software/DB/Tango.db +++ b/Software/DB/Tango.db diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf Binary files differindex 6438c34ad..11a540748 100644 --- a/Software/DB/Tango.mdf +++ b/Software/DB/Tango.mdf diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf Binary files differindex a3a92fbf2..5687558f7 100644 --- a/Software/DB/Tango_log.ldf +++ b/Software/DB/Tango_log.ldf diff --git a/Software/Graphics/Machine Studio Modules/synchronization.jpg b/Software/Graphics/Machine Studio Modules/synchronization.jpg Binary files differnew file mode 100644 index 000000000..801bbce48 --- /dev/null +++ b/Software/Graphics/Machine Studio Modules/synchronization.jpg diff --git a/Software/Graphics/android-phone-color.png b/Software/Graphics/android-phone-color.png Binary files differnew file mode 100644 index 000000000..46453bf83 --- /dev/null +++ b/Software/Graphics/android-phone-color.png diff --git a/Software/Graphics/arrow_right.png b/Software/Graphics/arrow_right.png Binary files differnew file mode 100644 index 000000000..5b7f0736b --- /dev/null +++ b/Software/Graphics/arrow_right.png diff --git a/Software/Graphics/remote-db.png b/Software/Graphics/remote-db.png Binary files differnew file mode 100644 index 000000000..844695629 --- /dev/null +++ b/Software/Graphics/remote-db.png diff --git a/Software/Graphics/sqlite.png b/Software/Graphics/sqlite.png Binary files differnew file mode 100644 index 000000000..46cecd740 --- /dev/null +++ b/Software/Graphics/sqlite.png diff --git a/Software/Graphics/synch_big.png b/Software/Graphics/synch_big.png Binary files differnew file mode 100644 index 000000000..ff6476f44 --- /dev/null +++ b/Software/Graphics/synch_big.png diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ConfigurationsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ConfigurationsViewVM.cs index 617faab31..bdec4f91b 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ConfigurationsViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/ConfigurationsViewVM.cs @@ -18,7 +18,7 @@ namespace Tango.MachineStudio.DB.ViewModels protected override void InitializeEntity(Configuration entity) { base.InitializeEntity(entity); - entity.CreationDate = DateTime.Now; + entity.CreationDate = DateTime.UtcNow; } } } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs index b6d77748e..89759309b 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/DbTableViewModel.cs @@ -167,8 +167,7 @@ namespace Tango.MachineStudio.DB.ViewModels try { - SelectedEntity.Deleted = true; - await SelectedEntity.SaveAsync(); + await SelectedEntity.SoftDeleteAsync(); } catch (Exception ex) { diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MachinesViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MachinesViewVM.cs index fbec464bd..2349941fe 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MachinesViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.DB/ViewModels/MachinesViewVM.cs @@ -20,7 +20,7 @@ namespace Tango.MachineStudio.DB.ViewModels protected override void InitializeEntity(Machine entity) { base.InitializeEntity(entity); - entity.ProductionDate = DateTime.Now; + entity.ProductionDate = DateTime.UtcNow; } } } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/android-phone-color.png b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/android-phone-color.png Binary files differnew file mode 100644 index 000000000..46453bf83 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/android-phone-color.png diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/arrow_right.png b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/arrow_right.png Binary files differnew file mode 100644 index 000000000..5b7f0736b --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/arrow_right.png diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/remote-db.png b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/remote-db.png Binary files differnew file mode 100644 index 000000000..844695629 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/remote-db.png diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/sqlite.png b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/sqlite.png Binary files differnew file mode 100644 index 000000000..46cecd740 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/sqlite.png diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/synch_big.png b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/synch_big.png Binary files differnew file mode 100644 index 000000000..ff6476f44 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/synch_big.png diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/synchronization.jpg b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/synchronization.jpg Binary files differnew file mode 100644 index 000000000..801bbce48 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Images/synchronization.jpg diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Navigation/NavigationView.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Navigation/NavigationView.cs new file mode 100644 index 000000000..8d38acb7c --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Navigation/NavigationView.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.MachineStudio.Synchronization.Navigation +{ + public enum NavigationView + { + MenuView, + LocalSynchronizationView, + RemoteSynchronizationView, + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Navigation/SyncNavigationManager.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Navigation/SyncNavigationManager.cs new file mode 100644 index 000000000..847fa2456 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Navigation/SyncNavigationManager.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.MachineStudio.Synchronization.Views; + +namespace Tango.MachineStudio.Synchronization.Navigation +{ + public class SyncNavigationManager + { + public void NavigateTo(NavigationView view) + { + MainView.Instance.TransitionControl.AutoNavigate(view.ToString()); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/AssemblyInfo.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..d0a85a97c --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/AssemblyInfo.cs @@ -0,0 +1,18 @@ +using System.Reflection; +using System.Resources; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Windows; + +[assembly: AssemblyTitle("Tango - Machine Studio Synchronization Module")] + +[assembly: ComVisible(false)] + +[assembly:ThemeInfo( + ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located + //(used if a resource is not found in the page, + // or application resource dictionaries) + ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located + //(used if a resource is not found in the page, + // app, or any theme specific resource dictionaries) +)] diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/Resources.Designer.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/Resources.Designer.cs new file mode 100644 index 000000000..81d350bfd --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/Resources.Designer.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace Tango.MachineStudio.Synchronization.Properties { + + + /// <summary> + /// A strongly-typed resource class, for looking up localized strings, etc. + /// </summary> + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// <summary> + /// Returns the cached ResourceManager instance used by this class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if ((resourceMan == null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Tango.MachineStudio.Synchronization.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// <summary> + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/Resources.resx b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/Resources.resx new file mode 100644 index 000000000..af7dbebba --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/Resources.resx @@ -0,0 +1,117 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root>
\ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/Settings.Designer.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/Settings.Designer.cs new file mode 100644 index 000000000..2c61b78ac --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace Tango.MachineStudio.Synchronization.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/Settings.settings b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/Settings.settings new file mode 100644 index 000000000..033d7a5e9 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Properties/Settings.settings @@ -0,0 +1,7 @@ +<?xml version='1.0' encoding='utf-8'?> +<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)"> + <Profiles> + <Profile Name="(Default)" /> + </Profiles> + <Settings /> +</SettingsFile>
\ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/SynchronizationModule.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/SynchronizationModule.cs new file mode 100644 index 000000000..039b9faf6 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/SynchronizationModule.cs @@ -0,0 +1,46 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Media.Imaging; +using Tango.DAL.Observables; +using Tango.MachineStudio.Common; +using Tango.MachineStudio.Synchronization.Views; +using Tango.SharedUI.Helpers; + +namespace Tango.MachineStudio.Synchronization +{ + public class SynchronizationModule : IStudioModule + { + private bool _isInitialized; + + public string Name => "Synchronization"; + + public string Description => "Perform local to local or remote to local database synchronization."; + + public BitmapSource Image => ResourceHelper.GetImageFromResources("Images/synchronization.jpg"); + + public FrameworkElement MainView => new MainView(); + + public bool IsInitialized => _isInitialized; + + public Permissions Permission => Permissions.RunSynchronizationModule; + + public void Dispose() + { + //Dispose... + } + + public void Initialize() + { + if (!_isInitialized) + { + //Initialize.. + + _isInitialized = true; + } + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Tango.MachineStudio.Synchronization.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Tango.MachineStudio.Synchronization.csproj new file mode 100644 index 000000000..53a0476e5 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Tango.MachineStudio.Synchronization.csproj @@ -0,0 +1,184 @@ +<?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>{12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}</ProjectGuid> + <OutputType>library</OutputType> + <RootNamespace>Tango.MachineStudio.Synchronization</RootNamespace> + <AssemblyName>Tango.MachineStudio.Synchronization</AssemblyName> + <TargetFrameworkVersion>v4.6</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <WarningLevel>4</WarningLevel> + </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="FontAwesome.WPF, Version=4.7.0.37774, Culture=neutral, PublicKeyToken=0758b07a11a4f466, processorArchitecture=MSIL"> + <HintPath>..\..\..\packages\FontAwesome.WPF.4.7.0.9\lib\net40\FontAwesome.WPF.dll</HintPath> + </Reference> + <Reference Include="GalaSoft.MvvmLight, Version=5.3.0.19026, Culture=neutral, PublicKeyToken=e7570ab207bcb616, processorArchitecture=MSIL"> + <HintPath>..\..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.dll</HintPath> + </Reference> + <Reference Include="GalaSoft.MvvmLight.Extras, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=669f0b5e8f868abf, processorArchitecture=MSIL"> + <HintPath>..\..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Extras.dll</HintPath> + </Reference> + <Reference Include="GalaSoft.MvvmLight.Platform, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL"> + <HintPath>..\..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath> + </Reference> + <Reference Include="MahApps.Metro, Version=1.5.0.23, Culture=neutral, PublicKeyToken=f4fb5a3c4d1e5b4f, processorArchitecture=MSIL"> + <HintPath>..\..\..\packages\MahApps.Metro.1.5.0\lib\net45\MahApps.Metro.dll</HintPath> + </Reference> + <Reference Include="MaterialDesignColors, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\..\packages\MaterialDesignColors.1.1.2\lib\net45\MaterialDesignColors.dll</HintPath> + </Reference> + <Reference Include="MaterialDesignThemes.Wpf, Version=2.3.1.953, Culture=neutral, processorArchitecture=MSIL"> + <HintPath>..\..\..\packages\MaterialDesignThemes.2.3.1.953\lib\net45\MaterialDesignThemes.Wpf.dll</HintPath> + </Reference> + <Reference Include="Microsoft.Practices.ServiceLocation, Version=1.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\..\..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll</HintPath> + </Reference> + <Reference Include="System" /> + <Reference Include="System.Data" /> + <Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> + <HintPath>..\..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll</HintPath> + </Reference> + <Reference Include="System.Xml" /> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System.Core" /> + <Reference Include="System.Xml.Linq" /> + <Reference Include="System.Data.DataSetExtensions" /> + <Reference Include="System.Net.Http" /> + <Reference Include="System.Xaml"> + <RequiredTargetFramework>4.0</RequiredTargetFramework> + </Reference> + <Reference Include="WindowsBase" /> + <Reference Include="PresentationCore" /> + <Reference Include="PresentationFramework" /> + </ItemGroup> + <ItemGroup> + <Compile Include="Navigation\NavigationView.cs" /> + <Compile Include="Navigation\SyncNavigationManager.cs" /> + <Compile Include="ViewModelLocator.cs" /> + <Compile Include="ViewModels\MainViewVM.cs" /> + <Compile Include="ViewModels\MenuViewVM.cs" /> + <Compile Include="Views\RemoteSynchronizationView.xaml.cs"> + <DependentUpon>RemoteSynchronizationView.xaml</DependentUpon> + </Compile> + <Compile Include="Views\LocalSynchronizationView.xaml.cs"> + <DependentUpon>LocalSynchronizationView.xaml</DependentUpon> + </Compile> + <Compile Include="Views\MainView.xaml.cs"> + <DependentUpon>MainView.xaml</DependentUpon> + </Compile> + <Compile Include="Views\MenuView.xaml.cs"> + <DependentUpon>MenuView.xaml</DependentUpon> + </Compile> + <Page Include="UserControl1.xaml"> + <Generator>MSBuild:Compile</Generator> + <SubType>Designer</SubType> + </Page> + <Compile Include="..\..\..\Versioning\GlobalVersionInfo.cs"> + <Link>GlobalVersionInfo.cs</Link> + </Compile> + <Compile Include="SynchronizationModule.cs" /> + <Compile Include="UserControl1.xaml.cs"> + <DependentUpon>UserControl1.xaml</DependentUpon> + <SubType>Code</SubType> + </Compile> + <Page Include="Views\RemoteSynchronizationView.xaml"> + <Generator>MSBuild:Compile</Generator> + <SubType>Designer</SubType> + </Page> + <Page Include="Views\LocalSynchronizationView.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </Page> + <Page Include="Views\MainView.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </Page> + <Page Include="Views\MenuView.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </Page> + </ItemGroup> + <ItemGroup> + <Compile Include="Properties\AssemblyInfo.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="Properties\Resources.Designer.cs"> + <AutoGen>True</AutoGen> + <DesignTime>True</DesignTime> + <DependentUpon>Resources.resx</DependentUpon> + </Compile> + <Compile Include="Properties\Settings.Designer.cs"> + <AutoGen>True</AutoGen> + <DependentUpon>Settings.settings</DependentUpon> + <DesignTimeSharedInput>True</DesignTimeSharedInput> + </Compile> + <EmbeddedResource Include="Properties\Resources.resx"> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.cs</LastGenOutput> + </EmbeddedResource> + <None Include="packages.config" /> + <None Include="Properties\Settings.settings"> + <Generator>SettingsSingleFileGenerator</Generator> + <LastGenOutput>Settings.Designer.cs</LastGenOutput> + </None> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\..\Tango.Core\Tango.Core.csproj"> + <Project>{a34ee0f0-649d-41c8-8489-b6f1cc6924ee}</Project> + <Name>Tango.Core</Name> + </ProjectReference> + <ProjectReference Include="..\..\..\Tango.DAL.Observables\Tango.DAL.Observables.csproj"> + <Project>{0ecd6da8-7aa6-48d9-8b65-279d176ad9af}</Project> + <Name>Tango.DAL.Observables</Name> + </ProjectReference> + <ProjectReference Include="..\..\..\Tango.SharedUI\Tango.SharedUI.csproj"> + <Project>{8491d07b-c1f6-4b62-a412-41b9fd2d6538}</Project> + <Name>Tango.SharedUI</Name> + </ProjectReference> + <ProjectReference Include="..\..\..\Tango.Synchronization\Tango.Synchronization.csproj"> + <Project>{7ada4e86-cad7-4968-a210-3a8a9e5153ab}</Project> + <Name>Tango.Synchronization</Name> + </ProjectReference> + <ProjectReference Include="..\..\Tango.MachineStudio.Common\Tango.MachineStudio.Common.csproj"> + <Project>{cb0b0aa2-bb24-4bca-a720-45e397684e12}</Project> + <Name>Tango.MachineStudio.Common</Name> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <Resource Include="Images\synchronization.jpg" /> + </ItemGroup> + <ItemGroup> + <Resource Include="Images\android-phone-color.png" /> + <Resource Include="Images\arrow_right.png" /> + <Resource Include="Images\remote-db.png" /> + </ItemGroup> + <ItemGroup> + <Resource Include="Images\sqlite.png" /> + </ItemGroup> + <ItemGroup> + <Resource Include="Images\synch_big.png" /> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> +</Project>
\ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/UserControl1.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/UserControl1.xaml new file mode 100644 index 000000000..50afe7e4e --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/UserControl1.xaml @@ -0,0 +1,12 @@ +<UserControl x:Class="Tango.MachineStudio.Synchronization.UserControl1" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:local="clr-namespace:Tango.MachineStudio.Synchronization" + mc:Ignorable="d" + d:DesignHeight="300" d:DesignWidth="300"> + <Grid> + + </Grid> +</UserControl> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/UserControl1.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/UserControl1.xaml.cs new file mode 100644 index 000000000..16186b6bd --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/UserControl1.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.MachineStudio.Synchronization +{ + /// <summary> + /// Interaction logic for UserControl1.xaml + /// </summary> + public partial class UserControl1 : UserControl + { + public UserControl1() + { + InitializeComponent(); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModelLocator.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModelLocator.cs new file mode 100644 index 000000000..30162e824 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModelLocator.cs @@ -0,0 +1,45 @@ +using GalaSoft.MvvmLight; +using GalaSoft.MvvmLight.Ioc; +using Microsoft.Practices.ServiceLocation; +using Tango.MachineStudio.Synchronization.Navigation; +using Tango.MachineStudio.Synchronization.ViewModels; + +namespace Tango.MachineStudio.Synchronization +{ + /// <summary> + /// This class contains static references to all the view models in the + /// application and provides an entry point for the bindings. + /// </summary> + public static class ViewModelLocator + { + /// <summary> + /// Initializes a new instance of the ViewModelLocator class. + /// </summary> + static ViewModelLocator() + { + ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default); + SimpleIoc.Default.Register<MainViewVM>(); + SimpleIoc.Default.Register<MenuViewVM>(); + + SimpleIoc.Default.Unregister<SyncNavigationManager>(); + + SimpleIoc.Default.Register<SyncNavigationManager, SyncNavigationManager>(); + } + + public static MainViewVM MainViewVM + { + get + { + return ServiceLocator.Current.GetInstance<MainViewVM>(); + } + } + + public static MenuViewVM MenuViewVM + { + get + { + return ServiceLocator.Current.GetInstance<MenuViewVM>(); + } + } + } +}
\ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/MainViewVM.cs new file mode 100644 index 000000000..61bf6e20c --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/MainViewVM.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.SharedUI; + +namespace Tango.MachineStudio.Synchronization.ViewModels +{ + public class MainViewVM : ViewModel + { + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/MenuViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/MenuViewVM.cs new file mode 100644 index 000000000..8eb68a383 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/ViewModels/MenuViewVM.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Core.Commands; +using Tango.MachineStudio.Synchronization.Navigation; +using Tango.SharedUI; + +namespace Tango.MachineStudio.Synchronization.ViewModels +{ + public class MenuViewVM : ViewModel + { + private SyncNavigationManager _navigation; + + public MenuViewVM(SyncNavigationManager navigation) + { + _navigation = navigation; + + StartLocalSyncCommand = new RelayCommand(() => { _navigation.NavigateTo(NavigationView.LocalSynchronizationView); }); + StartRemoteSyncCommand = new RelayCommand(() => { _navigation.NavigateTo(NavigationView.RemoteSynchronizationView); }); + } + + public RelayCommand StartLocalSyncCommand { get; set; } + + public RelayCommand StartRemoteSyncCommand { get; set; } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/LocalSynchronizationView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/LocalSynchronizationView.xaml new file mode 100644 index 000000000..ded60fbb7 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/LocalSynchronizationView.xaml @@ -0,0 +1,150 @@ +<UserControl x:Class="Tango.MachineStudio.Synchronization.Views.LocalSynchronizationView" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls" + xmlns:local="clr-namespace:Tango.MachineStudio.Synchronization.Views" + xmlns:fa="http://schemas.fontawesome.io/icons/" + mc:Ignorable="d" + d:DesignHeight="720" d:DesignWidth="1280"> + + <UserControl.Resources> + <VisualBrush x:Key="badgeBackground"> + <VisualBrush.Visual> + <Border> + <Path Stretch="Fill" RenderTransformOrigin="0.5,0.5"> + <Path.RenderTransform> + <ScaleTransform ScaleX="-1"></ScaleTransform> + </Path.RenderTransform> + <Path.Fill> + <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1"> + <GradientStop Color="#EEEEEE" Offset="0.4" /> + <GradientStop Color="White" Offset="1"/> + </LinearGradientBrush> + </Path.Fill> + <Path.Data> + <PathGeometry Figures="M 53.868 43.913 H 19.511 c -0.444 0 -0.875 -0.151 -1.221 -0.428 L 0.734 29.439 c -0.978 -0.783 -0.978 -2.271 0 -3.053 L 18.29 12.341 c 0.347 -0.277 0.777 -0.428 1.221 -0.428 h 34.356 c 1.081 0 1.958 0.877 1.958 1.958 v 28.084 c 0 1.081 -0.876 1.958 -1.957 1.958 z" FillRule="NonZero"/> + </Path.Data> + </Path> + </Border> + </VisualBrush.Visual> + </VisualBrush> + </UserControl.Resources> + + <Grid> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="600"/> + <ColumnDefinition Width="1*"/> + </Grid.ColumnDefinitions> + <Grid Margin="20"> + <GroupBox Header="Compare"> + <Grid> + <Grid.RowDefinitions> + <RowDefinition Height="57*"/> + <RowDefinition Height="Auto"/> + </Grid.RowDefinitions> + <Grid.ColumnDefinitions> + <ColumnDefinition MaxWidth="250" /> + <ColumnDefinition/> + </Grid.ColumnDefinitions> + + <Grid> + <Grid.RowDefinitions> + <RowDefinition/> + <RowDefinition/> + </Grid.RowDefinitions> + + <StackPanel HorizontalAlignment="Left" VerticalAlignment="Center" Margin="20 0 0 0"> + <Image Source="../Images/sqlite.png" Width="100" Margin="10" Opacity="0.8" HorizontalAlignment="Left" RenderOptions.BitmapScalingMode="Fant"></Image> + <TextBlock Background="{StaticResource badgeBackground}" Padding="5" Width="200" FontSize="11" HorizontalAlignment="Left">Master DataBase</TextBlock> + <StackPanel Orientation="Horizontal" Margin="0 5 0 0"> + <TextBox IsReadOnly="True" Width="130" BorderBrush="#4E4E4E" Text="{Binding MasterDBName}"></TextBox> + <Button Margin="5 0 0 0" Cursor="Hand" VerticalAlignment="Center" Style="{DynamicResource MetroCircleButtonStyle}" mahapps:ButtonHelper.PreserveTextCase="True" BorderThickness="0" Command="{Binding BrowseMasterDBCommand}"> + <fa:ImageAwesome Icon="FolderOpen" Width="24" Foreground="Gray"></fa:ImageAwesome> + </Button> + </StackPanel> + </StackPanel> + + <StackPanel HorizontalAlignment="Left" VerticalAlignment="Center" Grid.Row="1" Margin="20 0 0 0"> + <Image Source="../Images/sqlite.png" Width="80" Margin="10" Opacity="0.8" HorizontalAlignment="Left" RenderOptions.BitmapScalingMode="Fant"></Image> + <TextBlock Background="{StaticResource badgeBackground}" Padding="5" Width="200" FontSize="11" HorizontalAlignment="Left">Slave DataBase</TextBlock> + <StackPanel Orientation="Horizontal" Margin="0 5 0 0"> + <TextBox IsReadOnly="True" Width="130" BorderBrush="#4E4E4E" Text="{Binding SlaveDBName}"></TextBox> + <Button Margin="5 0 0 0" Cursor="Hand" VerticalAlignment="Center" Style="{DynamicResource MetroCircleButtonStyle}" mahapps:ButtonHelper.PreserveTextCase="True" BorderThickness="0" Command="{Binding BrowseSlaveDBCommand}"> + <fa:ImageAwesome Icon="FolderOpen" Width="24" Foreground="Gray"></fa:ImageAwesome> + </Button> + </StackPanel> + </StackPanel> + </Grid> + + <Button Margin="20 10" Grid.Row="1" Width="160" Height="40" HorizontalAlignment="Left" Command="{Binding CompareCommand}"> + <StackPanel Orientation="Horizontal"> + <TextBlock VerticalAlignment="Center" Margin="10 0 10 0">COMPARE</TextBlock> + <fa:ImageAwesome Icon="LongArrowRight" VerticalAlignment="Center" Foreground="{Binding RelativeSource={RelativeSource AncestorType=Button},Path=Foreground}" Width="16"></fa:ImageAwesome> + </StackPanel> + </Button> + + <Grid Grid.Column="1" Grid.RowSpan="2"> + <Grid.RowDefinitions> + <RowDefinition Height="20"/> + <RowDefinition Height="205*"/> + </Grid.RowDefinitions> + <TextBlock Margin="10 5 0 0">Differences</TextBlock> + <ListBox Margin="10" Background="#F1F1F1" Grid.Row="1" ItemsSource="{Binding Differences}" SelectedItem="{Binding SelectedDifference,Mode=TwoWay}"> + <ListBox.ItemTemplate> + <DataTemplate> + <Border Padding="10"> + <StackPanel Orientation="Horizontal"> + <fa:ImageAwesome Icon="Cog" Width="20" Height="20" Foreground="Gray"></fa:ImageAwesome> + <TextBlock VerticalAlignment="Center" Margin="10 0 0 0" Text="{Binding Description}"></TextBlock> + </StackPanel> + </Border> + </DataTemplate> + </ListBox.ItemTemplate> + </ListBox> + </Grid> + </Grid> + </GroupBox> + </Grid> + + <Grid Grid.Column="1" Margin="20"> + <GroupBox Header="Synchronize"> + <Grid> + <Grid.RowDefinitions> + <RowDefinition Height="1*"/> + <RowDefinition Height="Auto"/> + </Grid.RowDefinitions> + + <Grid> + <Grid.RowDefinitions> + <RowDefinition Height="20"/> + <RowDefinition Height="71*"/> + </Grid.RowDefinitions> + <TextBlock Margin="10 0 0 0" VerticalAlignment="Bottom">SQL Command</TextBlock> + <TextBox Margin="10" Foreground="Gray" FontSize="11" Text="{Binding SelectedDifference.Command,Mode=OneWay}" BorderThickness="0" IsReadOnly="True" Background="#F1F1F1" Padding="5" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" AcceptsReturn="True" Grid.Row="1"></TextBox> + </Grid> + + <Grid Grid.Row="1"> + <StackPanel Orientation="Horizontal" HorizontalAlignment="Right"> + <Button Margin="10 10" Grid.Row="1" Width="160" Height="40" HorizontalAlignment="Right" Command="{Binding CommitCommand}"> + <StackPanel Orientation="Horizontal"> + <TextBlock VerticalAlignment="Center" Margin="10 0 10 0">COMMIT</TextBlock> + <fa:ImageAwesome Icon="Bolt" VerticalAlignment="Center" Foreground="{Binding RelativeSource={RelativeSource AncestorType=Button},Path=Foreground}" Width="16"></fa:ImageAwesome> + </StackPanel> + </Button> + <Button Margin="10 10" Grid.Row="1" Width="160" Height="40" HorizontalAlignment="Right" Command="{Binding CommitAllCommand}"> + <StackPanel Orientation="Horizontal"> + <TextBlock VerticalAlignment="Center" Margin="10 0 10 0">COMMIT ALL</TextBlock> + <fa:ImageAwesome Icon="SortAmountAsc" VerticalAlignment="Center" Foreground="{Binding RelativeSource={RelativeSource AncestorType=Button},Path=Foreground}" Width="16"></fa:ImageAwesome> + </StackPanel> + </Button> + </StackPanel> + </Grid> + </Grid> + </GroupBox> + </Grid> + </Grid> + </Grid> +</UserControl> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/LocalSynchronizationView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/LocalSynchronizationView.xaml.cs new file mode 100644 index 000000000..f6c70143d --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/LocalSynchronizationView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.MachineStudio.Synchronization.Views +{ + /// <summary> + /// Interaction logic for LocalSynchronizationView.xaml + /// </summary> + public partial class LocalSynchronizationView : UserControl + { + public LocalSynchronizationView() + { + InitializeComponent(); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MainView.xaml new file mode 100644 index 000000000..53bcfdb1e --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MainView.xaml @@ -0,0 +1,40 @@ +<UserControl x:Class="Tango.MachineStudio.Synchronization.Views.MainView" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:local="clr-namespace:Tango.MachineStudio.Synchronization.Views" + xmlns:global="clr-namespace:Tango.MachineStudio.Synchronization" + xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI" + mc:Ignorable="d" + d:DesignHeight="720" d:DesignWidth="1280" Background="White" DataContext="{x:Static global:ViewModelLocator.MainViewVM}"> + <Grid> + <Grid.RowDefinitions> + <RowDefinition Height="1*"/> + <RowDefinition Height="200"/> + </Grid.RowDefinitions> + + <Image Source="../Images/synch_big.png" Opacity="0.2" Margin="-100"></Image> + + <controls:MultiTransitionControl x:Name="TransitionControl" x:FieldModifier="public" AlwaysFade="True" TransitionType="Zoom"> + <controls:MultiTransitionControl.Controls> + <ContentControl Tag="MenuView"> + <local:MenuView></local:MenuView> + </ContentControl> + <ContentControl Tag="LocalSynchronizationView"> + <local:LocalSynchronizationView></local:LocalSynchronizationView> + </ContentControl> + <ContentControl Tag="RemoteSynchronizationView"> + <local:RemoteSynchronizationView></local:RemoteSynchronizationView> + </ContentControl> + </controls:MultiTransitionControl.Controls> + </controls:MultiTransitionControl> + + <Grid Grid.Row="1"> + <TextBox Background="#202020" Foreground="Gainsboro" FontSize="11" Padding="5" Style="{x:Null}" BorderThickness="1" IsReadOnly="True" AcceptsReturn="True" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap"> + 11:35:10.34> Synchronization Engine Started... + </TextBox> + </Grid> + </Grid> +</UserControl> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MainView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MainView.xaml.cs new file mode 100644 index 000000000..65e50905d --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MainView.xaml.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.MachineStudio.Synchronization.Views +{ + /// <summary> + /// Interaction logic for MainView.xaml + /// </summary> + public partial class MainView : UserControl + { + public static MainView Instance; + + public MainView() + { + InitializeComponent(); + Instance = this; + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MenuView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MenuView.xaml new file mode 100644 index 000000000..6210ca94c --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MenuView.xaml @@ -0,0 +1,69 @@ +<UserControl x:Class="Tango.MachineStudio.Synchronization.Views.MenuView" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:local="clr-namespace:Tango.MachineStudio.Synchronization.Views" + xmlns:global="clr-namespace:Tango.MachineStudio.Synchronization" + mc:Ignorable="d" + d:DesignHeight="720" d:DesignWidth="1280" DataContext="{x:Static global:ViewModelLocator.MenuViewVM}"> + <Grid> + <Grid> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="1*"/> + <ColumnDefinition Width="1*"/> + </Grid.ColumnDefinitions> + + <Grid VerticalAlignment="Center"> + <StackPanel> + <StackPanel HorizontalAlignment="Center" Margin="0 0 0 30"> + <TextBlock TextAlignment="Center" FontSize="25">Remote Synchronization</TextBlock> + <TextBlock TextAlignment="Center" FontSize="14" Foreground="#303030">Synchronize local SQLite database file with the remote Twine database.</TextBlock> + </StackPanel> + <Viewbox RenderOptions.BitmapScalingMode="Fant" Width="400"> + <Grid Width="450"> + <StackPanel> + <StackPanel Orientation="Horizontal"> + <Image Source="../Images/remote-db.png" Width="200"></Image> + <Image Source="../Images/arrow_right.png" Width="100"></Image> + <Image Source="../Images/android-phone-color.png" Width="180"></Image> + </StackPanel> + + <Button Command="{Binding StartRemoteSyncCommand}" Height="80" Margin="20 20 10 0" HorizontalAlignment="Right" Padding="10" FontSize="20" Width="200">START</Button> + </StackPanel> + </Grid> + </Viewbox> + </StackPanel> + </Grid> + + <Grid VerticalAlignment="Center" Grid.Column="1"> + <StackPanel> + <StackPanel HorizontalAlignment="Center" Margin="0 0 0 30"> + <TextBlock TextAlignment="Center" FontSize="25">Local Synchronization</TextBlock> + <TextBlock TextAlignment="Center" FontSize="14" Foreground="#303030">Synchronize two SQLite local database files.</TextBlock> + </StackPanel> + <Viewbox RenderOptions.BitmapScalingMode="Fant" Width="400"> + <Grid Width="450"> + <StackPanel> + <StackPanel Orientation="Horizontal"> + <Image Source="../Images/sqlite.png" Width="160"></Image> + <Image Source="../Images/arrow_right.png" Width="100" RenderTransformOrigin="0.5,0.5"> + <Image.RenderTransform> + <RotateTransform Angle="180"></RotateTransform> + </Image.RenderTransform> + </Image> + <Image Source="../Images/sqlite.png" Width="160"></Image> + </StackPanel> + + <Button Command="{Binding StartLocalSyncCommand}" Height="80" Margin="5 20 20 0" HorizontalAlignment="Left" Padding="10" FontSize="20" Width="200">START</Button> + </StackPanel> + </Grid> + </Viewbox> + </StackPanel> + </Grid> + </Grid> + </Grid> + </Grid> +</UserControl> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MenuView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MenuView.xaml.cs new file mode 100644 index 000000000..eb4c17ca0 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/MenuView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.MachineStudio.Synchronization.Views +{ + /// <summary> + /// Interaction logic for MenuView.xaml + /// </summary> + public partial class MenuView : UserControl + { + public MenuView() + { + InitializeComponent(); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/RemoteSynchronizationView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/RemoteSynchronizationView.xaml new file mode 100644 index 000000000..92c8fa674 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/RemoteSynchronizationView.xaml @@ -0,0 +1,12 @@ +<UserControl x:Class="Tango.MachineStudio.Synchronization.Views.RemoteSynchronizationView" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:local="clr-namespace:Tango.MachineStudio.Synchronization.Views" + mc:Ignorable="d" + d:DesignHeight="720" d:DesignWidth="1280" Background="White"> + <Grid> + <TextBlock>Remote Sync</TextBlock> + </Grid> +</UserControl> diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/RemoteSynchronizationView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/RemoteSynchronizationView.xaml.cs new file mode 100644 index 000000000..cee8e20d1 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/Views/RemoteSynchronizationView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.MachineStudio.Synchronization.Views +{ + /// <summary> + /// Interaction logic for LocalSynchronizationView.xaml + /// </summary> + public partial class RemoteSynchronizationView : UserControl + { + public RemoteSynchronizationView() + { + InitializeComponent(); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/packages.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/packages.config new file mode 100644 index 000000000..42945b407 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Synchronization/packages.config @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<packages> + <package id="CommonServiceLocator" version="1.3" targetFramework="net46" /> + <package id="FontAwesome.WPF" version="4.7.0.9" targetFramework="net46" /> + <package id="MahApps.Metro" version="1.5.0" targetFramework="net46" /> + <package id="MaterialDesignColors" version="1.1.2" targetFramework="net46" /> + <package id="MaterialDesignThemes" version="2.3.1.953" targetFramework="net46" /> + <package id="MvvmLightLibs" version="5.3.0.0" targetFramework="net46" /> +</packages>
\ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/MaterialDesign.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/MaterialDesign.xaml new file mode 100644 index 000000000..482e852d6 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/MaterialDesign.xaml @@ -0,0 +1,65 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="clr-namespace:Tango.MachineStudio.Common.Resources"> + <ResourceDictionary.MergedDictionaries> + <!-- MahApps.Metro resource dictionaries. Make sure that all file names are Case Sensitive! --> + <!-- Accent and AppTheme setting --> + <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml"> + </ResourceDictionary> + <!--Material Design--> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Light.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/materialdesigncolor.lightblue.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/materialdesigncolor.yellow.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Button.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.CheckBox.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ListBox.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.PopupBox.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.RadioButton.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.ToggleButton.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/materialdesigntheme.TextBlock.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/materialdesigntheme.Label.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/materialdesigntheme.Slider.xaml"> + </ResourceDictionary> + <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/materialdesigntheme.ProgressBar.xaml"/> + + + <!--MahApps Brushes--> + <ResourceDictionary> + <SolidColorBrush x:Key="HighlightBrush" Color="{DynamicResource Primary700}" /> + <SolidColorBrush x:Key="AccentColorBrush" Color="{DynamicResource Primary500}" /> + <SolidColorBrush x:Key="AccentColorBrush2" Color="{DynamicResource Primary400}" /> + <SolidColorBrush x:Key="AccentColorBrush3" Color="{DynamicResource Primary300}" /> + <SolidColorBrush x:Key="AccentColorBrush4" Color="{DynamicResource Primary200}" /> + <SolidColorBrush x:Key="WindowTitleColorBrush" Color="{DynamicResource Primary700}" /> + <SolidColorBrush x:Key="AccentSelectedColorBrush" Color="{DynamicResource Primary500Foreground}" /> + <LinearGradientBrush x:Key="ProgressBrush" EndPoint="0.001,0.5" StartPoint="1.002,0.5"> + <GradientStop Color="{DynamicResource Primary700}" Offset="0" /> + <GradientStop Color="{DynamicResource Primary300}" Offset="1" /> + </LinearGradientBrush> + <SolidColorBrush x:Key="CheckmarkFill" Color="{DynamicResource Primary500}" /> + <SolidColorBrush x:Key="RightArrowFill" Color="{DynamicResource Primary500}" /> + <SolidColorBrush x:Key="IdealForegroundColorBrush" Color="{DynamicResource Primary500Foreground}" /> + <SolidColorBrush x:Key="IdealForegroundDisabledBrush" Color="{DynamicResource Primary500}" Opacity="0.4" /> + </ResourceDictionary> + + </ResourceDictionary.MergedDictionaries> +</ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj index 1aa5216b4..70962a2f7 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj @@ -40,6 +40,9 @@ <Reference Include="GalaSoft.MvvmLight.Platform, Version=5.3.0.19032, Culture=neutral, PublicKeyToken=5f873c45e98af8a1, processorArchitecture=MSIL"> <HintPath>..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\GalaSoft.MvvmLight.Platform.dll</HintPath> </Reference> + <Reference Include="MahApps.Metro, Version=1.5.0.23, Culture=neutral, PublicKeyToken=f4fb5a3c4d1e5b4f, processorArchitecture=MSIL"> + <HintPath>..\..\packages\MahApps.Metro.1.5.0\lib\net45\MahApps.Metro.dll</HintPath> + </Reference> <Reference Include="MaterialDesignColors, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\..\packages\MaterialDesignColors.1.1.2\lib\net45\MaterialDesignColors.dll</HintPath> </Reference> @@ -52,8 +55,7 @@ <Reference Include="System" /> <Reference Include="System.Data" /> <Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> - <HintPath>..\..\packages\MvvmLightLibs.5.3.0.0\lib\net45\System.Windows.Interactivity.dll</HintPath> - <Private>True</Private> + <HintPath>..\..\packages\MahApps.Metro.1.5.0\lib\net45\System.Windows.Interactivity.dll</HintPath> </Reference> <Reference Include="System.Xml" /> <Reference Include="Microsoft.CSharp" /> @@ -94,6 +96,10 @@ <Compile Include="Navigation\INavigationManager.cs" /> <Compile Include="Navigation\NavigationView.cs" /> <Compile Include="Notifications\INotificationProvider.cs" /> + <Page Include="Resources\MaterialDesign.xaml"> + <SubType>Designer</SubType> + <Generator>MSBuild:Compile</Generator> + </Page> </ItemGroup> <ItemGroup> <Compile Include="Properties\AssemblyInfo.cs"> diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/packages.config b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/packages.config index f67c854e3..4fd672b32 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/packages.config +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/packages.config @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="CommonServiceLocator" version="1.3" targetFramework="net46" /> + <package id="MahApps.Metro" version="1.5.0" targetFramework="net46" /> <package id="MaterialDesignColors" version="1.1.2" targetFramework="net46" /> <package id="MaterialDesignThemes" version="2.3.1.953" targetFramework="net46" /> <package id="MvvmLightLibs" version="5.3.0.0" targetFramework="net46" /> diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj index be0c1a829..4aa14b56a 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Tango.MachineStudio.UI.csproj @@ -232,6 +232,10 @@ <Project>{94f7acf8-55e1-4a02-b9bc-a818413fdbbf}</Project> <Name>Tango.MachineStudio.DB</Name> </ProjectReference> + <ProjectReference Include="..\Modules\Tango.MachineStudio.Synchronization\Tango.MachineStudio.Synchronization.csproj"> + <Project>{12d0c43c-391f-4c74-92ab-82e9a9beeb9b}</Project> + <Name>Tango.MachineStudio.Synchronization</Name> + </ProjectReference> <ProjectReference Include="..\Tango.MachineStudio.Common\Tango.MachineStudio.Common.csproj"> <Project>{cb0b0aa2-bb24-4bca-a720-45e397684e12}</Project> <Name>Tango.MachineStudio.Common</Name> diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_DISPLAY_PANEL_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_DISPLAY_PANEL_VERSIONS.cs index df8ed6d2f..410d0309c 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_DISPLAY_PANEL_VERSIONS.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_DISPLAY_PANEL_VERSIONS.cs @@ -18,5 +18,7 @@ namespace Tango.DAL.Local.DB public string GUID { get; set; } public System.DateTime LAST_UPDATED { get; set; } public bool DELETED { get; set; } + public double VERSION { get; set; } + public string NAME { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_FIRMWARE_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_FIRMWARE_VERSIONS.cs index 3cf9cd3ce..dca8e82f1 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_FIRMWARE_VERSIONS.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_FIRMWARE_VERSIONS.cs @@ -18,5 +18,7 @@ namespace Tango.DAL.Local.DB public string GUID { get; set; } public System.DateTime LAST_UPDATED { get; set; } public bool DELETED { get; set; } + public double VERSION { get; set; } + public string NAME { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_OS_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_OS_VERSIONS.cs index a3d4afab8..c05a2410c 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_OS_VERSIONS.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_OS_VERSIONS.cs @@ -18,5 +18,7 @@ namespace Tango.DAL.Local.DB public string GUID { get; set; } public System.DateTime LAST_UPDATED { get; set; } public bool DELETED { get; set; } + public double VERSION { get; set; } + public string NAME { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_VERSIONS.cs index 7ef6c94cb..c250201d0 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_VERSIONS.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/APPLICATION_VERSIONS.cs @@ -18,5 +18,7 @@ namespace Tango.DAL.Local.DB public string GUID { get; set; } public System.DateTime LAST_UPDATED { get; set; } public bool DELETED { get; set; } + public double VERSION { get; set; } + public string NAME { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/CARTRIDGE_TYPES.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/CARTRIDGE_TYPES.cs index 87d05642b..6d8e2d441 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/CARTRIDGE_TYPES.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/CARTRIDGE_TYPES.cs @@ -18,5 +18,7 @@ namespace Tango.DAL.Local.DB public string GUID { get; set; } public System.DateTime LAST_UPDATED { get; set; } public bool DELETED { get; set; } + public long CODE { get; set; } + public string NAME { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/DISPENSER_TYPES.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/DISPENSER_TYPES.cs index f66752a5e..718ab5219 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/DISPENSER_TYPES.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/DISPENSER_TYPES.cs @@ -18,5 +18,7 @@ namespace Tango.DAL.Local.DB public string GUID { get; set; } public System.DateTime LAST_UPDATED { get; set; } public bool DELETED { get; set; } + public long CODE { get; set; } + public string NAME { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/EMBEDDED_FIRMWARE_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/EMBEDDED_FIRMWARE_VERSIONS.cs index d44343495..b4f3c3c85 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/EMBEDDED_FIRMWARE_VERSIONS.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/EMBEDDED_FIRMWARE_VERSIONS.cs @@ -18,5 +18,7 @@ namespace Tango.DAL.Local.DB public string GUID { get; set; } public System.DateTime LAST_UPDATED { get; set; } public bool DELETED { get; set; } + public double VERSION { get; set; } + public string NAME { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/EMBEDDED_SOFTWARE_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/EMBEDDED_SOFTWARE_VERSIONS.cs index a0b0a7b22..117295091 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/EMBEDDED_SOFTWARE_VERSIONS.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/EMBEDDED_SOFTWARE_VERSIONS.cs @@ -18,5 +18,7 @@ namespace Tango.DAL.Local.DB public string GUID { get; set; } public System.DateTime LAST_UPDATED { get; set; } public bool DELETED { get; set; } + public double VERSION { get; set; } + public string NAME { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/EVENT_TYPES.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/EVENT_TYPES.cs index 3ec964cb8..af7b10d05 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/EVENT_TYPES.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/EVENT_TYPES.cs @@ -18,6 +18,7 @@ namespace Tango.DAL.Local.DB public string GUID { get; set; } public System.DateTime LAST_UPDATED { get; set; } public bool DELETED { get; set; } + public long CODE { get; set; } public string NAME { get; set; } public string DESCRIPTION { get; set; } } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/FIBER_SYNTHESISES.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/FIBER_SYNTHS.cs index f6667a7c1..668872f68 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/FIBER_SYNTHESISES.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/FIBER_SYNTHS.cs @@ -12,7 +12,7 @@ namespace Tango.DAL.Local.DB using System; using System.Collections.Generic; - public partial class FIBER_SYNTHESISES + public partial class FIBER_SYNTHS { public long ID { get; set; } public string GUID { get; set; } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/HARDWARE_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/HARDWARE_VERSIONS.cs index 0ceb68f7c..62b93a878 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/HARDWARE_VERSIONS.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/HARDWARE_VERSIONS.cs @@ -18,5 +18,7 @@ namespace Tango.DAL.Local.DB public string GUID { get; set; } public System.DateTime LAST_UPDATED { get; set; } public bool DELETED { get; set; } + public double VERSION { get; set; } + public string NAME { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/LIQUID_TYPES.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/LIQUID_TYPES.cs index 652d219ba..16e069ef1 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/LIQUID_TYPES.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/LIQUID_TYPES.cs @@ -21,5 +21,6 @@ namespace Tango.DAL.Local.DB public long CODE { get; set; } public string NAME { get; set; } public double VERSION { get; set; } + public long COLOR { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/LocalADO.Context.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/LocalADO.Context.cs index 10f77068c..24df1c1ce 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/LocalADO.Context.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/LocalADO.Context.cs @@ -42,7 +42,7 @@ namespace Tango.DAL.Local.DB public virtual DbSet<EVENT_TYPES> EVENT_TYPES { get; set; } public virtual DbSet<EVENT_TYPES_ACTIONS> EVENT_TYPES_ACTIONS { get; set; } public virtual DbSet<FIBER_SHAPES> FIBER_SHAPES { get; set; } - public virtual DbSet<FIBER_SYNTHESISES> FIBER_SYNTHESISES { get; set; } + public virtual DbSet<FIBER_SYNTHS> FIBER_SYNTHS { get; set; } public virtual DbSet<HARDWARE_VERSIONS> HARDWARE_VERSIONS { get; set; } public virtual DbSet<IDS_PACKS> IDS_PACKS { get; set; } public virtual DbSet<LINEAR_MASS_DENSITY_UNITS> LINEAR_MASS_DENSITY_UNITS { get; set; } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/LocalADO.edmx b/Software/Visual_Studio/Tango.DAL.Local/DB/LocalADO.edmx index 261cec120..aa2095368 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/LocalADO.edmx +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/LocalADO.edmx @@ -41,6 +41,8 @@ <Property Name="GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" /> <Property Name="DELETED" Type="bit" Nullable="false" /> + <Property Name="VERSION" Type="real" Nullable="false" /> + <Property Name="NAME" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> </EntityType> <EntityType Name="APPLICATION_FIRMWARE_VERSIONS"> <Key> @@ -50,6 +52,8 @@ <Property Name="GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" /> <Property Name="DELETED" Type="bit" Nullable="false" /> + <Property Name="VERSION" Type="real" Nullable="false" /> + <Property Name="NAME" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> </EntityType> <EntityType Name="APPLICATION_OS_VERSIONS"> <Key> @@ -59,6 +63,8 @@ <Property Name="GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" /> <Property Name="DELETED" Type="bit" Nullable="false" /> + <Property Name="VERSION" Type="real" Nullable="false" /> + <Property Name="NAME" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> </EntityType> <EntityType Name="APPLICATION_VERSIONS"> <Key> @@ -68,6 +74,8 @@ <Property Name="GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" /> <Property Name="DELETED" Type="bit" Nullable="false" /> + <Property Name="VERSION" Type="real" Nullable="false" /> + <Property Name="NAME" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> </EntityType> <EntityType Name="CARTRIDGE_TYPES"> <Key> @@ -77,6 +85,8 @@ <Property Name="GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" /> <Property Name="DELETED" Type="bit" Nullable="false" /> + <Property Name="CODE" Type="integer" Nullable="false" /> + <Property Name="NAME" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> </EntityType> <EntityType Name="CARTRIDGES"> <Key> @@ -129,6 +139,8 @@ <Property Name="GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" /> <Property Name="DELETED" Type="bit" Nullable="false" /> + <Property Name="CODE" Type="integer" Nullable="false" /> + <Property Name="NAME" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> </EntityType> <EntityType Name="DISPENSERS"> <Key> @@ -148,6 +160,8 @@ <Property Name="GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" /> <Property Name="DELETED" Type="bit" Nullable="false" /> + <Property Name="VERSION" Type="real" Nullable="false" /> + <Property Name="NAME" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> </EntityType> <EntityType Name="EMBEDDED_SOFTWARE_VERSIONS"> <Key> @@ -157,6 +171,8 @@ <Property Name="GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" /> <Property Name="DELETED" Type="bit" Nullable="false" /> + <Property Name="VERSION" Type="real" Nullable="false" /> + <Property Name="NAME" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> </EntityType> <EntityType Name="EVENT_TYPES"> <Key> @@ -166,6 +182,7 @@ <Property Name="GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" /> <Property Name="DELETED" Type="bit" Nullable="false" /> + <Property Name="CODE" Type="integer" Nullable="false" /> <Property Name="NAME" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="DESCRIPTION" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> </EntityType> @@ -189,7 +206,7 @@ <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" /> <Property Name="DELETED" Type="bit" Nullable="false" /> </EntityType> - <EntityType Name="FIBER_SYNTHESISES"> + <EntityType Name="FIBER_SYNTHS"> <Key> <PropertyRef Name="ID" /> </Key> @@ -206,6 +223,8 @@ <Property Name="GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" /> <Property Name="DELETED" Type="bit" Nullable="false" /> + <Property Name="VERSION" Type="real" Nullable="false" /> + <Property Name="NAME" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> </EntityType> <EntityType Name="IDS_PACKS"> <Key> @@ -240,6 +259,7 @@ <Property Name="CODE" Type="integer" Nullable="false" /> <Property Name="NAME" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="VERSION" Type="real" Nullable="false" /> + <Property Name="COLOR" Type="integer" Nullable="false" /> </EntityType> <EntityType Name="LIQUID_TYPES_RMLS"> <Key> @@ -260,7 +280,9 @@ <Property Name="GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="LAST_UPDATED" Type="datetime" Nullable="false" /> <Property Name="DELETED" Type="bit" Nullable="false" /> + <Property Name="NAME" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="VERSION" Type="real" Nullable="false" /> + <Property Name="DEFAULT_CONFIGURATION_GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> </EntityType> <EntityType Name="MACHINES"> <Key> @@ -378,7 +400,7 @@ <Property Name="CONDITION_GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="LINEAR_MASS_DENSITY_UNIT_GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="FIBER_SHAPE_GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> - <Property Name="FIBER_SYNTHESIS_GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> + <Property Name="FIBER_SYNTH_GUID" Type="nvarchar" MaxLength="2147483647" Nullable="false" /> <Property Name="FIBER_SIZE" Type="real" Nullable="false" /> <Property Name="NUMBER_OF_FIBERS" Type="integer" Nullable="false" /> <Property Name="PLIES_PER_FIBER" Type="integer" Nullable="false" /> @@ -464,7 +486,7 @@ <EntitySet Name="EVENT_TYPES" EntityType="Self.EVENT_TYPES" store:Type="Tables" /> <EntitySet Name="EVENT_TYPES_ACTIONS" EntityType="Self.EVENT_TYPES_ACTIONS" store:Type="Tables" /> <EntitySet Name="FIBER_SHAPES" EntityType="Self.FIBER_SHAPES" store:Type="Tables" /> - <EntitySet Name="FIBER_SYNTHESISES" EntityType="Self.FIBER_SYNTHESISES" store:Type="Tables" /> + <EntitySet Name="FIBER_SYNTHS" EntityType="Self.FIBER_SYNTHS" store:Type="Tables" /> <EntitySet Name="HARDWARE_VERSIONS" EntityType="Self.HARDWARE_VERSIONS" store:Type="Tables" /> <EntitySet Name="IDS_PACKS" EntityType="Self.IDS_PACKS" store:Type="Tables" /> <EntitySet Name="LINEAR_MASS_DENSITY_UNITS" EntityType="Self.LINEAR_MASS_DENSITY_UNITS" store:Type="Tables" /> @@ -509,7 +531,7 @@ <EntitySet Name="EVENT_TYPES" EntityType="LocalModel.EVENT_TYPES" /> <EntitySet Name="EVENT_TYPES_ACTIONS" EntityType="LocalModel.EVENT_TYPES_ACTIONS" /> <EntitySet Name="FIBER_SHAPES" EntityType="LocalModel.FIBER_SHAPES" /> - <EntitySet Name="FIBER_SYNTHESISES" EntityType="LocalModel.FIBER_SYNTHESISES" /> + <EntitySet Name="FIBER_SYNTHS" EntityType="LocalModel.FIBER_SYNTHS" /> <EntitySet Name="HARDWARE_VERSIONS" EntityType="LocalModel.HARDWARE_VERSIONS" /> <EntitySet Name="IDS_PACKS" EntityType="LocalModel.IDS_PACKS" /> <EntitySet Name="LINEAR_MASS_DENSITY_UNITS" EntityType="LocalModel.LINEAR_MASS_DENSITY_UNITS" /> @@ -568,6 +590,8 @@ <Property Name="GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" /> <Property Name="DELETED" Type="Boolean" Nullable="false" /> + <Property Name="VERSION" Type="Double" Nullable="false" /> + <Property Name="NAME" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> </EntityType> <EntityType Name="APPLICATION_FIRMWARE_VERSIONS"> <Key> @@ -577,6 +601,8 @@ <Property Name="GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" /> <Property Name="DELETED" Type="Boolean" Nullable="false" /> + <Property Name="VERSION" Type="Double" Nullable="false" /> + <Property Name="NAME" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> </EntityType> <EntityType Name="APPLICATION_OS_VERSIONS"> <Key> @@ -586,6 +612,8 @@ <Property Name="GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" /> <Property Name="DELETED" Type="Boolean" Nullable="false" /> + <Property Name="VERSION" Type="Double" Nullable="false" /> + <Property Name="NAME" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> </EntityType> <EntityType Name="APPLICATION_VERSIONS"> <Key> @@ -595,6 +623,8 @@ <Property Name="GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" /> <Property Name="DELETED" Type="Boolean" Nullable="false" /> + <Property Name="VERSION" Type="Double" Nullable="false" /> + <Property Name="NAME" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> </EntityType> <EntityType Name="CARTRIDGE_TYPES"> <Key> @@ -604,6 +634,8 @@ <Property Name="GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" /> <Property Name="DELETED" Type="Boolean" Nullable="false" /> + <Property Name="CODE" Type="Int64" Nullable="false" /> + <Property Name="NAME" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> </EntityType> <EntityType Name="CARTRIDGE"> <Key> @@ -656,6 +688,8 @@ <Property Name="GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" /> <Property Name="DELETED" Type="Boolean" Nullable="false" /> + <Property Name="CODE" Type="Int64" Nullable="false" /> + <Property Name="NAME" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> </EntityType> <EntityType Name="DISPENSER"> <Key> @@ -675,6 +709,8 @@ <Property Name="GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" /> <Property Name="DELETED" Type="Boolean" Nullable="false" /> + <Property Name="VERSION" Type="Double" Nullable="false" /> + <Property Name="NAME" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> </EntityType> <EntityType Name="EMBEDDED_SOFTWARE_VERSIONS"> <Key> @@ -684,6 +720,8 @@ <Property Name="GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" /> <Property Name="DELETED" Type="Boolean" Nullable="false" /> + <Property Name="VERSION" Type="Double" Nullable="false" /> + <Property Name="NAME" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> </EntityType> <EntityType Name="EVENT_TYPES"> <Key> @@ -693,6 +731,7 @@ <Property Name="GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" /> <Property Name="DELETED" Type="Boolean" Nullable="false" /> + <Property Name="CODE" Type="Int64" Nullable="false" /> <Property Name="NAME" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="DESCRIPTION" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> </EntityType> @@ -716,7 +755,7 @@ <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" /> <Property Name="DELETED" Type="Boolean" Nullable="false" /> </EntityType> - <EntityType Name="FIBER_SYNTHESISES"> + <EntityType Name="FIBER_SYNTHS"> <Key> <PropertyRef Name="ID" /> </Key> @@ -733,6 +772,8 @@ <Property Name="GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" /> <Property Name="DELETED" Type="Boolean" Nullable="false" /> + <Property Name="VERSION" Type="Double" Nullable="false" /> + <Property Name="NAME" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> </EntityType> <EntityType Name="IDS_PACKS"> <Key> @@ -767,6 +808,7 @@ <Property Name="CODE" Type="Int64" Nullable="false" /> <Property Name="NAME" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="VERSION" Type="Double" Nullable="false" /> + <Property Name="COLOR" Type="Int64" Nullable="false" /> </EntityType> <EntityType Name="LIQUID_TYPES_RMLS"> <Key> @@ -787,7 +829,9 @@ <Property Name="GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="LAST_UPDATED" Type="DateTime" Nullable="false" /> <Property Name="DELETED" Type="Boolean" Nullable="false" /> + <Property Name="NAME" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="VERSION" Type="Double" Nullable="false" /> + <Property Name="DEFAULT_CONFIGURATION_GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> </EntityType> <EntityType Name="MACHINE"> <Key> @@ -905,7 +949,7 @@ <Property Name="CONDITION_GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="LINEAR_MASS_DENSITY_UNIT_GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="FIBER_SHAPE_GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> - <Property Name="FIBER_SYNTHESIS_GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> + <Property Name="FIBER_SYNTH_GUID" Type="String" Nullable="false" MaxLength="2147483647" FixedLength="false" Unicode="true" /> <Property Name="FIBER_SIZE" Type="Double" Nullable="false" /> <Property Name="NUMBER_OF_FIBERS" Type="Int64" Nullable="false" /> <Property Name="PLIES_PER_FIBER" Type="Int64" Nullable="false" /> @@ -1012,6 +1056,8 @@ <EntitySetMapping Name="APPLICATION_DISPLAY_PANEL_VERSIONS"> <EntityTypeMapping TypeName="LocalModel.APPLICATION_DISPLAY_PANEL_VERSIONS"> <MappingFragment StoreEntitySet="APPLICATION_DISPLAY_PANEL_VERSIONS"> + <ScalarProperty Name="NAME" ColumnName="NAME" /> + <ScalarProperty Name="VERSION" ColumnName="VERSION" /> <ScalarProperty Name="DELETED" ColumnName="DELETED" /> <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> <ScalarProperty Name="GUID" ColumnName="GUID" /> @@ -1022,6 +1068,8 @@ <EntitySetMapping Name="APPLICATION_FIRMWARE_VERSIONS"> <EntityTypeMapping TypeName="LocalModel.APPLICATION_FIRMWARE_VERSIONS"> <MappingFragment StoreEntitySet="APPLICATION_FIRMWARE_VERSIONS"> + <ScalarProperty Name="NAME" ColumnName="NAME" /> + <ScalarProperty Name="VERSION" ColumnName="VERSION" /> <ScalarProperty Name="DELETED" ColumnName="DELETED" /> <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> <ScalarProperty Name="GUID" ColumnName="GUID" /> @@ -1032,6 +1080,8 @@ <EntitySetMapping Name="APPLICATION_OS_VERSIONS"> <EntityTypeMapping TypeName="LocalModel.APPLICATION_OS_VERSIONS"> <MappingFragment StoreEntitySet="APPLICATION_OS_VERSIONS"> + <ScalarProperty Name="NAME" ColumnName="NAME" /> + <ScalarProperty Name="VERSION" ColumnName="VERSION" /> <ScalarProperty Name="DELETED" ColumnName="DELETED" /> <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> <ScalarProperty Name="GUID" ColumnName="GUID" /> @@ -1042,6 +1092,8 @@ <EntitySetMapping Name="APPLICATION_VERSIONS"> <EntityTypeMapping TypeName="LocalModel.APPLICATION_VERSIONS"> <MappingFragment StoreEntitySet="APPLICATION_VERSIONS"> + <ScalarProperty Name="NAME" ColumnName="NAME" /> + <ScalarProperty Name="VERSION" ColumnName="VERSION" /> <ScalarProperty Name="DELETED" ColumnName="DELETED" /> <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> <ScalarProperty Name="GUID" ColumnName="GUID" /> @@ -1052,6 +1104,8 @@ <EntitySetMapping Name="CARTRIDGE_TYPES"> <EntityTypeMapping TypeName="LocalModel.CARTRIDGE_TYPES"> <MappingFragment StoreEntitySet="CARTRIDGE_TYPES"> + <ScalarProperty Name="NAME" ColumnName="NAME" /> + <ScalarProperty Name="CODE" ColumnName="CODE" /> <ScalarProperty Name="DELETED" ColumnName="DELETED" /> <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> <ScalarProperty Name="GUID" ColumnName="GUID" /> @@ -1108,6 +1162,8 @@ <EntitySetMapping Name="DISPENSER_TYPES"> <EntityTypeMapping TypeName="LocalModel.DISPENSER_TYPES"> <MappingFragment StoreEntitySet="DISPENSER_TYPES"> + <ScalarProperty Name="NAME" ColumnName="NAME" /> + <ScalarProperty Name="CODE" ColumnName="CODE" /> <ScalarProperty Name="DELETED" ColumnName="DELETED" /> <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> <ScalarProperty Name="GUID" ColumnName="GUID" /> @@ -1129,6 +1185,8 @@ <EntitySetMapping Name="EMBEDDED_FIRMWARE_VERSIONS"> <EntityTypeMapping TypeName="LocalModel.EMBEDDED_FIRMWARE_VERSIONS"> <MappingFragment StoreEntitySet="EMBEDDED_FIRMWARE_VERSIONS"> + <ScalarProperty Name="NAME" ColumnName="NAME" /> + <ScalarProperty Name="VERSION" ColumnName="VERSION" /> <ScalarProperty Name="DELETED" ColumnName="DELETED" /> <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> <ScalarProperty Name="GUID" ColumnName="GUID" /> @@ -1139,6 +1197,8 @@ <EntitySetMapping Name="EMBEDDED_SOFTWARE_VERSIONS"> <EntityTypeMapping TypeName="LocalModel.EMBEDDED_SOFTWARE_VERSIONS"> <MappingFragment StoreEntitySet="EMBEDDED_SOFTWARE_VERSIONS"> + <ScalarProperty Name="NAME" ColumnName="NAME" /> + <ScalarProperty Name="VERSION" ColumnName="VERSION" /> <ScalarProperty Name="DELETED" ColumnName="DELETED" /> <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> <ScalarProperty Name="GUID" ColumnName="GUID" /> @@ -1151,6 +1211,7 @@ <MappingFragment StoreEntitySet="EVENT_TYPES"> <ScalarProperty Name="DESCRIPTION" ColumnName="DESCRIPTION" /> <ScalarProperty Name="NAME" ColumnName="NAME" /> + <ScalarProperty Name="CODE" ColumnName="CODE" /> <ScalarProperty Name="DELETED" ColumnName="DELETED" /> <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> <ScalarProperty Name="GUID" ColumnName="GUID" /> @@ -1180,9 +1241,9 @@ </MappingFragment> </EntityTypeMapping> </EntitySetMapping> - <EntitySetMapping Name="FIBER_SYNTHESISES"> - <EntityTypeMapping TypeName="LocalModel.FIBER_SYNTHESISES"> - <MappingFragment StoreEntitySet="FIBER_SYNTHESISES"> + <EntitySetMapping Name="FIBER_SYNTHS"> + <EntityTypeMapping TypeName="LocalModel.FIBER_SYNTHS"> + <MappingFragment StoreEntitySet="FIBER_SYNTHS"> <ScalarProperty Name="DELETED" ColumnName="DELETED" /> <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> <ScalarProperty Name="GUID" ColumnName="GUID" /> @@ -1193,6 +1254,8 @@ <EntitySetMapping Name="HARDWARE_VERSIONS"> <EntityTypeMapping TypeName="LocalModel.HARDWARE_VERSIONS"> <MappingFragment StoreEntitySet="HARDWARE_VERSIONS"> + <ScalarProperty Name="NAME" ColumnName="NAME" /> + <ScalarProperty Name="VERSION" ColumnName="VERSION" /> <ScalarProperty Name="DELETED" ColumnName="DELETED" /> <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> <ScalarProperty Name="GUID" ColumnName="GUID" /> @@ -1227,6 +1290,7 @@ <EntitySetMapping Name="LIQUID_TYPES"> <EntityTypeMapping TypeName="LocalModel.LIQUID_TYPES"> <MappingFragment StoreEntitySet="LIQUID_TYPES"> + <ScalarProperty Name="COLOR" ColumnName="COLOR" /> <ScalarProperty Name="VERSION" ColumnName="VERSION" /> <ScalarProperty Name="NAME" ColumnName="NAME" /> <ScalarProperty Name="CODE" ColumnName="CODE" /> @@ -1252,7 +1316,9 @@ <EntitySetMapping Name="MACHINE_VERSIONS"> <EntityTypeMapping TypeName="LocalModel.MACHINE_VERSIONS"> <MappingFragment StoreEntitySet="MACHINE_VERSIONS"> + <ScalarProperty Name="DEFAULT_CONFIGURATION_GUID" ColumnName="DEFAULT_CONFIGURATION_GUID" /> <ScalarProperty Name="VERSION" ColumnName="VERSION" /> + <ScalarProperty Name="NAME" ColumnName="NAME" /> <ScalarProperty Name="DELETED" ColumnName="DELETED" /> <ScalarProperty Name="LAST_UPDATED" ColumnName="LAST_UPDATED" /> <ScalarProperty Name="GUID" ColumnName="GUID" /> @@ -1383,7 +1449,7 @@ <ScalarProperty Name="PLIES_PER_FIBER" ColumnName="PLIES_PER_FIBER" /> <ScalarProperty Name="NUMBER_OF_FIBERS" ColumnName="NUMBER_OF_FIBERS" /> <ScalarProperty Name="FIBER_SIZE" ColumnName="FIBER_SIZE" /> - <ScalarProperty Name="FIBER_SYNTHESIS_GUID" ColumnName="FIBER_SYNTHESIS_GUID" /> + <ScalarProperty Name="FIBER_SYNTH_GUID" ColumnName="FIBER_SYNTH_GUID" /> <ScalarProperty Name="FIBER_SHAPE_GUID" ColumnName="FIBER_SHAPE_GUID" /> <ScalarProperty Name="LINEAR_MASS_DENSITY_UNIT_GUID" ColumnName="LINEAR_MASS_DENSITY_UNIT_GUID" /> <ScalarProperty Name="CONDITION_GUID" ColumnName="CONDITION_GUID" /> diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/LocalADO.edmx.diagram b/Software/Visual_Studio/Tango.DAL.Local/DB/LocalADO.edmx.diagram index 5bbf17d24..f36a25560 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/LocalADO.edmx.diagram +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/LocalADO.edmx.diagram @@ -22,16 +22,16 @@ <EntityTypeShape EntityType="LocalModel.EVENT_TYPES" Width="1.5" PointX="8.75" PointY="9.75" /> <EntityTypeShape EntityType="LocalModel.EVENT_TYPES_ACTIONS" Width="1.5" PointX="10.75" PointY="0.75" /> <EntityTypeShape EntityType="LocalModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="10.75" /> - <EntityTypeShape EntityType="LocalModel.FIBER_SYNTHESISES" Width="1.5" PointX="10.75" PointY="3.75" /> + <EntityTypeShape EntityType="LocalModel.FIBER_SYNTHS" Width="1.5" PointX="10.75" PointY="3.75" /> <EntityTypeShape EntityType="LocalModel.HARDWARE_VERSIONS" Width="1.5" PointX="10.75" PointY="6.75" /> <EntityTypeShape EntityType="LocalModel.IDS_PACKS" Width="1.5" PointX="10.75" PointY="9.75" /> <EntityTypeShape EntityType="LocalModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="2.75" PointY="11.75" /> <EntityTypeShape EntityType="LocalModel.LIQUID_TYPES" Width="1.5" PointX="4.75" PointY="11.75" /> <EntityTypeShape EntityType="LocalModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="12.75" PointY="0.75" /> <EntityTypeShape EntityType="LocalModel.MACHINE_VERSIONS" Width="1.5" PointX="12.75" PointY="3.75" /> - <EntityTypeShape EntityType="LocalModel.MACHINE" Width="1.5" PointX="12.75" PointY="6.75" /> - <EntityTypeShape EntityType="LocalModel.MACHINES_CONFIGURATIONS" Width="1.5" PointX="6.75" PointY="12.75" /> - <EntityTypeShape EntityType="LocalModel.MACHINES_EVENTS" Width="1.5" PointX="12.75" PointY="10.75" /> + <EntityTypeShape EntityType="LocalModel.MACHINE" Width="1.5" PointX="12.75" PointY="7.75" /> + <EntityTypeShape EntityType="LocalModel.MACHINES_CONFIGURATIONS" Width="1.5" PointX="12.75" PointY="11.75" /> + <EntityTypeShape EntityType="LocalModel.MACHINES_EVENTS" Width="1.5" PointX="6.75" PointY="13.75" /> <EntityTypeShape EntityType="LocalModel.MEDIA_COLORS" Width="1.5" PointX="8.75" PointY="13.75" /> <EntityTypeShape EntityType="LocalModel.MEDIA_CONDITIONS" Width="1.5" PointX="14.75" PointY="0.75" /> <EntityTypeShape EntityType="LocalModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="14.75" /> @@ -42,8 +42,8 @@ <EntityTypeShape EntityType="LocalModel.ROLE" Width="1.5" PointX="12.75" PointY="14.75" /> <EntityTypeShape EntityType="LocalModel.ROLES_PERMISSIONS" Width="1.5" PointX="14.75" PointY="14.75" /> <EntityTypeShape EntityType="LocalModel.SYNC_CONFIGURATIONS" Width="1.5" PointX="2.75" PointY="15.75" /> - <EntityTypeShape EntityType="LocalModel.USER" Width="1.5" PointX="4.75" PointY="15.75" /> - <EntityTypeShape EntityType="LocalModel.USERS_ROLES" Width="1.5" PointX="16.75" PointY="0.75" /> + <EntityTypeShape EntityType="LocalModel.USER" Width="1.5" PointX="16.75" PointY="0.75" /> + <EntityTypeShape EntityType="LocalModel.USERS_ROLES" Width="1.5" PointX="16.75" PointY="4.75" /> </Diagram> </edmx:Diagrams> </edmx:Designer> diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/MACHINE_VERSIONS.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/MACHINE_VERSIONS.cs index 987d5b501..482c5ff01 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/MACHINE_VERSIONS.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/MACHINE_VERSIONS.cs @@ -18,6 +18,8 @@ namespace Tango.DAL.Local.DB public string 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 string DEFAULT_CONFIGURATION_GUID { get; set; } } } diff --git a/Software/Visual_Studio/Tango.DAL.Local/DB/RML.cs b/Software/Visual_Studio/Tango.DAL.Local/DB/RML.cs index 6761a538f..8b7723d95 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/DB/RML.cs +++ b/Software/Visual_Studio/Tango.DAL.Local/DB/RML.cs @@ -25,7 +25,7 @@ namespace Tango.DAL.Local.DB public string CONDITION_GUID { get; set; } public string LINEAR_MASS_DENSITY_UNIT_GUID { get; set; } public string FIBER_SHAPE_GUID { get; set; } - public string FIBER_SYNTHESIS_GUID { get; set; } + public string FIBER_SYNTH_GUID { get; set; } public double FIBER_SIZE { get; set; } public long NUMBER_OF_FIBERS { get; set; } public long PLIES_PER_FIBER { get; set; } diff --git a/Software/Visual_Studio/Tango.DAL.Local/Tango.DAL.Local.csproj b/Software/Visual_Studio/Tango.DAL.Local/Tango.DAL.Local.csproj index 14625e59f..b37074e7f 100644 --- a/Software/Visual_Studio/Tango.DAL.Local/Tango.DAL.Local.csproj +++ b/Software/Visual_Studio/Tango.DAL.Local/Tango.DAL.Local.csproj @@ -116,7 +116,7 @@ <Compile Include="DB\FIBER_SHAPES.cs"> <DependentUpon>LocalADO.tt</DependentUpon> </Compile> - <Compile Include="DB\FIBER_SYNTHESISES.cs"> + <Compile Include="DB\FIBER_SYNTHS.cs"> <DependentUpon>LocalADO.tt</DependentUpon> </Compile> <Compile Include="DB\HARDWARE_VERSIONS.cs"> diff --git a/Software/Visual_Studio/Tango.DAL.Observables/Enumerations/ActionTypes.cs b/Software/Visual_Studio/Tango.DAL.Observables/Enumerations/ActionTypes.cs index 750b1b4ab..3473559e6 100644 --- a/Software/Visual_Studio/Tango.DAL.Observables/Enumerations/ActionTypes.cs +++ b/Software/Visual_Studio/Tango.DAL.Observables/Enumerations/ActionTypes.cs @@ -8,5 +8,18 @@ namespace Tango.DAL.Observables { public enum ActionTypes { + + /// <summary> + /// (Some description) + /// </summary> + [Description("Some description")] + Action1 = 1, + + /// <summary> + /// (Some action 2 description) + /// </summary> + [Description("Some action 2 description")] + Action2 = 2, + } } diff --git a/Software/Visual_Studio/Tango.DAL.Observables/Enumerations/EventTypes.cs b/Software/Visual_Studio/Tango.DAL.Observables/Enumerations/EventTypes.cs index 4321c9f9f..66df05539 100644 --- a/Software/Visual_Studio/Tango.DAL.Observables/Enumerations/EventTypes.cs +++ b/Software/Visual_Studio/Tango.DAL.Observables/Enumerations/EventTypes.cs @@ -8,5 +8,18 @@ namespace Tango.DAL.Observables { public enum EventTypes { + + /// <summary> + /// (Some event description) + /// </summary> + [Description("Some event description")] + Event1 = 1, + + /// <summary> + /// (Some event 2 description) + /// </summary> + [Description("Some event 2 description")] + Event2 = 2, + } } diff --git a/Software/Visual_Studio/Tango.DAL.Observables/Enumerations/Permissions.cs b/Software/Visual_Studio/Tango.DAL.Observables/Enumerations/Permissions.cs index 542555b51..8e90b2b87 100644 --- a/Software/Visual_Studio/Tango.DAL.Observables/Enumerations/Permissions.cs +++ b/Software/Visual_Studio/Tango.DAL.Observables/Enumerations/Permissions.cs @@ -27,5 +27,11 @@ namespace Tango.DAL.Observables [Description("Allows loading the database module in Machine Studio")] RunDataBaseModule = 2, + /// <summary> + /// (Allows loading the synchronization module in machine studio) + /// </summary> + [Description("Allows loading the synchronization module in machine studio")] + RunSynchronizationModule = 3, + } } diff --git a/Software/Visual_Studio/Tango.DAL.Observables/ExtensionMethods/ConfigurationExtensions.cs b/Software/Visual_Studio/Tango.DAL.Observables/ExtensionMethods/ConfigurationExtensions.cs index f80c45eae..6ab3b602f 100644 --- a/Software/Visual_Studio/Tango.DAL.Observables/ExtensionMethods/ConfigurationExtensions.cs +++ b/Software/Visual_Studio/Tango.DAL.Observables/ExtensionMethods/ConfigurationExtensions.cs @@ -10,7 +10,7 @@ public static class ConfigurationExtensions public static Configuration CloneConfiguration(this Configuration configuration) { Configuration cloned = configuration.CloneEntity(); - cloned.CreationDate = DateTime.Now; + cloned.CreationDate = DateTime.UtcNow; foreach (var idsPack in configuration.IdsPacks) { diff --git a/Software/Visual_Studio/Tango.DAL.Observables/ExtensionMethods/ObservableEntityExtensions.cs b/Software/Visual_Studio/Tango.DAL.Observables/ExtensionMethods/ObservableEntityExtensions.cs index 8fad6e39c..eb7e6efb9 100644 --- a/Software/Visual_Studio/Tango.DAL.Observables/ExtensionMethods/ObservableEntityExtensions.cs +++ b/Software/Visual_Studio/Tango.DAL.Observables/ExtensionMethods/ObservableEntityExtensions.cs @@ -11,7 +11,7 @@ public static class ObservableEntityExtensions { T cloned = entity.ShallowClone(); cloned.Guid = Guid.NewGuid().ToString(); - cloned.LastUpdated = DateTime.Now; + cloned.LastUpdated = DateTime.UtcNow; return cloned; } } diff --git a/Software/Visual_Studio/Tango.DAL.Observables/IObservableEntity.cs b/Software/Visual_Studio/Tango.DAL.Observables/IObservableEntity.cs index 397d7b820..10bb15f3f 100644 --- a/Software/Visual_Studio/Tango.DAL.Observables/IObservableEntity.cs +++ b/Software/Visual_Studio/Tango.DAL.Observables/IObservableEntity.cs @@ -25,8 +25,13 @@ namespace Tango.DAL.Observables Task SaveAsync(); + [Obsolete("The method delete is not for use as it prevents the synchronization of remote and local database.")] void Delete(); + void SoftDelete(); + + Task SoftDeleteAsync(); + List<KeyValuePair<String, String>> GetDependentEntitiesNameAndGuid(); } } diff --git a/Software/Visual_Studio/Tango.DAL.Observables/ObservableEntity.cs b/Software/Visual_Studio/Tango.DAL.Observables/ObservableEntity.cs index e5e49ac38..74bcfbb83 100644 --- a/Software/Visual_Studio/Tango.DAL.Observables/ObservableEntity.cs +++ b/Software/Visual_Studio/Tango.DAL.Observables/ObservableEntity.cs @@ -138,6 +138,8 @@ namespace Tango.DAL.Observables public abstract void Delete(); public abstract Task SaveAsync(); + public abstract void SoftDelete(); + public abstract Task SoftDeleteAsync(); } public abstract class ObservableEntity<T> : ObservableEntity where T : class @@ -183,7 +185,7 @@ namespace Tango.DAL.Observables { Entity = Activator.CreateInstance<T>(); Guid = System.Guid.NewGuid().ToString(); - LastUpdated = DateTime.Now; + LastUpdated = DateTime.UtcNow; _isNew = true; } @@ -219,10 +221,27 @@ namespace Tango.DAL.Observables ObservablesEntitiesAdapter.Instance.SaveChanges(); } + public override void SoftDelete() + { + this.Deleted = true; + Save(); + } + + public override Task SoftDeleteAsync() + { + return Task.Factory.StartNew(() => + { + SoftDelete(); + }); + } + internal override void Save(List<IObservableEntity> savedEntities) { savedEntities.Add(this); + //Update last updated... + this.LastUpdated = DateTime.UtcNow; + //Match guids.. foreach (var prop in this.GetType().GetProperties().Where(x => !x.PropertyType.IsGenericType && x.PropertyType.IsClass && x.PropertyType != typeof(String) && x.PropertyType != typeof(DateTime))) diff --git a/Software/Visual_Studio/Tango.Synchronization/Local/LocalDBSynchronizer.cs b/Software/Visual_Studio/Tango.Synchronization/Local/LocalDBSynchronizer.cs index ca58686f3..c7b6900d6 100644 --- a/Software/Visual_Studio/Tango.Synchronization/Local/LocalDBSynchronizer.cs +++ b/Software/Visual_Studio/Tango.Synchronization/Local/LocalDBSynchronizer.cs @@ -8,7 +8,7 @@ namespace Tango.Synchronization.Local { public class LocalDBSynchronizer { - public static void Synchronize(String masterSQLiteFile, String slaveSQLiteFile) + public static List<Diff> Synchronize(String masterSQLiteFile, String slaveSQLiteFile) { using (LocalDBComparer comparer = new LocalDBComparer(new SQLiteDataBase(masterSQLiteFile), new SQLiteDataBase(slaveSQLiteFile))) { @@ -17,12 +17,14 @@ namespace Tango.Synchronization.Local { diff.Commit(); } + + return diffs; } } - public static Task SynchronizeAsync(String masterSQLiteFile, String slaveSQLiteFile) + public static Task<List<Diff>> SynchronizeAsync(String masterSQLiteFile, String slaveSQLiteFile) { - return Task.Factory.StartNew(() => Synchronize(masterSQLiteFile, slaveSQLiteFile)); + return Task.Factory.StartNew<List<Diff>>(() => { return Synchronize(masterSQLiteFile, slaveSQLiteFile); }); } } } diff --git a/Software/Visual_Studio/Tango.Synchronization/Local/SqliteDataBase.cs b/Software/Visual_Studio/Tango.Synchronization/Local/SqliteDataBase.cs index b3d259e8c..add791b19 100644 --- a/Software/Visual_Studio/Tango.Synchronization/Local/SqliteDataBase.cs +++ b/Software/Visual_Studio/Tango.Synchronization/Local/SqliteDataBase.cs @@ -100,6 +100,16 @@ namespace Tango.Synchronization.Local return table; } + public void ClearDataBase() + { + foreach (var table in Tables) + { + var dropCommand = _connection.CreateCommand(); + dropCommand.CommandText = String.Format("DELETE FROM {0};", table.TableName); + dropCommand.ExecuteNonQuery(); + } + } + /// <summary> /// Clones a table from another database into this database. /// </summary> diff --git a/Software/Visual_Studio/Tango.Synchronization/Remote/RemoteDBSynchronizer.cs b/Software/Visual_Studio/Tango.Synchronization/Remote/RemoteDBSynchronizer.cs index ae39e118b..7abd8ad7e 100644 --- a/Software/Visual_Studio/Tango.Synchronization/Remote/RemoteDBSynchronizer.cs +++ b/Software/Visual_Studio/Tango.Synchronization/Remote/RemoteDBSynchronizer.cs @@ -6,13 +6,21 @@ using System.Threading.Tasks; using remote = Tango.DAL.Remote.DB; using local = Tango.DAL.Local.DB; using Tango.Settings; +using Tango.Synchronization.Local; namespace Tango.Synchronization.Remote { public class RemoteDBSynchronizer { - public static void Synchronize(String sqliteDbFile, String serialNumber) + public static List<Diff> Synchronize(String sqliteDbFile, String serialNumber, bool overrideLocal = false) { + if (overrideLocal) + { + SQLiteDataBase sqlite = new SQLiteDataBase(sqliteDbFile); + sqlite.LoadTables(); + sqlite.ClearDataBase(); + } + using (var remoteDB = new remote.RemoteDB(SettingsManager.Default.DataBase.SQLServerAddress, false)) { using (var localDB = new local.LocalDB(sqliteDbFile)) @@ -27,15 +35,17 @@ namespace Tango.Synchronization.Remote remoteDB.SaveChanges(); localDB.SaveChanges(); + + return diffs; } } } - public static Task SynchronizeAsync(String sqliteDBFile, String serialNumber) + public static Task<List<Diff>> SynchronizeAsync(String sqliteDBFile, String serialNumber, bool overrideLocal = false) { - return Task.Factory.StartNew(() => + return Task.Factory.StartNew<List<Diff>>(() => { - Synchronize(sqliteDBFile, serialNumber); + return Synchronize(sqliteDBFile, serialNumber, overrideLocal); }); } } diff --git a/Software/Visual_Studio/Tango.UnitTesting/DAL_TST.cs b/Software/Visual_Studio/Tango.UnitTesting/DAL_TST.cs index e9fa5e6ba..88ea53900 100644 --- a/Software/Visual_Studio/Tango.UnitTesting/DAL_TST.cs +++ b/Software/Visual_Studio/Tango.UnitTesting/DAL_TST.cs @@ -17,21 +17,21 @@ namespace Tango.UnitTesting using (var db = new DAL.Remote.DB.RemoteDB(SettingsManager.Default.DataBase.SQLServerAddress, false)) { - var action = new DAL.Remote.DB.ACTION(); + var action = new DAL.Remote.DB.ACTION_TYPES(); action.CODE = 1; action.NAME = "Action 1"; action.DESCRIPTION = "Description 1"; action.GUID = guid; - action.LAST_UPDATED = DateTime.Now; + action.LAST_UPDATED = DateTime.UtcNow; - db.ACTIONS.Add(action); + db.ACTION_TYPES.Add(action); db.SaveChanges(); } using (var db = new DAL.Remote.DB.RemoteDB(SettingsManager.Default.DataBase.SQLServerAddress, false)) { - var action = db.ACTIONS.Single(x => x.GUID == guid); - db.ACTIONS.Remove(action); + var action = db.ACTION_TYPES.Single(x => x.GUID == guid); + db.ACTION_TYPES.Remove(action); db.SaveChanges(); } } @@ -43,21 +43,21 @@ namespace Tango.UnitTesting using (var db = new DAL.Local.DB.LocalDB(Helper.GetSQLiteFilePath())) { - var action = new DAL.Local.DB.ACTION(); + var action = new DAL.Local.DB.ACTION_TYPES(); action.CODE = 1; action.NAME = "Action 1"; action.DESCRIPTION = "Description 1"; action.GUID = guid; - db.ACTIONS.Add(action); + db.ACTION_TYPES.Add(action); db.SaveChanges(); } using (var db = new DAL.Local.DB.LocalDB(Helper.GetSQLiteFilePath())) { - var actions = db.ACTIONS.ToList(); - var action = db.ACTIONS.Single(x => x.GUID == guid); - db.ACTIONS.Remove(action); + var actions = db.ACTION_TYPES.ToList(); + var action = db.ACTION_TYPES.Single(x => x.GUID == guid); + db.ACTION_TYPES.Remove(action); db.SaveChanges(); } } diff --git a/Software/Visual_Studio/Tango.UnitTesting/Synchronization_TST.cs b/Software/Visual_Studio/Tango.UnitTesting/Synchronization_TST.cs index 765d93115..3b949cf90 100644 --- a/Software/Visual_Studio/Tango.UnitTesting/Synchronization_TST.cs +++ b/Software/Visual_Studio/Tango.UnitTesting/Synchronization_TST.cs @@ -20,7 +20,23 @@ namespace Tango.UnitTesting { var console = Helper.InitializeLogging(true); - RemoteDBSynchronizer.Synchronize(Helper.GetSQLiteFilePath(), "1234"); + using (var remoteDB = new remote.RemoteDB(SettingsManager.Default.DataBase.SQLServerAddress, false)) + { + using (var localDB = new local.LocalDB(Helper.GetSQLiteFilePath())) + { + RemoteDBComparer comparer = new RemoteDBComparer(remoteDB, localDB, "1111"); + var diffs = comparer.Compare(); + } + } + + console.WaitForConsoleExit().Wait(); + } + + [TestMethod] + public void Synchronize_Remote_And_Local() + { + var console = Helper.InitializeLogging(true); + RemoteDBSynchronizer.Synchronize(Helper.GetSQLiteFilePath(), "1111", true); console.WaitForConsoleExit().Wait(); } diff --git a/Software/Visual_Studio/Tango.sln b/Software/Visual_Studio/Tango.sln index 831c15e13..0a1922bd7 100644 --- a/Software/Visual_Studio/Tango.sln +++ b/Software/Visual_Studio/Tango.sln @@ -1,7 +1,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 -VisualStudioVersion = 15.0.26430.14 +VisualStudioVersion = 15.0.26430.16 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.Protobuf", "Tango.Protobuf\Tango.Protobuf.csproj", "{40073806-914E-4E78-97AB-FA9639308EBE}" EndProject @@ -95,6 +95,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.MachineStudio.Develop EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.ColorPicker", "Tango.ColorPicker\Tango.ColorPicker.csproj", "{A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tango.MachineStudio.Synchronization", "MachineStudio\Modules\Tango.MachineStudio.Synchronization\Tango.MachineStudio.Synchronization.csproj", "{12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -522,6 +524,18 @@ Global {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release|x64.Build.0 = Release|Any CPU {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release|x86.ActiveCfg = Release|Any CPU {A2F5AF44-29FF-45D6-9D25-ECDA5CCE88B5}.Release|x86.Build.0 = Release|Any CPU + {12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}.Debug|x64.ActiveCfg = Debug|Any CPU + {12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}.Debug|x64.Build.0 = Debug|Any CPU + {12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}.Debug|x86.ActiveCfg = Debug|Any CPU + {12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}.Debug|x86.Build.0 = Debug|Any CPU + {12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}.Release|Any CPU.Build.0 = Release|Any CPU + {12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}.Release|x64.ActiveCfg = Release|Any CPU + {12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}.Release|x64.Build.0 = Release|Any CPU + {12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}.Release|x86.ActiveCfg = Release|Any CPU + {12D0C43C-391F-4C74-92AB-82E9A9BEEB9B}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -545,5 +559,6 @@ Global {94F7ACF8-55E1-4A02-B9BC-A818413FDBBF} = {B2AF4F3F-2828-47C3-8F3E-A0EA0BD66FF8} {CB0B0AA2-BB24-4BCA-A720-45E397684E12} = {57DF2A95-5DDD-4830-A4AF-B484B59C7C2B} {CE4A0D11-08A2-4CD6-9908-D6C62E80D805} = {B2AF4F3F-2828-47C3-8F3E-A0EA0BD66FF8} + {12D0C43C-391F-4C74-92AB-82E9A9BEEB9B} = {B2AF4F3F-2828-47C3-8F3E-A0EA0BD66FF8} EndGlobalSection EndGlobal |
