diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-01-22 17:12:18 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-01-22 17:12:18 +0200 |
| commit | d71c73171948d29db6dab71e1ca038445d6ab318 (patch) | |
| tree | ada32baf879c02cb38aeed701884421915e6ef5e /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels | |
| parent | 3234e33cc4ba354f0395bb514b8b2fa102cf38ec (diff) | |
| download | Tango-d71c73171948d29db6dab71e1ca038445d6ab318.tar.gz Tango-d71c73171948d29db6dab71e1ca038445d6ab318.zip | |
Implemented Developer Module Configuration Section!
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels')
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs | 65 |
1 files changed, 62 insertions, 3 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs index e7e97097b..621ce550b 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs @@ -1,5 +1,7 @@ -using System; +using GalaSoft.MvvmLight.Ioc; +using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -21,29 +23,86 @@ namespace Tango.MachineStudio.Developer.ViewModels public Machine SelectedMachine { get { return _selectedMachine; } - set { _selectedMachine = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); } + set { _selectedMachine = value; RaisePropertyChangedAuto(); OnMachineChanged(); InvalidateRelayCommands(); } } + private List<LiquidTypesRml> _liquidTypesRmls; + + public List<LiquidTypesRml> LiquidTypesRmls + { + get { return _liquidTypesRmls; } + set { _liquidTypesRmls = value; RaisePropertyChangedAuto(); } + } + + private ObservableCollection<RmlsProcessParametersTable> _rmlProcessParametersTables; + + public ObservableCollection<RmlsProcessParametersTable> RmlProcessParametersTables + { + get { return _rmlProcessParametersTables; } + set { _rmlProcessParametersTables = value; RaisePropertyChangedAuto(); } + } + + private DBViewContextWrapper<Rml> _selectedRML; public DBViewContextWrapper<Rml> SelectedRML { get { return _selectedRML; } - set { _selectedRML = value; RaisePropertyChangedAuto(); } + set { _selectedRML = value; RaisePropertyChangedAuto(); InvalidateLiquidFactorsAndProcessTables(); InvalidateRelayCommands(); } } + private bool _isSideBarOpened; + + public bool IsSideBarOpened + { + get { return _isSideBarOpened; } + set { _isSideBarOpened = value; RaisePropertyChangedAuto(); } + } + + public RelayCommand EditMachineCommand { get; set; } + public RelayCommand EditRMLCommand { get; set; } + + public RelayCommand ToggleSideBarCommand { get; set; } + + public MainViewVM() + { + IsSideBarOpened = true; + } + + [PreferredConstructor] public MainViewVM(IStudioApplicationManager applicationManager) { Adapter = ObservablesEntitiesAdapter.Instance; EditMachineCommand = new RelayCommand(EditMachine, (x) => SelectedMachine != null); ApplicationManager = applicationManager; + EditRMLCommand = new RelayCommand(EditRML, (x) => SelectedRML != null); + ToggleSideBarCommand = new RelayCommand(() => IsSideBarOpened = !IsSideBarOpened); + } + + private void EditRML() + { + ApplicationManager.RequestModule("Data Base", SelectedRML.EditEntity); } private void EditMachine() { ApplicationManager.RequestModule("Machine Designer", SelectedMachine); } + + private void OnMachineChanged() + { + InvalidateLiquidFactorsAndProcessTables(); + } + + private void InvalidateLiquidFactorsAndProcessTables() + { + if (SelectedRML != null && SelectedMachine != null) + { + LiquidTypesRmls = SelectedMachine.Configuration.IdsPacks.OrderBy(x => x.PackIndex).Select(x => x.LiquidTypes).SelectMany(x => x.LiquidTypesRmls).Where(x => x.Rml.Guid == SelectedRML.EditEntity.Guid).ToList(); + RmlProcessParametersTables = SelectedRML.EditEntity.RmlsProcessParametersTables.ToObservableCollection(); + } + } } } |
