示例#1
0
        /// <summary>ListViewの初期化</summary>
        async private void InitListView()
        {
            // テーブル@汎用DTOにデータを詰めてバインディングさせる。

            // 引数1:コンテキスト
            string Context = "User1";

            // 引数2:共通部
            MuServiceReference.ArrayOfString param
                = new MuServiceReference.ArrayOfString();

            // 共通部を生成
            param.Add(this.Name);               // 画面名
            param.Add("Page_Loaded");           // ボタン名
            param.Add("InitDataGrid");          // メソッド名
            param.Add("ActionType");            // アクションタイプ

            // 引数3:汎用DTOデータ部

            // 空のDTTables
            DTTables dtts = new DTTables();

            dtts.Add(this.Dtt);

            // 汎用サービスI/FのWebサービスは通常のWeb参照を用いる。
            MuServiceReference.ServiceForMuSoapClient client = new MuServiceReference.ServiceForMuSoapClient();

            // 非同期呼出しを行う
            MuServiceReference.CallResponse response = await client.CallAsync(Context, "muWebService", param, DTTables.DTTablesToString(dtts));

            // データバインド(ToDataSourceでは、削除行を除いたリストを返す)
            this.Dtt = DTTables.StringToDTTables(response.Body.returnValue)[0];
            this.ListView1.ItemsSource = this.Dtt.Rows.ToDataSource();
        }
示例#2
0
        /// <summary>
        /// Webサービスに汎用DTOデータを渡し
        /// Webサービス内で1行、行を追加する。
        /// </summary>
        async private void btnAddRow_CallWebService_Click(object sender, RoutedEventArgs e)
        {
            // 引数1:コンテキスト
            string Context = "User1";

            // 引数2:共通部
            MuServiceReference.ArrayOfString param
                = new MuServiceReference.ArrayOfString();

            // 共通部を生成
            param.Add(this.Name);               // 画面名
            param.Add(((Button)sender).Name);   // ボタン名
            param.Add("AddRow");                // メソッド名
            param.Add("ActionType");            // アクションタイプ

            // 引数3:汎用DTOデータ部

            // 空のDTTables
            DTTables dtts = new DTTables();

            dtts.Add(this.Dtt);

            // 汎用サービスI/FのWebサービスは通常のWeb参照を用いる。
            MuServiceReference.ServiceForMuSoapClient client
                = new MuServiceReference.ServiceForMuSoapClient();

            // 非同期呼出しを行う
            MuServiceReference.CallResponse response = await client.CallAsync(Context, "muWebService", param, DTTables.DTTablesToString(dtts));

            // データバインド(ToDataSourceでは、削除行を除いたリストを返す)
            this.Dtt = DTTables.StringToDTTables(response.Body.returnValue)[0];
            this.ListView1.ItemsSource = this.Dtt.Rows.ToDataSource();
        }
示例#3
0
        /// <summary>更新処理</summary>
        async private void button8_Click(object sender, RoutedEventArgs e)
        {
            // 引数1:コンテキスト
            string context = "User1";

            // 引数2:共通部
            MuServiceReference.ArrayOfString param
                = new MuServiceReference.ArrayOfString();

            // 共通部を生成
            string actionType =
                ((ComboBoxItem)this.ddlDap.SelectedItem).Value + "%"
                + ((ComboBoxItem)this.ddlMode1.SelectedItem).Value + "%"
                + ((ComboBoxItem)this.ddlMode2.SelectedItem).Value + "%"
                + ((ComboBoxItem)this.ddlExRollback.SelectedItem).Value;

            param.Add(this.Name);               // 画面名
            param.Add(((Button)sender).Name);   // ボタン名
            param.Add("Update");                // メソッド名
            param.Add(actionType);              // アクションタイプ

            // 引数3:汎用DTOデータ部

            // 引数のDTTables
            DTTables dtts  = new DTTables();
            DTTable  dtt   = new DTTable("param");
            DTRow    dtrow = null;

            dtt.Cols.Add(new DTColumn("ShipperID", DTType.String));
            dtt.Cols.Add(new DTColumn("CompanyName", DTType.String));
            dtt.Cols.Add(new DTColumn("Phone", DTType.String));
            dtrow = dtt.Rows.AddNew();
            dtrow["ShipperID"]   = this.textBox1.Text;
            dtrow["CompanyName"] = this.textBox2.Text;
            dtrow["Phone"]       = this.textBox3.Text;
            dtts.Add(dtt);

            // SOAP汎用Webメソッドは通常のWeb参照を用いる。
            MuServiceReference.ServiceForMuSoapClient client = new MuServiceReference.ServiceForMuSoapClient();

            // 非同期呼出しを行う
            MuServiceReference.CallResponse response = await client.CallAsync(context, "muWebService", param, DTTables.DTTablesToString(dtts));

            if (response.Body.CallResult != "")
            {
                // 例外発生時
                WSErrorInfo   wse    = new WSErrorInfo(response.Body.CallResult);
                MessageDialog dialog = new MessageDialog("以下のエラーが発生しました\r\nメッセージ : " + response.Body.CallResult + " , " + response.Body.returnValue + " , " + wse.MessageID + " , " + wse.Message + " , " + wse.Information);
                await dialog.ShowAsync();
            }
            else
            {
                // 結果(正常系)
                this.labelMessage.Text = response.Body.returnValue + "件更新";
            }
        }
示例#4
0
        /// <summary>一覧取得(動的sql)</summary>
        async private void button5_Click(object sender, RoutedEventArgs e)
        {
            // 引数1:コンテキスト
            string context = "User1";

            // 引数2:共通部
            MuServiceReference.ArrayOfString param
                = new MuServiceReference.ArrayOfString();

            // 共通部を生成
            string actionType =
                ((ComboBoxItem)this.ddlDap.SelectedItem).Value + "%"
                + ((ComboBoxItem)this.ddlMode1.SelectedItem).Value + "%"
                + ((ComboBoxItem)this.ddlMode2.SelectedItem).Value + "%"
                + ((ComboBoxItem)this.ddlExRollback.SelectedItem).Value;

            param.Add(this.Name);               // 画面名
            param.Add(((Button)sender).Name);   // ボタン名
            param.Add("SelectAll_DSQL");        // メソッド名
            param.Add(actionType);              // アクションタイプ

            // 引数3:汎用DTOデータ部

            // 引数のDTTables
            DTTables dtts  = new DTTables();
            DTTable  dtt   = new DTTable("param");
            DTRow    dtrow = null;

            dtt.Cols.Add(new DTColumn("OrderColumn", DTType.String));
            dtt.Cols.Add(new DTColumn("OrderSequence", DTType.String));
            dtrow = dtt.Rows.AddNew();
            dtrow["OrderColumn"]   = ((ComboBoxItem)this.ddlOrderColumn.SelectedItem).Value;
            dtrow["OrderSequence"] = ((ComboBoxItem)this.ddlOrderSequence.SelectedItem).Value;
            dtts.Add(dtt);

            // SOAP汎用Webメソッドは通常のWeb参照を用いる。
            MuServiceReference.ServiceForMuSoapClient client = new MuServiceReference.ServiceForMuSoapClient();

            // 非同期呼出しを行う
            MuServiceReference.CallResponse response = await client.CallAsync(context, "muWebService", param, DTTables.DTTablesToString(dtts));

            if (response.Body.CallResult != "")
            {
                // 例外発生時
                WSErrorInfo   wse    = new WSErrorInfo(response.Body.CallResult);
                MessageDialog dialog = new MessageDialog("以下のエラーが発生しました\r\nメッセージ : " + response.Body.CallResult + " , " + response.Body.returnValue + " , " + wse.MessageID + " , " + wse.Message + " , " + wse.Information);
                await dialog.ShowAsync();
            }
            else
            {
                // 結果(正常系)
                // データバインド(ToDataSourceでは、削除行を除いたリストを返す)
                this.ListView1.ItemsSource = DTTables.StringToDTTables(response.Body.returnValue)[0].Rows.ToDataSource();
            }
        }
示例#5
0
        /// <summary>参照処理</summary>
        /// <remarks>
        /// 非同期フレームワークを使用してB層の呼び出し処理を非同期化
        /// (結果表示にだけ匿名デリゲードを使用するパターン)
        /// </remarks>
        async private void button6_Click(object sender, RoutedEventArgs e)
        {
            // 引数1:コンテキスト
            string context = "User1";

            // 引数2:共通部
            MuServiceReference.ArrayOfString param
                = new MuServiceReference.ArrayOfString();

            // 共通部を生成
            string actionType =
                ((ComboBoxItem)this.ddlDap.SelectedItem).Value + "%"
                + ((ComboBoxItem)this.ddlMode1.SelectedItem).Value + "%"
                + ((ComboBoxItem)this.ddlMode2.SelectedItem).Value + "%"
                + ((ComboBoxItem)this.ddlExRollback.SelectedItem).Value;

            param.Add(this.Name);               // 画面名
            param.Add(((Button)sender).Name);   // ボタン名
            param.Add("Select");                // メソッド名
            param.Add(actionType);              // アクションタイプ

            // 引数3:汎用DTOデータ部
            // DTOは使わない。
            string shipperID = this.textBox1.Text;

            // SOAP汎用Webメソッドは通常のWeb参照を用いる。
            MuServiceReference.ServiceForMuSoapClient client = new MuServiceReference.ServiceForMuSoapClient();

            // 非同期呼出しを行う
            MuServiceReference.CallResponse response = await client.CallAsync(context, "muWebService", param, shipperID);

            if (response.Body.CallResult != "")
            {
                // 例外発生時
                WSErrorInfo   wse    = new WSErrorInfo(response.Body.CallResult);
                MessageDialog dialog = new MessageDialog("以下のエラーが発生しました\r\nメッセージ : " + response.Body.CallResult + " , " + response.Body.returnValue + " , " + wse.MessageID + " , " + wse.Message + " , " + wse.Information);
                await dialog.ShowAsync();
            }
            else
            {
                // 結果(正常系)
                // データバインド(ToDataSourceでは、削除行を除いたリストを返す)
                DTRow dtrow = DTTables.StringToDTTables(response.Body.returnValue)[0].Rows[0];
                this.textBox2.Text = dtrow["CompanyName"].ToString();
                this.textBox3.Text = dtrow["Phone"].ToString();
            }
        }