コード例 #1
0
        public async void AcceptDialog()
        {
            // ダイアログ種別で分岐
            switch (DType)
            {
            case DialogType.Configure:
                // 設定を保存
                XmlConverter.Serialize(CurrentLogConfig, String.Format(@"{0}\LogConfig.xml", SiteConfig.BASE_DIR));
                if (CurrentLoginInfo is null)
                {
                    CurrentLoginInfo = new LoginInfo();
                }
                CurrentLoginInfo.LoginPass = AesEncrypt.EncryptToBase64(SecureStringConverter.SecureToPlain(CurrentAesPass), AesKeyConf.key, AesKeyConf.iv);
                XmlConverter.Serialize(CurrentLoginInfo, String.Format(@"{0}\LoginInfo.xml", SiteConfig.BASE_DIR));

                // ダイアログを閉じる
                IsDialogOpen = false;
                DialogView   = null;
                break;

            case DialogType.HotelUpdate:
                // Viewの型で更に分岐
                switch (DialogView)
                {
                case MaterialDialogOkCancel okCancelDialog:
                    // ダイアログを閉じる
                    IsDialogOpen = false;
                    DialogView   = null;

                    // 次のダイアログを表示する
                    Message    = "処理中...";
                    DialogView = new MaterialDialogProcessing()
                    {
                        DataContext = this
                    };
                    IsDialogOpen = true;

                    // 処理モデル定義
                    var model = new HotelUpdate();
                    await Task.Run(() =>
                    {
                        // 処理実行
                        model.Execute();
                    });

                    // 処理成功
                    if (model.Result)
                    {
                        // ダイアログを閉じる
                        IsDialogOpen = false;
                        DialogView   = null;

                        // 次のダイアログを表示する
                        Message    = "完了しました\r\n";
                        DialogView = new MaterialDialogOk()
                        {
                            DataContext = this
                        };
                        IsDialogOpen = true;
                    }
                    break;

                case MaterialDialogOk okDialog:
                    // ダイアログを閉じる
                    IsDialogOpen = false;
                    DialogView   = null;
                    break;
                }
                break;

            case DialogType.License:
                // ダイアログを閉じる
                IsDialogOpen = false;
                DialogView   = null;
                break;
            }
        }