コード例 #1
0
        public EditJobFunctionViewModel(
            IUserDialogService userDialogService,
            IEventAggregator eventAggregator,
            IAsyncRequestDispatcherFactory asyncRequestDispatcherFactory,
            IAccessControlManager accessControlManager,
            IPopupService popupService,
            ICommandFactory commandFactory)
            : base(accessControlManager, commandFactory)
        {
            _userDialogService             = userDialogService;
            _eventAggregator               = eventAggregator;
            _asyncRequestDispatcherFactory = asyncRequestDispatcherFactory;
            _popupService = popupService;

            Wrapper = new EditableDtoWrapper();

            var commandFactoryHelper = CommandFactoryHelper.CreateHelper(this, commandFactory);

            SaveJobFunctionCommand  = commandFactoryHelper.BuildDelegateCommand(() => SaveJobFunctionCommand, ExecuteSaveJobFunctionCommand);
            GrantSystemRoleCommand  = commandFactoryHelper.BuildDelegateCommand(() => GrantSystemRoleCommand, ExecuteGrantSystemRoleCommand);
            RevokeSystemRoleCommand = commandFactoryHelper.BuildDelegateCommand <SystemRoleDto> (
                () => RevokeSystemRoleCommand, ExecuteRevokeSystemRoleCommand);
            CancelCommand = commandFactoryHelper.BuildDelegateCommand(() => CancelCommand, ExecuteCancelCommand);

            CreateCommand = NavigationCommandManager.BuildCommand(() => CreateCommand, NavigateToCreateCommand);
            EditCommand   = NavigationCommandManager.BuildCommand(() => EditCommand, NavigateToEditCommand);
            CloneCommand  = NavigationCommandManager.BuildCommand(() => CloneCommand, NavigateToCloneCommand);
        }
コード例 #2
0
ファイル: SendC32ViewModel.cs プロジェクト: girish66/REM
        /// <summary>
        /// Initializes a new instance of the <see cref="SendC32ViewModel"/> class.
        /// </summary>
        /// <param name="userDialogService">The user dialog service.</param>
        /// <param name="asyncRequestDispatcherFactory">The async request dispatcher factory.</param>
        /// <param name="accessControlManager">The access control manager.</param>
        /// <param name="commandFactory">The command factory.</param>
        /// <param name="eventAggregator">The event aggregator.</param>
        /// <param name="popupService">The popup service.</param>
        /// <param name="currentUserContextService">The current user context service.</param>
        public SendC32ViewModel(
            IUserDialogService userDialogService,
            IAsyncRequestDispatcherFactory asyncRequestDispatcherFactory,
            IAccessControlManager accessControlManager,
            ICommandFactory commandFactory,
            IEventAggregator eventAggregator,
            IPopupService popupService,
            ICurrentUserContextService currentUserContextService)
            : base(accessControlManager, commandFactory)
        {
            _userDialogService             = userDialogService;
            _asyncRequestDispatcherFactory = asyncRequestDispatcherFactory;
            _eventAggregator = eventAggregator;
            _popupService    = popupService;

            currentUserContextService.RegisterForContext((cuc, b) => _currentContext = cuc);

            // UI Commands
            SendC32Command = CommandFactoryHelper
                             .CreateHelper(this, commandFactory)
                             .BuildDelegateCommand(() => SendC32Command, ExecuteSendC32);

            OpenAddressBookCommand = CommandFactoryHelper
                                     .CreateHelper(this, commandFactory)
                                     .BuildDelegateCommand(() => OpenAddressBookCommand, ExecuteOpenAddressBook);

            // Navigation Commands

            OpenSendC32ViewCommand = NavigationCommandManager.BuildCommand(() => OpenSendC32ViewCommand, NavigateToOpenSendC32ViewCommand);

            _eventAggregator.GetEvent <DirectAddressRecipientSelectedEvent> ().Subscribe(HandleDirectAddressRecipientSelectedEventHandler);
        }
コード例 #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ProgramOfferingEditorViewModel"/> class.
        /// </summary>
        /// <param name="userDialogService">The user dialog service.</param>
        /// <param name="asyncRequestDispatcherFactory">The async request dispatcher factory.</param>
        /// <param name="accessControlManager">The access control manager.</param>
        /// <param name="commandFactory">The command factory.</param>
        /// <param name="popupService">The popup service.</param>
        public ProgramOfferingEditorViewModel(
            IUserDialogService userDialogService,
            IAsyncRequestDispatcherFactory asyncRequestDispatcherFactory,
            IAccessControlManager accessControlManager,
            ICommandFactory commandFactory,
            IPopupService popupService)
            : base(userDialogService, asyncRequestDispatcherFactory, accessControlManager, commandFactory)
        {
            _userDialogService             = userDialogService;
            _asyncRequestDispatcherFactory = asyncRequestDispatcherFactory;
            _popupService = popupService;

            CreateCommand = NavigationCommandManager.BuildCommand(() => CreateCommand, NavigateToCreateCommand);
            EditCommand   = NavigationCommandManager.BuildCommand(() => EditCommand, NavigateToEditCommand);

            var commandFactoryHelper = CommandFactoryHelper.CreateHelper(this, commandFactory);

            SaveCommand = commandFactoryHelper.BuildDelegateCommand <KeyedDataTransferObject> (
                () => SaveCommand,
                dto =>
            {
                var name = PropertyUtil.ExtractPropertyName(() => EditingDto);
                if (dto != null && EditingDto.GetType() != dto.GetType())
                {
                    name = EditingDto.GetType().GetProperties().First(pi => pi.PropertyType == dto.GetType()).Name;
                }
                return(name);
            },
                ExecuteSaveCommand,
                CanExecuteSaveCommand);
        }
コード例 #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ActivityViewModelBase&lt;TDto&gt;"/> class.
        /// </summary>
        /// <param name="userDialogService">The user dialog service.</param>
        /// <param name="asyncRequestDispatcherFactory">The async request dispatcher factory.</param>
        /// <param name="accessControlManager">The access control manager.</param>
        /// <param name="eventAggregator">The event aggregator.</param>
        /// <param name="commandFactory">The command factory.</param>
        protected ActivityViewModelBase(
            IUserDialogService userDialogService,
            IAsyncRequestDispatcherFactory asyncRequestDispatcherFactory,
            IAccessControlManager accessControlManager,
            IEventAggregator eventAggregator,
            ICommandFactory commandFactory)
            : base(userDialogService, asyncRequestDispatcherFactory, accessControlManager, commandFactory)
        {
            _eventAggregator = eventAggregator;
            _asyncRequestDispatcherFactory = asyncRequestDispatcherFactory;
            _userDialogService             = userDialogService;

            _eventAggregator.GetEvent <VisitChangedEvent> ().Subscribe(
                HandleVisitChanged,
                ThreadOption.BackgroundThread,
                false,
                FilterVisitChangedEvents);

            PropertyChanged += (s, e) =>
            {
                if (e.PropertyName == PropertyUtil.ExtractPropertyName(() => EditingDto))
                {
                    UpdateDtoReadOnly();
                }
            };

            EditActivityCommand = NavigationCommandManager.BuildCommand(
                () => EditActivityCommand, NavigateToEditActivityCommand, CanNavigateToEditActivityCommand);
        }
コード例 #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="BillingAdministrationDashboardViewModel"/> class.
        /// </summary>
        /// <param name="accessControlManager">The access control manager.</param>
        /// <param name="navigationService">The navigation service.</param>
        /// <param name="commandFactory">The command factory.</param>
        public BillingAdministrationDashboardViewModel(
            IAccessControlManager accessControlManager,
            INavigationService navigationService,
            ICommandFactory commandFactory)
            : base(accessControlManager, commandFactory)
        {
            _navigationService = navigationService;

            GoToPayorDashboardCommand = NavigationCommandManager.BuildCommand(() => GoToPayorDashboardCommand, NavigateToGoToPayorDashboardCommand);
        }
コード例 #6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PatientContactEditorViewModel"/> class.
        /// </summary>
        /// <param name="userDialogService">The user dialog service.</param>
        /// <param name="asyncRequestDispatcherFactory">The async request dispatcher factory.</param>
        /// <param name="accessControlManager">The access control manager.</param>
        /// <param name="commandFactory">The command factory.</param>
        public PatientContactEditorViewModel(
            IUserDialogService userDialogService,
            IAsyncRequestDispatcherFactory asyncRequestDispatcherFactory,
            IAccessControlManager accessControlManager,
            ICommandFactory commandFactory)
            : base(userDialogService, asyncRequestDispatcherFactory, accessControlManager, commandFactory)
        {
            _asyncRequestDispatcherFactory = asyncRequestDispatcherFactory;
            _userDialogService             = userDialogService;

            EditCommand   = NavigationCommandManager.BuildCommand(() => EditCommand, NavigateToEditCommand);
            CreateCommand = NavigationCommandManager.BuildCommand(() => CreateCommand, NavigateToCreateCommand);
        }
コード例 #7
0
        public FrontDeskDashboardViewModel(
            IAccessControlManager accessControlManager,
            INavigationService navigationService,
            ICommandFactory commandFactory,
            IPopupService popupService)
            : base(accessControlManager, commandFactory)
        {
            _navigationService = navigationService;
            _popupService      = popupService;

            CreateAppointmentCommand = NavigationCommandManager.BuildCommand(() => CreateAppointmentCommand, NavigateToCreateAppointmentCommand);
            MakePaymentCommand       = NavigationCommandManager.BuildCommand(() => MakePaymentCommand, NavigateToMakePaymentCommand);
        }
コード例 #8
0
        /// <summary>
        /// Initializes a new instance of the <see cref="PatientWorkspaceViewModel"/> class.
        /// </summary>
        /// <param name="userDialogService">The user dialog service.</param>
        /// <param name="accessControlManager">The access control manager.</param>
        /// <param name="eventAggregator">The event aggregator.</param>
        /// <param name="asyncRequestDispatcherFactory">The async request dispatcher factory.</param>
        /// <param name="notificationService">The notification service.</param>
        /// <param name="popupService">The popup service.</param>
        /// <param name="navigationService">The navigation service.</param>
        /// <param name="commandFactory">The command factory.</param>
        public PatientWorkspaceViewModel(
            IUserDialogService userDialogService,
            IAccessControlManager accessControlManager,
            IEventAggregator eventAggregator,
            IAsyncRequestDispatcherFactory asyncRequestDispatcherFactory,
            INotificationService notificationService,
            IPopupService popupService,
            INavigationService navigationService,
            ICommandFactory commandFactory)
            : base(accessControlManager, commandFactory)
        {
            _userDialogService             = userDialogService;
            _accessControlManager          = accessControlManager;
            _eventAggregator               = eventAggregator;
            _asyncRequestDispatcherFactory = asyncRequestDispatcherFactory;
            _notificationService           = notificationService;
            _popupService      = popupService;
            _navigationService = navigationService;

            var commandFactoryHelper = CommandFactoryHelper.CreateHelper(this, commandFactory);

            ViewExternalPatientHistoryCommand = commandFactoryHelper.BuildDelegateCommand <object> (
                () => ViewExternalPatientHistoryCommand, ExecuteViewExternalPatientHistory);
            GoToDashboardCommand        = commandFactoryHelper.BuildDelegateCommand(() => GoToDashboardCommand, ExecuteGoToDashboard);
            EditPatientCommand          = commandFactoryHelper.BuildDelegateCommand <object> (() => EditPatientCommand, ExecuteEditPatient);
            DownloadC32Command          = commandFactoryHelper.BuildDelegateCommand(() => DownloadC32Command, ExecuteDownloadC32);
            ViewC32Command              = commandFactoryHelper.BuildDelegateCommand(() => ViewC32Command, ExecuteViewC32);
            SendC32Command              = commandFactoryHelper.BuildDelegateCommand(() => SendC32Command, ExecuteSendC32);
            DownloadGreenC32Command     = commandFactoryHelper.BuildDelegateCommand(() => DownloadGreenC32Command, ExecuteDownloadGreenC32);
            ExportC32ToPopHealthCommand = commandFactoryHelper.BuildDelegateCommand(() => ExportC32ToPopHealthCommand, ExecuteExportC32ToPopHealth);
            GoToPopHealthCommand        = commandFactoryHelper.BuildDelegateCommand(() => GoToPopHealthCommand, ExecuteGoToPopHealthCommand);
            ShowAlertDetailsCommand     = commandFactoryHelper.BuildDelegateCommand <PatientAlertDto> (
                () => ShowAlertDetailsCommand, ExecuteShowAlertDetailsCommand);

            _eventAggregator.GetEvent <PatientChangedEvent> ().Subscribe(
                PatientChangedEventHandler,
                ThreadOption.BackgroundThread,
                false,
                FilterPatientChangedEvents);

            CreateAppointmentCommand = NavigationCommandManager.BuildCommand(
                () => CreateAppointmentCommand, NavigateToCreateAppoitmentCommand, CanNavigateToDefaultCommand);
            SubViewPassThroughCommand = NavigationCommandManager.BuildCommand(
                () => SubViewPassThroughCommand, NavigateToSubViewPassThroughCommand, CanNavigateToDefaultCommand);

            DropQueryCommand = commandFactoryHelper.BuildDelegateCommand <DragDropQueryEventArgs>(() => DropQueryCommand, ExecuteDropQueryCommand);
        }
コード例 #9
0
        /// <summary>
        /// Initializes a new instance of the <see cref="EditPayorCoverageViewModel"/> class.
        /// </summary>
        /// <param name="accessControlManager">The access control manager.</param>
        /// <param name="commandFactory">The command factory.</param>
        /// <param name="asyncRequestDispatcherFactory">The async request dispatcher factory.</param>
        /// <param name="userDialogService">The user dialog service.</param>
        /// <param name="popupService">The popup service.</param>
        public EditPayorCoverageViewModel(
            IAccessControlManager accessControlManager,
            ICommandFactory commandFactory,
            IAsyncRequestDispatcherFactory asyncRequestDispatcherFactory,
            IUserDialogService userDialogService,
            IPopupService popupService)
            : base(accessControlManager, commandFactory)
        {
            _asyncRequestDispatcherFactory = asyncRequestDispatcherFactory;
            _userDialogService             = userDialogService;
            _popupService = popupService;

            CreateCommand = NavigationCommandManager.BuildCommand(() => CreateCommand, OnNavigateToCreateCommand);
            EditCommand   = NavigationCommandManager.BuildCommand(() => EditCommand, OnNavigateToEditCommand);

            var commandFactoryHelper = CommandFactoryHelper.CreateHelper(this, commandFactory);

            SaveCommand = commandFactoryHelper.BuildDelegateCommand(() => SaveCommand, ExecuteSaveCommand);

            _ruleExecutor = new NotifyPropertyChangedRuleExecutor <EditPayorCoverageViewModel, IDataTransferObject>();
        }
コード例 #10
0
        public AppointmentDetailsViewModel(
            IUserDialogService userDialogService,
            IAsyncRequestDispatcherFactory asyncRequestDispatcherFactory,
            IEventAggregator eventAggregator,
            IAccessControlManager accessControlManager,
            INavigationService navigationService,
            ICommandFactory commandFactory,
            IPopupService popupService)
            : base(userDialogService, asyncRequestDispatcherFactory, accessControlManager, commandFactory)
        {
            _userDialogService             = userDialogService;
            _asyncRequestDispatcherFactory = asyncRequestDispatcherFactory;
            _eventAggregator   = eventAggregator;
            _navigationService = navigationService;
            _popupService      = popupService;

            var commandFactoryHelper = CommandFactoryHelper.CreateHelper(this, commandFactory);

            ViewProfileCommand   = commandFactoryHelper.BuildDelegateCommand(() => ViewProfileCommand, ExecuteViewProfileCommand);
            StatusChangedCommand = commandFactoryHelper.BuildDelegateCommand <LookupValueDto> (
                () => StatusChangedCommand, ExecuteStatusChangedCommand);

            _eventAggregator.GetEvent <VisitChangedEvent> ().Subscribe(
                VisitChangedEventHandler,
                ThreadOption.PublisherThread,
                true,
                FilterVisitChangedEvents);

            _eventAggregator.GetEvent <PatientChangedEvent> ().Subscribe(
                PatientChangedEventHandler,
                ThreadOption.PublisherThread,
                false,
                FilterPatientChangedEvents);

            CreateAppointmentCommand = NavigationCommandManager.BuildCommand(() => CreateAppointmentCommand, NavigateToCreateAppointmentCommand);
            EditCommand = NavigationCommandManager.BuildCommand(() => EditCommand, NavigateToEditCommand);

            EditingWrapper = new EditableDtoWrapper();
        }
コード例 #11
0
ファイル: EditProgramViewModel.cs プロジェクト: girish66/REM
        /// <summary>
        /// Initializes a new instance of the <see cref="EditProgramViewModel"/> class.
        /// </summary>
        /// <param name="userDialogService">The user dialog service.</param>
        /// <param name="asyncRequestDispatcherFactory">The async request dispatcher factory.</param>
        /// <param name="accessControlManager">The access control manager.</param>
        /// <param name="eventAggregator">The event aggregator.</param>
        /// <param name="commandFactory">The command factory.</param>
        /// <param name="popupService">The popup service.</param>
        public EditProgramViewModel(
            IUserDialogService userDialogService,
            IAsyncRequestDispatcherFactory asyncRequestDispatcherFactory,
            IAccessControlManager accessControlManager,
            IEventAggregator eventAggregator,
            ICommandFactory commandFactory,
            IPopupService popupService)
            : base(userDialogService, asyncRequestDispatcherFactory, accessControlManager, commandFactory)
        {
            _asyncRequestDispatcherFactory = asyncRequestDispatcherFactory;
            _eventAggregator   = eventAggregator;
            _popupService      = popupService;
            _userDialogService = userDialogService;

            CreateCommand = NavigationCommandManager.BuildCommand(() => CreateCommand, NavigateToCreateCommand);
            EditCommand   = NavigationCommandManager.BuildCommand(() => EditCommand, NavigateToEditCommand);

            var commandFactoryHelper = CommandFactoryHelper.CreateHelper(this, commandFactory);

            SaveCommand = commandFactoryHelper.BuildDelegateCommand <KeyedDataTransferObject> (
                () => SaveCommand,
                dto =>
            {
                var name = PropertyUtil.ExtractPropertyName(() => EditingDto);
                if (dto != null && EditingDto.GetType() != dto.GetType())
                {
                    name = EditingDto.GetType().GetProperties().First(pi => pi.PropertyType == dto.GetType()).Name;
                }
                return(name);
            },
                ExecuteSaveCommand,
                CanExecuteSaveCommand);

            var ruleExecutor = new NotifyPropertyChangedRuleExecutor <EditProgramViewModel, IDataTransferObject> ();

            ruleExecutor.AddRunAllRulesProperty(vm => vm.EditingDto);
            ruleExecutor.WatchSubject(this);
        }