10月10日(火)1、2コマ目
今日、やったこと
[評価用課題]オークションサイト(C#版)の説明
今日のホワイトボード
課題を出しましたが、今まで話していない内容があるため、ちまちまと説明をしました。
ページ遷移
今までは1ページだけのアプリケーションでしたが、今回は3ページです。
ということで、ページの移動(遷移)が必要です。
今回はリダイレクトによるページ移動を紹介しました。
![]() |
| 図 作成したサンプルのイメージ |
ポイントは
- OnPost()の戻り値はvoid型からIActionResult型に変更
- RedirectToPage(遷移先ページ)の戻り値を返す
の2点。
ページ遷移は
リダイレクトとフォワードの2種類がある。
リダイレクトはHTTPの機能を使ったやり方。
=>遷移先はどこでもOK
フォワードはアプリケーションの機能を使ったやり方。
=>遷移先は同じアプリケーション内
課題について
課題作成にあたり、シーケンス図とメソッド一覧を配布しました。このとおりに作ってください。
各機能別に処理の流れを話しました。
認証について
認証をするのはServiceクラスのAuthenticate()メソッド。
Authenticate()メソッドは認証のために必要なログイン名とパスワードの組み合わせ件数をUserDAOのGetCount()を使って取得。GetCount()の戻り値は件数。
![]() |
| 図 認証のながれ |
UserDAOのGetCount()
ログイン名とパスワードの組み合わせ件数の取得の際、指定ログイン名とパスワードの行を取得=>ループで件数をカウント=>カウント結果を返すはダメ。
もし、これをやった場合は0点。
NotFilledExceptionクラス
Exceptionクラスを継承した例外クラス。
![]() |
| 図 C#の継承 |
コンストラクタは1つ。このコンストラクタからスーパークラス(Exceptionクラス)のstring型引数1個のコンストラクタ呼び出し。
商品選択について
選択した商品が応札期限内かチェック。
![]() |
| 図 商品選択のながれ |
入札について
応札データテーブルに書き込む際、
①応札データテーブルの対象商品の行をすべてロック
②応札データテーブルの対象商品の最高値を取得
=> もし入札金額が最高値以下なら入札終了
③応札データテーブルへ書き込み
![]() |
| 図 入札のながれ |
すべてのケースの~.cshtml.csにて
もし、Exceptionがスローされたら
✖ キャッチせずに・・
〇 キャッチしてエラーメッセージ表示
締め切りは
10月19日(木)2コマ目終了時を予定。
次回は
まるまる課題の時間。






