受注伝票クラス[VB 2013]

Visual Basic 2010/2008 やさしいADO.NET DBプログラム

   やさしい VB2010/2008 ADO.NET

受注エントリーのヘッダーとディテール(明細)データを管理する受注伝票クラスです。

受注伝票クラスの実装

受注エントリー画面

コンストラクタは、受注ヘッダーデータ(エラー未チェック)と、受注明細行(エラーチェック済)の二つの引数を指定します。このとき受注ヘッダーにエラーがあれば、例外をスローします。

受注ヘッダー表と受注ディテール表にレコードを追加するInsertRecordメソッドは、受注ヘッダーデータと明細行を引数に指定して、ClsJuchuDenpyoIOクラスの追加メソッドInsertRecordを呼び出します。

  • コンストラクタ
  • 受注ヘッダー表と受注ディテール表にレコードを追加するInsertRecordメソッド
Option Strict On

'%%%%%%%%%%%%%%%%%%%%%%% 受注伝票クラス %%%%%%%%%%%%%%%%%%%%%%%%
Public Class ClsJuchuDenpyo

    '--------------------< 変数メンバー >--------------------
    Private hValue As ClsInsertHeader              ' 受注ヘッダーデータ  
    Private dValue As List(Of ClsInsertDetailRow)  ' 受注ディテールデータ 

    '=======================================================
    ' 機能:コンストラクタ
    ' 引数:追加する受注ヘッダー表データ
    ' 引数:追加する受注ディテール表データ
    '=======================================================
    Public Sub New(ByVal header As DataRow, _
                   ByVal detail As List(Of ClsInsertDetailRow))

        ' 基本クラスのコンストラクタを呼び出す
        MyBase.New()
        ' 注:ヘッダーデータにエラーがあれば例外スロー
        hValue = New ClsInsertHeader(header)
        ' ディテール行有無チェック
        If detail.Count > 0 Then
            ' 行データがあれば、変数メンバーに値をセット
            dValue = New List(Of ClsInsertDetailRow)(detail)
        Else
            ' 行データがなければ例外スロー
            Throw New ShohinCodeException("明細を入力してください")
        End If

    End Sub

    '*******************************************************
    ' 機能:ヘッダー表とディテール表にレコードを追加する
    ' 引数:なし
    ' 戻値:受注ディテール表に追加したレコード数
    '*******************************************************
    Public Function InsertRecord() As Integer

        Dim retInsertCount As Integer      ' リターン値
        ' 受注ヘッダー表・受注ディテール表にレコード追加
        Dim dbio As New ClsJuchuDenpyoIO
        retInsertCount = dbio.InsertRecord(hValue, dValue)
        ' ◆戻値を設定してリターン
        Return retInsertCount

    End Function

End Class

Copyright© やさしいVB2012/2010 ADO.NET. All rights reserved.