Ejemplo n.º 1
0
        public MainViewModel(IUserSession userSession)
        {
            UserSession = userSession;

            _devicesTab = new TabItem
            {
                Header  = "Устройства",
                Content = new DevicesManagementView()
                {
                    DataContext = new DevicesManagementViewModel()
                }
            };

            _usersTab = new TabItem
            {
                Header  = "Пользователи",
                Content = new UsersManagementView()
                {
                    DataContext = (ResolveDependency <IUserViewModel>())
                                  as UserViewModel
                }
            };

            _certificatesTab = new TabItem
            {
                Header  = "Сертификаты",
                Content = new CertificatesManagementView()
                {
                    DataContext = ResolveDependency <ICertificateViewModel>()
                }
            };

            ShowAboutProgramDialogCommand = RegisterCommandAction(
                (obj) =>
            {
                MessageBox.Show(
                    $"Программа для управления инвентарём колледжа.\nАвтор: {_authorName}\n" +
                    $"Репозиторий: {_githubUrl}",
                    "О программе"
                    );
            }
                );

            ShowSetIPMaskDialogCommand = RegisterCommandAction(
                (obj) =>
            {
                var _ipSettingsView = new ConfigureIPSettingsView();

                var _ipSettingsViewModel = new ConfigureIPSettingsViewModel(
                    StandartNinjectKernel.Get <IIPAddressRepository>()
                    );
                _ipSettingsViewModel.RelatedView = _ipSettingsView;

                _ipSettingsView.DataContext = _ipSettingsViewModel;

                _ipSettingsView.Show();
            },
                (obj) => UserSession.IsAuthorizedUserAllowedTo(UserActions.ChangeNetworkSettings)
                );

            LogoutCommand = RegisterCommandAction(
                (obj) => UserEvents.RaiseOnUserLoggedOut()
                );

            ShowReportsMasterViewCommand = RegisterCommandAction(
                (obj) =>
            {
                var reportsMasterView         = new ReportsMasterView();
                reportsMasterView.DataContext = ResolveDependency <IReportsMasterViewModel>();
                reportsMasterView.ShowDialog();
            }
                );

            LoadViewsForAuthorizedUser();
        }