/* * Copyright (c) 2022 LG Electronics Inc. * SPDX-License-Identifier: LicenseRef-LGE-Proprietary */ using Aurora.View; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Input; namespace AuroraUIComponent.Sequence { class UCScreenShotSelectViewModel : NotifyPropertyChangedBase { private List _MenuList; public List MenuList { get => _MenuList; set => SetProperty(ref _MenuList, value); } public bool IsExtMenuExist { get => MenuList?.Any(x => !string.IsNullOrEmpty(x.ExtMenu)) ?? false; } public ICommand CMD_AllOn { get; } public ICommand CMD_AllOff { get; } public ICommand CMD_MainOn { get; } public ICommand CMD_MainOff { get; } public ICommand CMD_SubOn { get; } public ICommand CMD_SubOff { get; } public UCScreenShotSelectViewModel(List list) { MenuList = list; NotifyPropertyChanged(nameof(IsExtMenuExist)); CMD_AllOn = new DelegateCommand(DoAllOn); CMD_AllOff = new DelegateCommand(DoAllOff); CMD_MainOn = new DelegateCommand(DoMainOn); CMD_MainOff = new DelegateCommand(DoMainOff); CMD_SubOn = new DelegateCommand(DoSubOn); CMD_SubOff = new DelegateCommand(DoSubOff); } private void DoAllOff(object obj) { if (MenuList == null) return; MenuList.ForEach(x => { x.IsSelected = false; }); } private void DoAllOn(object obj) { if (MenuList == null) return; MenuList.ForEach(x => { x.IsSelected = true; }); } private void DoSubOff(object obj) { if (MenuList == null) return; if (obj is ScreenShotSequence.ScreenShotWorkItem item) { MenuList.ForEach(x => { if (x.MainMenu == item.MainMenu && x.SubMenu == item.SubMenu) { x.IsSelected = false; } }); } } private void DoSubOn(object obj) { if (MenuList == null) return; if (obj is ScreenShotSequence.ScreenShotWorkItem item) { MenuList.ForEach(x => { if (x.MainMenu == item.MainMenu && x.SubMenu == item.SubMenu) { x.IsSelected = true; } }); } } private void DoMainOff(object obj) { if (MenuList == null) return; if (obj is ScreenShotSequence.ScreenShotWorkItem item) { MenuList.ForEach(x => { if (x.MainMenu == item.MainMenu) { x.IsSelected = false; } }); } } private void DoMainOn(object obj) { if (MenuList == null) return; if (obj is ScreenShotSequence.ScreenShotWorkItem item) { MenuList.ForEach(x => { if (x.MainMenu == item.MainMenu) { x.IsSelected = true; } }); } } } }