Пример #1
0
 public DeviceViewModel(ITokenProvider tokenProvider, ResinDevice model, ITextEditService textEditService, ResinApiClient client, IViewService viewService)
 {
     _tokenProvider   = tokenProvider ?? throw new ArgumentNullException(nameof(tokenProvider));
     _model           = model ?? throw new ArgumentNullException(nameof(model));
     _textEditService = textEditService ?? throw new ArgumentNullException(nameof(textEditService));
     _client          = client ?? throw new ArgumentNullException(nameof(client));
     _viewService     = viewService ?? throw new ArgumentNullException(nameof(viewService));
     InitializeCommands();
 }
Пример #2
0
 public ApplicationViewModel(ResinApplication model, ITextEditService textEditService, ResinApiClient client, IViewService viewService)
 {
     if (model == null)
     {
         throw new ArgumentNullException(nameof(model));
     }
     _textEditService     = textEditService ?? throw new ArgumentNullException(nameof(model));
     _client              = client ?? throw new ArgumentNullException(nameof(client));
     _viewService         = viewService ?? throw new ArgumentNullException(nameof(viewService));
     _model               = model;
     EditVariablesCommand = new RelayCommand(EditVariables);
 }
Пример #3
0
 protected EditVariablesBaseViewModel(ResinApiClient client, IEnumerable <GenericEnvironmentVariable> variables)
 {
     Client = client ?? throw new ArgumentNullException(nameof(client));
     Variables.AddRange(variables.Select(v => new EnvironmentVariableViewModel(v)));
     InitializeCommands();
 }
Пример #4
0
        private async void App_OnStartup(object sender, StartupEventArgs e)
        {
            using (var container = ApplicationContainerFactory.Create())
            {
                IViewService viewService = container.Resolve <IViewService>();

                var logonViewModel = container.Resolve <LogonDialogViewModel>();

                var settings = container.Resolve <ISettings>();

                if (settings.ShouldRememberToken)
                {
                    logonViewModel.Token = settings.Token;
                }

                logonViewModel.ShouldRememberToken = settings.ShouldRememberToken;

                while (true)
                {
                    try
                    {
                        if (viewService.ShowDialog(logonViewModel) == true)
                        {
                            //Create a temporary token provider
                            var tokenProvider = new SimpleTokenProvider(logonViewModel.Token);

                            //Use a temp client to update the token / verify the current token
                            var tempClient = new ResinApiClient(tokenProvider, logonViewModel.ApiAddress);

                            //Get the new token (this also verifies the old one)
                            string newToken = await tempClient.WhoamiAsync();

                            settings.ShouldRememberToken = logonViewModel.ShouldRememberToken;

                            if (logonViewModel.ShouldRememberToken)
                            {
                                settings.Token = newToken;
                            }

                            using (var childScope = container.BeginLifetimeScope(builder =>
                            {
                                builder.RegisterInstance(tokenProvider).As <ITokenProvider>();
                            }))
                            {
                                //Create a new client
                                var client = new ResinApiClient(new SimpleTokenProvider(newToken), logonViewModel.ApiAddress);

                                //Create the view model
                                var mainViewModel = childScope.Resolve <MainViewModel>(new TypedParameter(typeof(ResinApiClient), client));

                                //Finally - we can start up the real thing!
                                viewService.ShowDialog(mainViewModel);
                            }

                            return;
                        }

                        //The user cancelled. Exit the application.
                        return;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, ex.Source);
                    }
                }
            }
        }
 public EditDeviceVariablesDialogViewModel(ResinApiClient client, int deviceId, IEnumerable <EnvironmentVariable> variables)
     : base(client, variables.Select(v => new GenericEnvironmentVariable { Id = v.Id, Name = v.Name, Value = v.Value }))
 {
     _deviceId = deviceId;
 }
 public EditApplicationVariablesDialogViewModel(ResinApiClient client, int applicationId, IEnumerable <EnvironmentVariable> variables)
     : base(client, variables.Select(v => new GenericEnvironmentVariable { Id = v.Id, Name = v.Name, Value = v.Value }))
 {
     _applicationId = applicationId;
 }