using Prism.Mvvm; using System.Linq; using Prism.Regions; using Prism.Commands; using SHJX.Service.Common.Interface; using SHJX.Service.Common.Constants; using SHJX.Service.Main.Views.Sidebar; namespace SHJX.Service.Main.ViewModels.Sidebar { public class ShowOperatePatientViewModel : BindableBase { #region Fields private IRegion _region; private readonly IRegionManager _regionManager; private ShowOperatePatient _showSearchPatientView; public ShowOperatePatientViewModel(IApplicationCommands applicationCommands, IRegionManager regionManager) { ApplicationCommands = applicationCommands; _regionManager = regionManager; } #endregion #region Properties private IApplicationCommands _applicationCommands; public IApplicationCommands ApplicationCommands { get { return _applicationCommands; } set { SetProperty(ref _applicationCommands, value); } } #endregion #region Commands private DelegateCommand _showSearchLoadingCommand; public DelegateCommand ShowSearchLoadingCommand => _showSearchLoadingCommand ??= new DelegateCommand(ExecuteShowSearchLoadingCommand); #endregion #region Excutes private void ExecuteShowSearchLoadingCommand() { _region = _regionManager.Regions[RegionNames.ShowOperatePatientRegion]; _showSearchPatientView = (ShowOperatePatient)_region.Views.Where(t => t.GetType() == typeof(ShowOperatePatient)).FirstOrDefault(); } #endregion } }