/// <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(); }
/// <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(); }
/// <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 + "件更新"; } }
/// <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(); } }
/// <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(); } }