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オブジェクトが必要です。


次回は

引き続き、課題の時間です。


このブログの人気の投稿

11月14日(月)1、2コマ目

10月27日(木)3、4コマ目

10月4日(火)1、2コマ目