diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-12-31 18:01:25 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-12-31 18:01:25 +0200 |
| commit | 3415150ae12893d4f08d1afde512624755996095 (patch) | |
| tree | f40cfea549bd10ee28476e7d4e1dfd6f1d9c064c /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs | |
| parent | 413d16064a1cf2975c13aad728d6ed87294bf35e (diff) | |
| download | Tango-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.cs | 34 |
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; + }); + }); } } } |
