血圧管理カレンダー

C#.net

血圧管理カレンダー

Windows 10 / Visual Stadio Community 2019 / .net 5.0
1ヶ月カレンダーをベースに日々の血圧を入力するアプリケーション
日付をダブルクリックし血圧入力フォームを表示する。血圧値を入力して登録ボタンをクリックするとデータはデータベースに登録される。血圧入力済みの日はカレンダーの日付に赤いマークが表示される。
同じ機能で MacOS/Swift版HTML/JavaScript版 を作成している。通信プロトコル、サーバ側の処理は共通である。

クラス関連図

[class1]

クラス一覧

CalendarFormクラス

カレンダーを表示するメインフォーム
月間カレンダーの作成/表示、、月の移動などのUIイベントの制御を行う。カレンダーは、一日の日付を表す DayItemクラスのオブジェクトメインフォームに配置したものである。

DayItemクラス

コントロールに日付を描画し、日付の属性(休日/平日、システム日付、選択中か否かなど)によって文字の色や背景色、枠線の色を変える。

Calendarクラス

カレンダー 1ヶ月分の日付情報を保持する。 日ごとの情報は CalendarDateクラスのインスタンスに保持される。これらのインスタンスはカレンダーに表示される日数だけ作成され、Calendarクラスのオブジェクトはこれらを所有する。
カレンダーを表示するフォームオブジェクトは、Calendarクラスのオブジェクトを一つだけ保持し、その日付情報を元にカレンダーを作成し表示する。

CalendarDateクラス

1日分の日付情報として、年、月、日、曜日、休日フラグなどを持つ。

DateUtilクラス

日付を扱う関数ライブラリ。日付の計算、日付の比較、月末日を求める、和暦変換などを行う関数を提供。

EntryFormクラス

血圧データを入力するサブフォーム
ボタンやキーボードで入力された血圧値をサーバに送り、データベースを更新する。(本クラスでは、HTTPリクエストをサーバに送るまで行い、データベースの更新はサーバ側のアプリケーションが行う)

NumberButtonクラス

Controlクラスをもとに、0〜C の数値ボタンを定義する。

ValueFieldクラス

TextBoxクラスをもとに、血圧入力フィールドを定義する。

HTTPServiceクラス

血圧データの取得や更新を行うために、サーバと HTTPリクエストの送受信を行う。送受信は、.NETライブラリの HttpWebRequestクラスを利用する。