/// <summary>削除処理</summary> async private void button9_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("Delete"); // メソッド名 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 { // 結果(正常系) this.labelMessage.Text = response.Body.returnValue + "件削除"; } }
/// <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> async private void button9_Click(object sender, RoutedEventArgs e) { // 引数1:コンテキスト string context = "User1"; // 引数2:アクションタイプ string actionType = ((ComboBoxItem)this.ddlDap.SelectedItem).Value + "%" + ((ComboBoxItem)this.ddlMode1.SelectedItem).Value + "%" + ((ComboBoxItem)this.ddlMode2.SelectedItem).Value + "%" + ((ComboBoxItem)this.ddlExRollback.SelectedItem).Value; // Soap & Bean の個別WebメソッドのWeb参照 SbServiceReference.ServiceForSbSoapClient client = new SbServiceReference.ServiceForSbSoapClient(); // 非同期呼出しを行う SbServiceReference.DeleteResponse response = await client.DeleteAsync(context, actionType, int.Parse(this.textBox1.Text)); if (response.Body.DeleteResult != "") { // 例外発生時 WSErrorInfo wse = new WSErrorInfo(response.Body.DeleteResult); this.labelMessage.Text = response.Body.DeleteResult + " , " + response.Body.returnValue + " , " + wse.MessageID + " , " + wse.Message + " , " + wse.Information; } else { // 結果(正常系) this.labelMessage.Text = response.Body.returnValue + "件削除"; } }
/// <summary>参照処理</summary> /// <remarks> /// 非同期フレームワークを使用してB層の呼び出し処理を非同期化 /// (結果表示にだけ匿名デリゲードを使用するパターン) /// </remarks> async private void button6_Click(object sender, RoutedEventArgs e) { // 引数1:コンテキスト string context = "User1"; // 引数2:アクションタイプ string actionType = ((ComboBoxItem)this.ddlDap.SelectedItem).Value + "%" + ((ComboBoxItem)this.ddlMode1.SelectedItem).Value + "%" + ((ComboBoxItem)this.ddlMode2.SelectedItem).Value + "%" + ((ComboBoxItem)this.ddlExRollback.SelectedItem).Value; // Soap & Bean の個別WebメソッドのWeb参照 SbServiceReference.ServiceForSbSoapClient client = new SbServiceReference.ServiceForSbSoapClient(); // 非同期呼出しを行う SbServiceReference.SelectResponse response = await client.SelectAsync(context, actionType, int.Parse(this.textBox1.Text)); if (response.Body.SelectResult != "") { // 例外発生時 WSErrorInfo wse = new WSErrorInfo(response.Body.SelectResult); this.labelMessage.Text = response.Body.SelectResult + " , " + response.Body.returnValue + " , " + wse.MessageID + " , " + wse.Message + " , " + wse.Information; } else { // 結果(正常系) // データバインド(ToDataSourceでは、削除行を除いたリストを返す) SbServiceReference.Shipper shipper = response.Body.returnValue; this.textBox2.Text = shipper.CompanyName; this.textBox3.Text = shipper.Phone; } }
/// <summary>一覧取得(動的sql)</summary> async private void button5_Click(object sender, RoutedEventArgs e) { // 引数1:コンテキスト string context = "User1"; // 引数2:アクションタイプ string actionType = ((ComboBoxItem)this.ddlDap.SelectedItem).Value + "%" + ((ComboBoxItem)this.ddlMode1.SelectedItem).Value + "%" + ((ComboBoxItem)this.ddlMode2.SelectedItem).Value + "%" + ((ComboBoxItem)this.ddlExRollback.SelectedItem).Value; // Soap & Bean の個別WebメソッドのWeb参照 SbServiceReference.ServiceForSbSoapClient client = new SbServiceReference.ServiceForSbSoapClient(); // 非同期呼出しを行う SbServiceReference.SelectAll_DSQLResponse response = await client.SelectAll_DSQLAsync(context, actionType, ((ComboBoxItem)this.ddlOrderColumn.SelectedItem).Value, ((ComboBoxItem)this.ddlOrderSequence.SelectedItem).Value); if (response.Body.SelectAll_DSQLResult != "") { // 例外発生時 WSErrorInfo wse = new WSErrorInfo(response.Body.SelectAll_DSQLResult); this.labelMessage.Text = response.Body.SelectAll_DSQLResult + " , " + response.Body.returnValue + " , " + wse.MessageID + " , " + wse.Message + " , " + wse.Information; } else { // 結果(正常系) // データバインド(ToDataSourceでは、削除行を除いたリストを返す) this.ListView1.ItemsSource = response.Body.returnValue; } }