private void tb_jisseki_start_time_Validating(object sender, CancelEventArgs e)
 {
     if (tb_jisseki_start_time.Text != "" && tb_jisseki_start_time.Text != null)
     {
         if (tss.try_string_to_time(tb_jisseki_start_time.Text))
         {
             tb_jisseki_start_time.Text = tss.out_time.ToShortTimeString();
             seisan_jikan_calc();
         }
         else
         {
             MessageBox.Show("開始時刻に異常があります。");
             e.Cancel = true;
             return;
         }
     }
 }
예제 #2
0
        private void btn_touroku_Click(object sender, EventArgs e)
        {
            string w_sql;

            //勤怠区分、勤怠開始時刻、終了時刻の未入力チェック
            foreach (DataRow dr in w_dt_kintai.Rows)
            {
                if (dr["kintai_kbn"].ToString() == null || dr["kintai_kbn"].ToString() == "")
                {
                    MessageBox.Show("勤怠区分が入力されていないデータがあります。");
                    return;
                }
                else
                {
                    if (tss.try_string_to_date(dr["kintai_date1"].ToString()) == false)
                    {
                        MessageBox.Show("勤怠開始日に異常があります。");
                        return;
                    }
                    else
                    {
                        if (tss.try_string_to_time(dr["kintai_time1"].ToString()) == false)
                        {
                            MessageBox.Show("勤怠開始時刻に異常があります。");
                            return;
                        }
                        else
                        {
                            if (tss.try_string_to_date(dr["kintai_date2"].ToString()) == false)
                            {
                                MessageBox.Show("勤怠終了日に異常があります。");
                                return;
                            }
                            else
                            {
                                if (tss.try_string_to_time(dr["kintai_time2"].ToString()) == false)
                                {
                                    MessageBox.Show("勤怠終了時刻に異常があります。");
                                    return;
                                }
                            }
                        }
                    }
                }
            }
            //二重登録防止チェック(キー違反)
            for (int i = 0; i < w_dt_kintai.Rows.Count; i++)
            {
                for (int n = 0; n < w_dt_kintai.Rows.Count; n++)
                {
                    //自分の行は飛ばす
                    if (i != n)
                    {
                        if (w_dt_kintai.Rows[i]["syain_cd"].ToString() == w_dt_kintai.Rows[n]["syain_cd"].ToString())
                        {
                            if (w_dt_kintai.Rows[i]["kintai_kbn"].ToString() == w_dt_kintai.Rows[n]["kintai_kbn"].ToString())
                            {
                                if (w_dt_kintai.Rows[i]["kintai_date1"].ToString() == w_dt_kintai.Rows[n]["kintai_date1"].ToString())
                                {
                                    if (w_dt_kintai.Rows[i]["kintai_time1"].ToString() == w_dt_kintai.Rows[n]["kintai_time1"].ToString())
                                    {
                                        MessageBox.Show("同一日時の勤怠があります。\n" + (i + 1).ToString() + "行目 " + (n + 1).ToString() + "行目");
                                        return;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            //既にあるデータを削除して新規に書き込む
            if (tss.OracleDelete("delete from tss_kintai_f where kintai_date1 = '" + tb_hizuke.Text + "'"))
            {
                //新規に書き込み
                foreach (DataRow dr in w_dt_kintai.Rows)
                {
                    w_sql = "insert into tss_kintai_f (syain_cd,kintai_kbn,kintai_date1,kintai_time1,kintai_date2,kintai_time2,bikou,create_user_cd,create_datetime) values ("
                            + "'" + dr["syain_cd"].ToString() + "',"
                            + "'" + dr["kintai_kbn"].ToString() + "',"
                            + "'" + dr["kintai_date1"].ToString() + "',"
                            + "'" + dr["kintai_time1"].ToString() + "',"
                            + "'" + dr["kintai_date2"].ToString() + "',"
                            + "'" + dr["kintai_time2"].ToString() + "',"
                            + "'" + dr["bikou"].ToString() + "',"
                            + "'" + tss.user_cd + "',"
                            + "sysdate)";
                    if (tss.OracleInsert(w_sql) == false)
                    {
                        MessageBox.Show("書き込み中にエラーが発生しました。\n処理を注意します。");
                        this.Close();
                    }
                }
            }
            MessageBox.Show("登録しました。");
        }