コード例 #1
0
        private async Task <Unit> CreateNewDevice()
        {
            using (var disposables = new CompositeDisposable())
            {
                try
                {
                    Logger.Debug($"User pressed 'Add New Device'");
                    var dialog    = new InputWindowDevice();
                    var viewModel = viewModelFactory.CreateViewModel <InputWindowDeviceViewModel>();
                    viewModel.AddDisposableTo(disposables);
                    viewModel.Window             = dialog;
                    dialog.DataContext           = viewModel;
                    dialog.WindowStartupLocation = WindowStartupLocation.CenterScreen;
                    var finished = dialog.ShowDialog();
                    Logger.Debug($"Opend Dialog Window to add New Device Name");

                    if (viewModel.CanAddDevice)
                    {
                        var newDeviceName = viewModel.NewDeviceName;
                        Logger.Debug($"User entered Name:'{viewModel.NewDeviceName}' and pressed 'Create New Device' Button");
                        await azureService.CreateNewDevice(hubName, newDeviceName);

                        Logger.Debug($"Command was send with AzureCli");
                        await Reload();
                    }
                }
                catch (Exception e)
                {
                    Logger.Error("Error while creating new device", e);
                }
            }

            return(Unit.Default);
        }