예제 #1
0
 public JusinsyaKanriForm(bool frmMode, KanjaYoyakuModel kanjaModel)
 {
     model = kanjaModel;
     mode  = frmMode;
     InitializeComponent();
     InitJusinsyaItems();
 }
예제 #2
0
 public YoyakuKanriForm(bool mode, KanjaYoyakuModel yoyakumodel)
 {
     #region コンストラクタ
     frmMode = mode;
     model   = yoyakumodel;
     InitializeComponent();
     InitYoyakuItems();
 }
예제 #3
0
        /// <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();
            }
        }
예제 #4
0
        /// <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();
            }
        }
예제 #5
0
 private int openCount = 0; // 文字列を改行加工するのは初回だけでよいので数えておく
 public YoyakuhyouForm(KanjaYoyakuModel yoyakuModel)
 {
     InitializeComponent();
     model = yoyakuModel;
 }
예제 #6
0
        /// <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}");
            }
        }