マスターテーブルデータ管理クラス [VB.NET]

Visual Basic.NET ADO.NETデータベースプログラミング

MDB版:社員クラス

マスターテーブル更新処理、削除処理、追加処理のデータを管理するクラスの実装

社員クラスの実装

実装するメンバーは次のとおりです。

  • コンストラクタをふたつ
  • プロパティ(社員コード、社員氏名、社員カナ)
Option Strict On

Imports System.Text.RegularExpressions

Public Class ClsSyain
    '========================================================
    ' 機能:コンストラクタ
    ' 引数:社員コード
    '========================================================
    Public Sub New(ByVal syainCode As String)

        MyBase.New()

        '【社員コードエラーチェック】
        If syainCode = "" Then
            ' 未入力はエラー
            Throw New ClsSyainCodeException _
                ("社員コードを入力してください")
        Else
            If Not Regex.IsMatch(syainCode, "^[0-9]+$") Then
                ' 数字以外はエラー
                Throw New ClsSyainCodeException _
                    ("社員コードは数字で入力してください")
            Else
                ' 社員テーブルアクセスオブジェクト
                Dim dbIO As New ClsDBIO(syainCode)

                ' 社員マスタにレコードがなければエラー
                If dbIO.ExistSyain() = True Then
                    Me.syainCodeValue = syainCode
                Else
                    Throw New ClsSyainCodeException _
                      ("この社員コードは登録されていません")
                End If
            End If
        End If

    End Sub

    '========================================================
    ' 機能:コンストラクタ
    ' 引数:社員コード, 社員氏名, 社員カナ
    '========================================================
    Public Sub New(ByVal syainCode As String, _
        ByVal syainSimei As String, _
        ByVal syainKana As String)

        MyBase.New()

        '【社員コードエラーチェック】
        If syainCode = "" Then
            ' 未入力はエラー
            Throw New ClsSyainCodeException _
                ("社員コードを入力してください")
        Else
            If Not Regex.IsMatch(syainCode, "^[0-9]+$") Then
                ' 数字以外はエラー
                Throw New ClsSyainCodeException _
                    ("社員コードは数字で入力してください")
            Else
                ' 社員テーブルアクセスオブジェクト
                Dim dbIO As New ClsDBIO(syainCode)

                ' 社員マスタにこの社員コードがあればエラー
                If dbIO.ExistSyain() = True Then
                    Throw New ClsSyainCodeException _
                        ("この社員コードは登録済です")
                Else
                    Me.syainCodeValue = syainCode
                End If
            End If
        End If

        '【社員氏名エラーチェック】
        Me.SyainSimei = syainSimei
        '【社員カナエラーチェック】
        Me.SyainKana = syainKana

    End Sub

    '------------ プロパティ:社員コード ------------
    Private syainCodeValue As String

    Public ReadOnly Property SyainCode() As String

        ' Getプロパティ
        Get
            Return Me.syainCodeValue
        End Get

    End Property

    '------------ プロパティ:社員氏名 ------------
    Private syainSimeiValue As String

    Public Property SyainSimei() As String

        ' Getプロパティ
        Get
            Return Me.syainSimeiValue
        End Get

        ' Setプロパティ
        Set(ByVal value As String)
            '【エラーチェック】
            If value = "" Then
                '未入力はエラー
                Throw New clsSyainSimeiException _
                    ("社員氏名を入力してください")
            Else
                syainSimeiValue = value
            End If
        End Set

    End Property

    '------------ プロパティ:社員カナ ------------
    Private syainKanaValue As String

    Public Property SyainKana() As String

        ' Getプロパティ
        Get
            Return syainKanaValue
        End Get

        ' Setプロパティ
        Set(ByVal value As String)
            '【エラーチェック】
            If value = "" Then
                ' 未入力はエラーとしない
                syainKanaValue = value
            Else
                ' 全角カタカナチェック
                If Regex.IsMatch(value, "^[ァ-ー]+$") Then
                    syainKanaValue = value
                Else
                    ' カタカナエラー
                    Throw  New ClsSyainKanaException _
                       ("全角カタカナで入力してください")
                End If
            End If

        End Set

    End Property

End Class

SQL Server版