11月24日(木)3、4コマ目
今日のソースコード
C#+例外 練習問題「パスワード変更」
先日作ってもらった「パスワード変更」の正解例のソースコードをあげておきます。
RegistPasswordResultEnum.cs
パスワード変更結果を通知するための列挙型。
UserDAO.cs
ポイントは Insert()メソッドでSQL実行(cmd.ExecuteNonQuery())時に発生する例外に応じて処理を行っているところ。
また、ステップ2用にパスワードが設定済みか否かを判断するためのGetPasswordCount()メソッドがある。
Index.cshtml.cs
OnPost()にて、パスワード変更メソッド(UserDAO.Insert())の戻り値の応じて、エラーメッセージをセットしている。
Index.cshtml
とくにややこしいところはないと思います。
今日、やったこと
[評価用課題]オークションサイト(C#版)
今日のホワイトボード
階層化
今回の課題は階層化をしっかりしてください。
|
| 図 階層化 |
たとえば、「認証」はServiceクラスが提供する機能で、UserDAOクラスには認証機能は作りません。UserDAOクラスには認証のために必要な機能のうち、DBアクセス部分(ログイン名とパスワードの組み合わせ件数をカウントする機能)だけを作ります。
SQLをちゃんと使うこと
UserDAOクラスのログイン名とパスワードの組み合わせ件数をカウントするメソッドですが、ぜったいに下図のようにループをまわしてカウントしないでください。
|
| 図 やってはいけないこと |
ページ遷移
今回は3ページ構成です。よって、ページ遷移が必要になります。
ページ間をまたいで共有するデータ(ログインユーザー情報など)があります。ひさしぶりにSessionオブジェクトが必要です。
次回は
引き続き、課題の時間です。

