aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-08-21 15:49:10 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-08-21 15:49:10 +0300
commitf0588aa546e9497b0f6def56e8b3b1756d30fbfb (patch)
tree4a66d1f9333e9a09b50f94e1745b26a2542d9608 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner
parent5c58e6499306b3087015758c1054497dccc407e6 (diff)
downloadTango-f0588aa546e9497b0f6def56e8b3b1756d30fbfb.tar.gz
Tango-f0588aa546e9497b0f6def56e8b3b1756d30fbfb.zip
Machine designer working good !
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj13
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineVersionDialogVM.cs4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs272
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml9
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config10
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/packages.config1
6 files changed, 232 insertions, 77 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj
index 990d03c62..78f52b3fd 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Tango.MachineStudio.MachineDesigner.csproj
@@ -31,6 +31,12 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
+ <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.dll</HintPath>
+ </Reference>
+ <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+ <HintPath>..\..\..\packages\EntityFramework.6.0.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
+ </Reference>
<Reference Include="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>
@@ -47,6 +53,7 @@
<HintPath>..\..\..\packages\SimpleValidator.0.6.1.0\lib\net40\SimpleValidator.dll</HintPath>
</Reference>
<Reference Include="System" />
+ <Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Data" />
<Reference Include="System.Windows.Interactivity, Version=4.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Expression.Blend.Sdk.1.0.2\lib\net45\System.Windows.Interactivity.dll</HintPath>
@@ -114,7 +121,9 @@
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
- <None Include="app.config" />
+ <None Include="app.config">
+ <SubType>Designer</SubType>
+ </None>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
@@ -224,7 +233,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineVersionDialogVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineVersionDialogVM.cs
index 40358344d..b332ebc6b 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineVersionDialogVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineVersionDialogVM.cs
@@ -14,7 +14,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
public class MachineVersionDialogVM : DialogViewVM
{
- public ObservablesEntitiesAdapter Adapter { get; set; }
+ public ObservablesStaticCollections Adapter { get; set; }
public double Version { get; set; }
@@ -46,7 +46,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
public MachineVersionDialogVM()
{
- Adapter = ObservablesEntitiesAdapter.Instance;
+ Adapter = ObservablesStaticCollections.Instance;
AcceptCommand = new RelayCommand(() =>
{
Accept();
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
index 1f410d49c..a819a4d1a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
@@ -16,27 +16,39 @@ using SimpleValidator.Extensions;
using Tango.MachineStudio.Common.StudioApplication;
using Tango.MachineStudio.Common;
using Tango.BL;
+using Tango.AutoComplete.Editors;
+using System.Data.Entity;
namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
public class MainViewVM : StudioViewModel<MachineDesignerModule>
{
- private bool _isSaving;
private INotificationProvider _notification;
-
+ private ObservablesContext _db;
+ private Configuration _original_configuration;
#region Properties
- private ObservablesEntitiesAdapter _adapter;
+ private ObservablesStaticCollections _adapter;
/// <summary>
- /// Gets or sets the db adapter.
+ /// Gets or sets the db static adapter.
/// </summary>
- public ObservablesEntitiesAdapter Adapter
+ public ObservablesStaticCollections Adapter
{
get { return _adapter; }
set { _adapter = value; RaisePropertyChangedAuto(); }
}
+ private bool _canWork;
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance can work.
+ /// </summary>
+ public bool CanWork
+ {
+ get { return _canWork; }
+ set { _canWork = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); }
+ }
+
private Machine _machine;
/// <summary>
/// Gets or sets the current editable machine.
@@ -54,7 +66,13 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
public Machine SelectedMachine
{
get { return _selectedMachine; }
- set { _selectedMachine = value; RaisePropertyChangedAuto(); OnSelectedMachineChanged(); }
+ set
+ {
+ if (_selectedMachine != value)
+ {
+ _selectedMachine = value; RaisePropertyChangedAuto(); OnSelectedMachineChanged();
+ }
+ }
}
private Configuration _configuration;
@@ -107,6 +125,16 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
set { _filter = value; RaisePropertyChangedAuto(); OnFilterChanged(); }
}
+ /// <summary>
+ /// Gets or sets the machines provider.
+ /// </summary>
+ public ISuggestionProvider MachinesProvider { get; set; }
+
+ /// <summary>
+ /// Gets or sets the versions provider.
+ /// </summary>
+ public ISuggestionProvider VersionsProvider { get; set; }
+
#endregion
#region Commands
@@ -136,6 +164,11 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// </summary>
public RelayCommand SetAsDefaultCommand { get; set; }
+ /// <summary>
+ /// Gets or sets the reset command.
+ /// </summary>
+ public RelayCommand ResetCommand { get; set; }
+
#endregion
#region Constructors
@@ -150,23 +183,89 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// </summary>
public MainViewVM(INotificationProvider notification)
{
+ CanWork = true;
+
_notification = notification;
- Adapter = ObservablesEntitiesAdapter.Instance;
Configuration = new Configuration();
Configuration.Name = "Untitled";
Machine = new Machine();
Machine.Configuration = Configuration;
- SaveCommand = new RelayCommand(Save, (x) => !_isSaving);
- AddIdsCommand = new RelayCommand(AddIds, (x) => !_isSaving && Configuration.IdsPacks.Count < 8);
- RemoveIdsCommand = new RelayCommand(RemoveIds, (x) => !_isSaving && SelectedIds != null);
- SetVersionConfigurationCommand = new RelayCommand(SetVersionConfiguration, (x) => !_isSaving);
- SetAsDefaultCommand = new RelayCommand(SetAsDefaultConfiguration, (x) => !_isSaving);
+ SaveCommand = new RelayCommand(Save, (x) => CanWork);
+ AddIdsCommand = new RelayCommand(AddIds, (x) => CanWork && Configuration.IdsPacks.Count < 8);
+ RemoveIdsCommand = new RelayCommand(RemoveIds, (x) => CanWork && SelectedIds != null);
+ SetVersionConfigurationCommand = new RelayCommand(SetVersionConfiguration, (x) => CanWork);
+ SetAsDefaultCommand = new RelayCommand(SetAsDefaultConfiguration, (x) => CanWork);
+ ResetCommand = new RelayCommand(Reset, () => CanWork);
+
+ MachinesProvider = new SuggestionProvider((filter) =>
+ {
+ return _db.Machines.Where(x => x.SerialNumber.StartsWith(filter)).ToList();
+ });
+
+ VersionsProvider = new SuggestionProvider((filter) =>
+ {
+ return _db.MachineVersions.Where(x => x.Version.ToString().StartsWith(filter) || x.Name.StartsWith(filter)).ToList();
+ });
+ }
+
+ #endregion
+
+ #region Application Ready
+
+ public async override void OnApplicationReady()
+ {
+ base.OnApplicationReady();
+
+ await InitCollections();
}
#endregion
+ private Task InitCollections()
+ {
+ return Task.Factory.StartNew(() =>
+ {
+ CanWork = false;
+
+ _db = ObservablesContext.CreateDefault();
+ _db.Configuration.LazyLoadingEnabled = false;
+
+ Adapter = new ObservablesStaticCollections();
+ Adapter.ApplicationDisplayPanelVersions = _db.ApplicationDisplayPanelVersions.ToObservableCollection();
+ Adapter.ApplicationFirmwareVersions = _db.ApplicationFirmwareVersions.ToObservableCollection();
+ Adapter.ApplicationOsVersions = _db.ApplicationOsVersions.ToObservableCollection();
+ Adapter.EmbeddedFirmwareVersions = _db.EmbeddedFirmwareVersions.ToObservableCollection();
+ Adapter.DispenserTypes = _db.DispenserTypes.ToObservableCollection();
+ Adapter.LiquidTypes = _db.LiquidTypes.ToObservableCollection();
+ Adapter.MidTankTypes = _db.MidTankTypes.ToObservableCollection();
+ Adapter.CartridgeTypes = _db.CartridgeTypes.ToObservableCollection();
+ Adapter.IdsPackFormulas = _db.IdsPackFormulas.ToObservableCollection();
+ Adapter.HardwareVersions = _db.HardwareVersions.ToObservableCollection();
+ Adapter.MachineVersions = _db.MachineVersions.ToObservableCollection();
+ Adapter.Organizations = _db.Organizations.ToObservableCollection();
+
+ Adapter.InitCollectionSources();
+
+ CanWork = true;
+ });
+ }
+
+ private void Reset()
+ {
+ using (_notification.PushTaskItem("Resetting designer..."))
+ {
+ SelectedMachine = null;
+ Machine = new Machine();
+ Configuration = new Configuration();
+ History = new ObservableCollection<Configuration>();
+ SelectedHistoryConfiguration = null;
+ Filter = String.Empty;
+ InitCollections();
+ }
+ }
+
#region Virtual Methods
/// <summary>
@@ -176,9 +275,23 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
if (SelectedMachine != null)
{
- Machine = SelectedMachine.Clone();
- Configuration = Machine.Configuration.Clone();
- History = SelectedMachine.MachinesConfigurations.Select(x => x.Configuration).ToObservableCollection();
+ CanWork = false;
+
+ using (_notification.PushTaskItem("Loading machine configuration..."))
+ {
+ Task.Factory.StartNew(() =>
+ {
+ InitCollections().Wait();
+ Machine = _db.Machines.Where(x => x.Guid == SelectedMachine.Guid).Include(x => x.Organization).SingleOrDefault(x => x.Guid == SelectedMachine.Guid);
+ Configuration = _db.LoadConfiguration(x => x.Guid == Machine.ConfigurationGuid);
+
+ SetHistory();
+
+ _original_configuration = Configuration.Clone();
+ });
+ }
+
+ CanWork = true;
}
else
{
@@ -191,9 +304,21 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// </summary>
protected virtual void OnHistoryConfigurationSelected()
{
- if (SelectedHistoryConfiguration != null)
+ if (SelectedHistoryConfiguration != null && CanWork)
{
- Configuration = SelectedHistoryConfiguration.Clone();
+ using (_notification.PushTaskItem("Loading Configuration..."))
+ {
+ Task.Factory.StartNew(() =>
+ {
+ CanWork = false;
+
+ SelectedHistoryConfiguration = _db.LoadConfiguration(x => x.Guid == SelectedHistoryConfiguration.Guid);
+ Configuration = SelectedHistoryConfiguration;
+ Machine.Configuration = Configuration;
+
+ CanWork = true;
+ });
+ }
}
}
@@ -202,8 +327,6 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// </summary>
protected virtual void OnFilterChanged()
{
-
-
List<ICollectionView> collections = new List<ICollectionView>();
collections.Add(Adapter.ApplicationFirmwareVersionsViewSource);
collections.Add(Adapter.ApplicationDisplayPanelVersionsViewSource);
@@ -223,7 +346,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
String value = prop.GetValue(x).ToStringSafe();
- if (value != null)
+ if (value != null && Filter != null)
{
if (value.ToLower().Contains(Filter.ToLower()))
{
@@ -366,7 +489,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// </summary>
private void RemoveIds()
{
- Configuration.IdsPacks.Remove(SelectedIds);
+ _db.IdsPacks.Remove(SelectedIds);
SelectedIds = null;
}
@@ -375,7 +498,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// </summary>
private void AddIds()
{
- Configuration.IdsPacks.Add(new IdsPack() { Configuration = Configuration });
+ _db.IdsPacks.Add(new IdsPack() { Configuration = Configuration });
InvalidateRelayCommands();
}
@@ -494,17 +617,17 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
//Validate
- _isSaving = true;
- InvalidateRelayCommands();
-
try
{
+ CanWork = false;
+
using (_notification.PushTaskItem("Saving Machine Configuration..."))
{
- if (!Adapter.Machines.ToList().Exists(x => x.SerialNumber.ToLower() == Machine.SerialNumber.ToLower()))
+ if (!_db.Machines.Any(x => x.SerialNumber.ToLower() == Machine.SerialNumber.ToLower()))
{
if (!_notification.ShowQuestion("The specified machine serial number does not exist. Do you wish to create a new machine?"))
{
+ CanWork = true;
return;
}
else
@@ -512,53 +635,34 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
Machine.Configuration = Configuration;
Configuration.CreationDate = DateTime.UtcNow;
Machine.ProductionDate = DateTime.UtcNow;
- Machine.MachinesConfigurations.Add(new MachinesConfiguration()
+
+ _db.Machines.Add(Machine);
+ _db.MachinesConfigurations.Add(new MachinesConfiguration()
{
Configuration = Configuration,
Machine = Machine,
});
- await Machine.SaveAsync(Adapter.Context);
-
- Machine = Adapter.Machines.SingleOrDefault(x => x.Guid == Machine.Guid);
- Configuration = Machine.Configuration.Clone();
}
}
else
{
- var machine = Adapter.Machines.Single(x => x.SerialNumber.ToLower() == Machine.SerialNumber.ToLower());
-
- //Set 'Real machine' parameters...
-
- bool add_history = History.Count == 0 || History.First().Name != Configuration.Name;
-
- machine.Name = Machine.Name;
- machine.SerialNumber = Machine.SerialNumber;
- machine.Organization = Machine.Organization;
-
+ bool add_history = History.Count == 0 || _original_configuration.Name != Configuration.Name;
if (add_history)
{
- machine.MachinesConfigurations.Add(new MachinesConfiguration()
+ _db.Configurations.Add(_original_configuration);
+
+ _db.MachinesConfigurations.Add(new MachinesConfiguration()
{
- Configuration = Configuration,
- Machine = machine
+ Configuration = _original_configuration,
+ Machine = Machine
});
}
- else
- {
- machine.Configuration.DefferedDelete(Adapter.Context);
- }
-
- machine.Configuration = Configuration;
-
- await machine.SaveAsync(Adapter.Context);
-
- Machine = Adapter.Machines.SingleOrDefault(x => x.Guid == machine.Guid);
- Configuration = Machine.Configuration.Clone();
}
- SetHistory(Machine);
- Machine = Machine.Clone();
+ await _db.SaveChangesAsync();
+ OnSelectedMachineChanged();
+
}
}
catch (Exception ex)
@@ -567,7 +671,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
}
finally
{
- _isSaving = false;
+ CanWork = true;
InvalidateRelayCommands();
}
}
@@ -576,20 +680,33 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
/// Sets the specified machine history.
/// </summary>
/// <param name="machine">The machine.</param>
- private void SetHistory(Machine machine)
+ private void SetHistory()
{
- History = machine.MachinesConfigurations.Select(x => x.Configuration).ToObservableCollection();
- History.Insert(0, machine.Configuration);
+ History = _db.MachinesConfigurations.Where(x => x.MachineGuid == Machine.Guid).Select(x => x.Configuration).ToObservableCollection();
+ //History.Insert(0, Machine.Configuration);
}
/// <summary>
/// Sets the current configuration to the selected machine version default configuration.
/// </summary>
- private void SetVersionConfiguration()
+ private async void SetVersionConfiguration()
{
if (Machine.MachineVersion != null)
{
- Configuration = Machine.MachineVersion.DefaultConfiguration.Clone();
+ using (_notification.PushTaskItem("Applying default configuration..."))
+ {
+ CanWork = false;
+
+ await Task.Factory.StartNew(() =>
+ {
+ var version = _db.MachineVersions.Where(x => x.Guid == Machine.MachineVersion.Guid).Include(x => x.DefaultConfiguration).FirstOrDefault();
+ var version_config = _db.LoadConfiguration(x => x.Guid == version.DefaultConfiguration.Guid);
+ Configuration = version_config.Clone();
+ Machine.Configuration = Configuration;
+ });
+
+ CanWork = true;
+ }
}
else
{
@@ -604,15 +721,23 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
_notification.ShowModalDialog<MachineVersionDialogVM>(async (vm) =>
{
+ CanWork = false;
+
try
{
using (_notification.PushTaskItem("Saving Default Configuration..."))
{
if (vm.SelectedVersion != null)
{
- vm.SelectedVersion.DefaultConfiguration = Configuration.Clone();
- vm.SelectedVersion.DefaultConfigurationGuid = vm.SelectedVersion.DefaultConfiguration.Guid;
- await vm.SelectedVersion.SaveAsync(Adapter.Context);
+ var version = _db.MachineVersions.Where(x => x.Guid == vm.SelectedVersion.Guid).Include(x => x.DefaultConfiguration).SingleOrDefault(x => x.Guid == vm.SelectedVersion.Guid);
+
+ _db.Configurations.Remove(version.DefaultConfiguration);
+
+ var cloned = Configuration.Clone();
+ _db.Configurations.Add(cloned);
+ version.DefaultConfiguration = cloned;
+
+ await _db.SaveChangesAsync();
}
else
{
@@ -620,9 +745,12 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
newVersion.Version = vm.Version;
newVersion.Name = vm.VersionName;
- newVersion.DefaultConfiguration = Configuration.Clone();
- newVersion.DefaultConfigurationGuid = newVersion.DefaultConfiguration.Guid;
- await newVersion.SaveAsync(Adapter.Context);
+ var cloned = Configuration.Clone();
+
+ _db.Configurations.Add(cloned);
+ newVersion.DefaultConfiguration = cloned;
+ _db.MachineVersions.Add(newVersion);
+ await _db.SaveChangesAsync();
}
}
}
@@ -630,6 +758,10 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
_notification.ShowError(ex.Message);
}
+ finally
+ {
+ CanWork = true;
+ }
}, () =>
{
@@ -643,7 +775,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
public override void OnModuleRequest(params object[] args)
{
- SelectedMachine = Adapter.Machines.SingleOrDefault(x => x.Guid == (args[0] as Machine).Guid);
+ //SelectedMachine = Adapter.Machines.SingleOrDefault(x => x.Guid == (args[0] as Machine).Guid);
}
#endregion
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml
index 4e3e31326..e12f85cdf 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml
@@ -17,7 +17,6 @@
<UserControl.Resources>
<sharedConverters:ColorToIntegerConverter x:Key="ColorToIntegerConverter" />
- <providers:MachinesProvider x:Key="MachinesProvider"></providers:MachinesProvider>
<Style x:Key="draggableGrid" TargetType="Grid">
<Setter Property="RenderTransform">
@@ -89,7 +88,7 @@
<TextBlock FontSize="30" FontStyle="Italic" VerticalAlignment="Center" Margin="50 10 10 0" Foreground="Silver" FontWeight="Bold">MACHINE DESIGNER</TextBlock>
<StackPanel Orientation="Horizontal" Margin="20 10 0 0" VerticalAlignment="Center">
<materialDesign:PackIcon Kind="BarcodeScan" VerticalAlignment="Bottom" Width="24" Height="24" Foreground="Silver"></materialDesign:PackIcon>
- <autoComplete:AutoCompleteTextBox FontSize="16" FontWeight="Bold" FontStyle="Italic" Width="300" Margin="5 0 0 0" materialDesign:HintAssist.Hint="Enter serial number" DisplayMember="SerialNumber" Provider="{StaticResource ResourceKey=MachinesProvider}" SelectedItem="{Binding SelectedMachine,Mode=TwoWay}">
+ <autoComplete:AutoCompleteTextBox FontSize="16" FontWeight="Bold" FontStyle="Italic" Width="300" Margin="5 0 0 0" materialDesign:HintAssist.Hint="Enter serial number" DisplayMember="SerialNumber" Provider="{Binding MachinesProvider}" SelectedItem="{Binding SelectedMachine,Mode=TwoWay}">
<autoComplete:AutoCompleteTextBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding SerialNumber}"></TextBlock>
@@ -99,6 +98,10 @@
<TextBlock Text="Loading..." Margin="5" FontSize="14" />
</autoComplete:AutoCompleteTextBox.LoadingContent>
</autoComplete:AutoCompleteTextBox>
+
+ <Button Style="{StaticResource MaterialDesignFlatButton}" Margin="10 0 0 0" Padding="0" Foreground="Gray" Width="40" Command="{Binding ResetCommand}" ToolTip="Reset the designer">
+ <materialDesign:PackIcon Kind="Refresh" Width="24" Height="24" />
+ </Button>
</StackPanel>
</StackPanel>
</StackPanel>
@@ -417,7 +420,7 @@
</Grid>
</Grid>
- <Grid Grid.Column="1">
+ <Grid Grid.Column="1" IsEnabled="{Binding CanWork}">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="60"/>
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config
index 8924e52e3..0e58ccf54 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/app.config
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
+ <configSections>
+ <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
+ <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
+ </configSections>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
@@ -52,4 +56,10 @@
</dependentAssembly>
</assemblyBinding>
</runtime>
+ <entityFramework>
+ <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
+ <providers>
+ <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
+ </providers>
+ </entityFramework>
</configuration> \ No newline at end of file
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/packages.config b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/packages.config
index 59e34e36f..8b579e95a 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/packages.config
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/packages.config
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="CommonServiceLocator" version="1.3" targetFramework="net46" />
+ <package id="EntityFramework" version="6.0.0" targetFramework="net472" />
<package id="Expression.Blend.Sdk" version="1.0.2" targetFramework="net46" />
<package id="FontAwesome.WPF" version="4.7.0.9" targetFramework="net46" />
<package id="MahApps.Metro" version="1.5.0" targetFramework="net46" />