aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-12-31 18:01:25 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-12-31 18:01:25 +0200
commit3415150ae12893d4f08d1afde512624755996095 (patch)
treef40cfea549bd10ee28476e7d4e1dfd6f1d9c064c /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner
parent413d16064a1cf2975c13aad728d6ed87294bf35e (diff)
downloadTango-3415150ae12893d4f08d1afde512624755996095.tar.gz
Tango-3415150ae12893d4f08d1afde512624755996095.zip
Implemented ActionTimer.
Fixed some issue with machine designer and dispenser module.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs34
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineDetailsView.xaml2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml4
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MainView.xaml2
4 files changed, 29 insertions, 13 deletions
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 33e5b4ad7..71b2e0bd5 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
@@ -20,12 +20,16 @@ using Tango.AutoComplete.Editors;
using System.Data.Entity;
using Tango.BL.Builders;
using Tango.MachineStudio.MachineDesigner.Contracts;
+using System.Windows.Threading;
+using Tango.Core.Threading;
namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
public class MainViewVM : StudioViewModel<IMainView>
{
private INotificationProvider _notification;
+ private ActionTimer _machines_action_timer;
+ private ActionTimer _dispensers_action_timer;
#region Properties
@@ -176,7 +180,9 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
MachinesAdapter = new ObservablesStaticCollections(ObservablesContext.CreateDefault());
_notification = notification;
- //SaveCommand = new RelayCommand(Save);
+ _machines_action_timer = new ActionTimer(TimeSpan.FromMilliseconds(200));
+ _dispensers_action_timer = new ActionTimer(TimeSpan.FromMilliseconds(200));
+
AddIdsCommand = new RelayCommand(AddIds, (x) => ActiveMachine != null && ActiveMachine.Configuration != null && ActiveMachine.Configuration.IdsPacks.Count < 8);
RemoveIdsCommand = new RelayCommand(RemoveIds, (x) => SelectedIds != null);
EditMachineCommand = new RelayCommand(() => LoadSelectedMachine(), () => SelectedMachine != null);
@@ -199,13 +205,17 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
#endregion
- private async void OnDispensersFilterChanged()
+ private void OnDispensersFilterChanged()
{
if (!String.IsNullOrWhiteSpace(DispensersFilter))
{
- IsFree = false;
- ActiveMachineAdapter.Dispensers = (await ActiveMachineAdapter.Context.Dispensers.Where(x => x.SerialNumber.ToLower().StartsWith(DispensersFilter.ToLower())).ToListAsync()).ToObservableCollection();
- IsFree = true;
+ _dispensers_action_timer.ResetReplace(() =>
+ {
+ Task.Factory.StartNew(() =>
+ {
+ ActiveMachineAdapter.Dispensers = ActiveMachineAdapter.Context.Dispensers.Where(x => x.SerialNumber.ToLower().StartsWith(DispensersFilter.ToLower())).ToSynchronizedObservableCollection();
+ });
+ });
}
}
@@ -634,13 +644,19 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
}
}
- private async void OnFilterChanged()
+ private void OnFilterChanged()
{
if (Filter != null)
{
- IsFree = false;
- MachinesAdapter.Machines = (await MachinesAdapter.Context.Machines.Where(x => x.SerialNumber.StartsWith(Filter)).Include(x => x.Organization).Include(x => x.MachineVersion).ToListAsync()).ToObservableCollection();
- IsFree = true;
+ _machines_action_timer.ResetReplace(() =>
+ {
+ Task.Factory.StartNew(() =>
+ {
+ IsFree = false;
+ MachinesAdapter.Machines = MachinesAdapter.Context.Machines.Where(x => x.SerialNumber.StartsWith(Filter)).Include(x => x.Organization).Include(x => x.MachineVersion).ToSynchronizedObservableCollection();
+ IsFree = true;
+ });
+ });
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineDetailsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineDetailsView.xaml
index 5db96a3a1..31e7f535b 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineDetailsView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineDetailsView.xaml
@@ -36,7 +36,7 @@
</Grid>
- <Grid>
+ <Grid IsEnabled="{Binding IsFree}">
<TabControl Background="Transparent">
<TabControl.Resources>
<Style TargetType="TabPanel">
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml
index 096beee39..c6587b564 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml
@@ -28,7 +28,7 @@
</StackPanel>
</StackPanel>
</Grid>
- <Grid DockPanel.Dock="Bottom">
+ <Grid DockPanel.Dock="Bottom" IsEnabled="{Binding IsFree}">
<StackPanel VerticalAlignment="Center" Orientation="Horizontal" HorizontalAlignment="Left" Margin="0 0 0 0">
<Button Margin="0 0 10 0" MinWidth="160" Height="50" Background="#FF7575" BorderBrush="#FF7575" Command="{Binding RemoveMachineCommand}">
<StackPanel Orientation="Horizontal">
@@ -58,7 +58,7 @@
</Button>
</StackPanel>
</Grid>
- <Grid>
+ <Grid IsEnabled="{Binding IsFree}">
<DataGrid Margin="0 0 0 10" SelectionMode="Single" SelectionUnit="FullRow" BorderBrush="Silver" IsReadOnly="True" BorderThickness="1" Background="#93FFFFFF" AlternatingRowBackground="#C9F6F6F6" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" ItemsSource="{Binding MachinesAdapter.Machines}" SelectedItem="{Binding SelectedMachine}">
<DataGrid.CellStyle>
<Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
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 833086bf0..bc9b038dc 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
@@ -9,7 +9,7 @@
xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
mc:Ignorable="d"
d:DesignHeight="1080" d:DesignWidth="1920" Background="Transparent" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">
- <Grid IsEnabled="{Binding IsFree}">
+ <Grid>
<controls:NavigationControl x:Name="navigationControl" TransitionType="Slide">
<local:MachinesView />
<local:MachineDetailsView/>