public JusinsyaKanriForm(bool frmMode, KanjaYoyakuModel kanjaModel) { model = kanjaModel; mode = frmMode; InitializeComponent(); InitJusinsyaItems(); }
public YoyakuKanriForm(bool mode, KanjaYoyakuModel yoyakumodel) { #region コンストラクタ frmMode = mode; model = yoyakumodel; InitializeComponent(); InitYoyakuItems(); }
/// <summary> グリッドボタンでの削除処理 /// <param name="model">削除対象の情報</param> private void GridDelete(KanjaYoyakuModel model) { string strCon = "Server=localhost; Database=medical_manegement; Uid=root; Pwd=nekonyanta"; MySqlConnection con = new MySqlConnection(strCon); con.Open(); try { // DELETE文を作成しパラメータを追加 StringBuilder sb = new StringBuilder(); MySqlCommand cmd; string msg; if (mode) // 患者一覧モードなら { sb.AppendLine("DELETE FROM KANJA"); sb.AppendLine("WHERE"); sb.AppendLine("ID=@ID"); cmd = new MySqlCommand(sb.ToString(), con); cmd.Parameters.Add(new MySqlParameter("@ID", model.Id)); msg = $"患者ID:{model.Id}\n氏名:{model.Name} 様\n"; } else // 予約一覧モードなら { sb.AppendLine("DELETE FROM YOYAKU"); sb.AppendLine("WHERE"); sb.AppendLine(" 患者ID=@ID"); sb.AppendLine("AND 予約日=@YOYAKUDAY"); sb.AppendLine("AND 予約時間=@YOYAKUTIME"); sb.AppendLine("AND 受診科=@SINRYOKA"); cmd = new MySqlCommand(sb.ToString(), con); cmd.Parameters.Add(new MySqlParameter("@ID", model.Id)); cmd.Parameters.Add(new MySqlParameter("@YOYAKUDAY", model.YoyakuDay)); cmd.Parameters.Add(new MySqlParameter("@YOYAKUTIME", model.TimeTableNum)); cmd.Parameters.Add(new MySqlParameter("@SINRYOKA", model.SinryokaNum)); msg = $"患者ID:{model.Id}\n氏名:{model.Name} 様\n予約日:{model.YoyakuDay}\n予約時間:{model.YoyakuTime}\n受診科:{model.Sinryoka}"; } DialogResult result = MessageBox.Show($"{msg}\nこの情報を削除しますか?", "最終確認", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result == DialogResult.OK) { cmd.ExecuteNonQuery(); MessageBox.Show($"{msg}\nこの情報を削除しました"); StartMenuForm.CheckExistKanja(); // 登録受診者数を確認し0人なら新規登録を促す } else { MessageBox.Show("処理をキャンセルしました"); } } catch (Exception ex) { MessageBox.Show($"エラー詳細:\n{ex.Message}:\n{ex.InnerException}"); } finally { con.Close(); } }
/// <summary> 登録後に自動呼出で表示させ、予約内容を印刷するかダイアログで確認する /// <param name="model">予約情報を格納したクラス</param> private void Yoyakuhyou(KanjaYoyakuModel model) { // YoyakuhyouForm frmhyou = new YoyakuhyouForm(model); frmhyou.ShowDialog(); if (frmMode) // 登録モード { InitYoyakuItems(); // 予約フォームは初期化する } else // 修正モード { this.Hide(); // フォームが閉じるまで隠しておく this.Close(); // フォームを閉じる(frmhyouが閉じたらクローズされる) IchiranKensaku frmIchiran = new IchiranKensaku(false); frmIchiran.ShowDialog(); } }
private int openCount = 0; // 文字列を改行加工するのは初回だけでよいので数えておく public YoyakuhyouForm(KanjaYoyakuModel yoyakuModel) { InitializeComponent(); model = yoyakuModel; }
/// <summary> データグリッドクリック private void dgvList_CellContentClick(object sender, DataGridViewCellEventArgs e) { try { // グリッドを取得 DataGridView dgv = (DataGridView)sender; // ボタンクリックでモード値を変更する int mode = 0; // デフォルトモード値 switch (dgv.Columns[e.ColumnIndex].Name) { case "DELETE": mode = 1; break; case "UPDATE": mode = 2; break; case "YOYAKUHYO": mode = 3; break; } // 押されたのがボタン以外(mode = 0)なら処理しない if (mode == 0) { return; } // モデルに選択行の値を格納する KanjaYoyakuModel model = new KanjaYoyakuModel(); if (this.mode) // 患者一覧モード { model.Id = int.Parse(dgv.Rows[e.RowIndex].Cells[2].Value.ToString()); model.Name = dgv.Rows[e.RowIndex].Cells[3].Value.ToString(); model.Hokensyo = dgv.Rows[e.RowIndex].Cells[4].Value.ToString(); model.Birthday = dgv.Rows[e.RowIndex].Cells[5].Value.ToString(); model.Gender = dgv.Rows[e.RowIndex].Cells[6].Value.ToString(); model.Zipcode = dgv.Rows[e.RowIndex].Cells[7].Value.ToString(); model.Address = dgv.Rows[e.RowIndex].Cells[8].Value.ToString(); model.Tel = dgv.Rows[e.RowIndex].Cells[9].Value.ToString(); model.Doctor = dgv.Rows[e.RowIndex].Cells[10].Value.ToString(); model.Keika = dgv.Rows[e.RowIndex].Cells[11].Value.ToString(); } else // 予約一覧モード { model.Id = int.Parse(dgv.Rows[e.RowIndex].Cells[5].Value.ToString()); model.Name = dgv.Rows[e.RowIndex].Cells[6].Value.ToString(); model.Sinryoka = dgv.Rows[e.RowIndex].Cells[7].Value.ToString(); model.YoyakuDay = dgv.Rows[e.RowIndex].Cells[3].Value.ToString().Remove(10); model.YoyakuTime = dgv.Rows[e.RowIndex].Cells[4].Value.ToString(); model.SinryokaNum = YoyakuKanriForm.GetKanriBango(model.Sinryoka, "SINRYOKA WHERE 診療科"); model.TimeTableNum = YoyakuKanriForm.GetKanriBango(model.YoyakuTime, "TIMETABLE WHERE 時間帯"); } // 削除・修正・予約票発行ボタンでの処理 if (mode == 1) // 削除モード { GridDelete(model); if (this.mode) // 患者一覧を更新 { KanjaKensaku(); } else // 予約一覧を更新 { YoyakuKensaku(); } } else if (mode == 2) // 修正モード { if (this.mode) // 受診者管理フォームを修正モード(false)で表示する { JusinsyaKanriForm frmJusinsya = new JusinsyaKanriForm(false, model); frmJusinsya.ShowDialog(); } else // 予約管理フォームを修正モード(false)で表示する { YoyakuKanriForm frmYoyaku = new YoyakuKanriForm(false, model); frmYoyaku.ShowDialog(); } this.Hide(); this.Close(); } else if (mode == 3) // 予約票出力モード { YoyakuhyouForm frmhyou = new YoyakuhyouForm(model); frmhyou.ShowDialog(); } } catch (Exception ex) { MessageBox.Show($"エラー詳細:\n{ex.Message}:\n{ex.InnerException}"); } }