InsertClass(TDIns〇〇)

Imports System.Data.SqlClient
Imports System.Text

Public Class TDInsUserInfo
Inherits BaseDAO
Private Const TABLE_NAME As String = "UserInfo"
Private ReadOnly _tCls As TUserInfo
Sub New(ByVal tCls As TUserInfo)
MyBase.New
_tCls = tCls
End Sub

Protected Overrides Sub ExecuteImp()
Dim cmd As SqlCommand = Me.CreateCommand
Me.SetSQLParameters(cmd)
MyBase.Insert(cmd)
End Sub

Protected Overrides Sub SetSQLParameters(ByVal cmd As SqlCommand)
'---ユーザID
cmd.Parameters.Add(New SqlParameter("@UserId", _tCls.UserId))
'---ユーザ名
cmd.Parameters.Add(New SqlParameter("@UserName", _tCls.UserName))
'---パスワード
'---New時は新規作成
cmd.Parameters.Add(New SqlParameter("@Password", Utils.EncryptString(Utils.GetRndString(12))))
'---権限
cmd.Parameters.Add(New SqlParameter("@Grant", _tCls.UserGrant))
'---ステータス
cmd.Parameters.Add(New SqlParameter("@Status", _tCls.UserStatus))
'---CreateDatetime
cmd.Parameters.Add(New SqlParameter("@Createtime", DateTime.Now.ToString(STR_yyyyHMMHddSHHCmmCcc)))
End Sub

Private Function CreateCommand() As SqlCommand
Dim wrk As New StringBuilder
Dim cmd As New SqlCommand
'---新規登録時はPasswordは自動発行
_tCls.UserPassword = Utils.GetRndString(12)
wrk.Append($" INSERT INTO {TABLE_NAME} ")
wrk.Append(" VALUES(")
wrk.Append(" @UserId,")
wrk.Append(" @UserName,")
wrk.Append(" @Password,")
wrk.Append(" @Grant,")
wrk.Append(" @Status,")
wrk.Append(" @Createtime,")
wrk.Append(" @Createtime")
wrk.Append(" ) ")
cmd.CommandText = wrk.ToString
Return cmd
End Function
End Class