aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
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/ViewModels/MainViewVM.cs
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/ViewModels/MainViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs34
1 files changed, 25 insertions, 9 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;
+ });
+ });
}
}
}