using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Data; using Tango.BL.Entities; using Tango.FSE.Common; namespace Tango.FSE.Procedures.Dialogs { public class LoadPublishedProjectViewVM : FSEDialogViewVM { private ICollectionView _projectsView; public List PublishedProcedureProjects { get; set; } private PublishedProcedureProject _selectedProject; public PublishedProcedureProject SelectedProject { get { return _selectedProject; } set { _selectedProject = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); } } private bool _showSuppressedProjects; public bool ShowSuppressedProjects { get { return _showSuppressedProjects; } set { _showSuppressedProjects = value; RaisePropertyChangedAuto(); _projectsView?.Refresh(); } } public LoadPublishedProjectViewVM(List projects) { OKText = "LOAD PROJECT"; PublishedProcedureProjects = projects; _projectsView = CollectionViewSource.GetDefaultView(PublishedProcedureProjects); _projectsView.Filter = (obj) => { PublishedProcedureProject p = obj as PublishedProcedureProject; if (p != null) { if (!ShowSuppressedProjects && !p.IsVisible) { return false; } } return true; }; } protected override bool CanOK() { return base.CanOK() && SelectedProject != null; } } }