private void buttonLuu_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } #region lấy dữ liệu từ form và xử lý trước khi lưu var shiftid = (lbShiftID.Tag != null) ? (int)(lbShiftID.Tag) : -1; var shiftcode = textBoxShiftcode.Text; var mota = textBoxMoTa.Text; var kyhieucc = textBoxKyhieu.Text; bool tachcadem = checkBoxTachCaDem.Checked; bool isenable = checkBoxEnable.Checked; bool isextended = checkBoxCaMR.Checked; TimeSpan OnnDuty = TimeSpan.Zero, OffDuty = TimeSpan.Zero; TimeSpan OnnInn = TimeSpan.Zero, CutInn = TimeSpan.Zero; TimeSpan OnnOut = TimeSpan.Zero, CutOut = TimeSpan.Zero; TimeSpan OnnLun = TimeSpan.Zero, OffLun = TimeSpan.Zero; float wkday = 0f; int daycount = 0, wktime = 0, shiftid1 = -1, shiftid2 = -1; #region validate giờ if (TimeSpan.TryParse(maskedTextBoxVao.Text, out OnnDuty) == false) { ACMessageBox.Show(Resources.Text_GioVaoKoHL, Resources.Caption_Loi, 2000); return; } if (TimeSpan.TryParse(maskedTextBoxRaa.Text, out OffDuty) == false) { ACMessageBox.Show(Resources.Text_GioRaaKoHL, Resources.Caption_Loi, 2000); return; } if (TimeSpan.TryParse(maskedTextBoxBDLunch.Text, out OnnLun) == false) { ACMessageBox.Show(Resources.Text_OnnLunKoHL, Resources.Caption_Loi, 2000); return; } if (TimeSpan.TryParse(maskedTextBoxKTLunch.Text, out OffLun) == false) { ACMessageBox.Show(Resources.Text_OffLunKoHL, Resources.Caption_Loi, 2000); return; } if (float.TryParse(maskedTextBoxWKDay.Text, out wkday) == false) { ACMessageBox.Show(Resources.Text_WKDayKoHL, Resources.Caption_Loi, 2000); return; } #endregion //tính daycount , wktime if (OffDuty < OnnDuty) { daycount = 1; } OffDuty = OffDuty.Add(new TimeSpan(daycount, 0, 0, 0)); wktime = Convert.ToInt32((OffDuty - OnnDuty - (OffLun - OnnLun)).TotalMinutes); int iOnnInn = Convert.ToInt32(numOnnInn.Value); // bug onn in qua đêm int iCutInn = Convert.ToInt32(numCutInn.Value); // bug cut in qua đêm int iOnnOut = Convert.ToInt32(numOnnOut.Value); // bug onn out qua đêm int iCutOut = Convert.ToInt32(numCutOut.Value); // bug cut out qua đêm int iCPTre = Convert.ToInt32(numLateGrace.Value); int iCPSom = Convert.ToInt32(numEarlyGrace.Value); int afterot = Convert.ToInt32(numAfterOT.Value); if (tachcadem) { shiftid1 = (int)comboBoxCaTruoc.SelectedValue; shiftid2 = (int)comboBoxCaSau.SelectedValue; } #endregion //MessageBox.Show(shiftid + " " + shiftcode + " " + mota + " " + kyhieucc + " " + OnnDuty + " " + OffDuty + " " + wktime);// fortesting if (themmoi) // đang thêm { int n = DAO5.InsCa(shiftcode, OnnDuty, OffDuty, daycount, wktime, wkday, iOnnInn, iCutInn, iOnnOut, iCutOut, iCPTre, iCPSom, afterot, mota, kyhieucc, OnnLun, OffLun, tachcadem, shiftid1, shiftid2, isenable, isextended); if (n == 0) { MessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, MessageBoxButtons.OK, MessageBoxIcon.Error); } // sau khi lưu xong thì set về false themmoi = false; } else // đang sửa { int n = DAO5.UpdCa(shiftid, shiftcode, OnnDuty, OffDuty, daycount, wktime, wkday, iOnnInn, iCutInn, iOnnOut, iCutOut, iCPTre, iCPSom, afterot, mota, kyhieucc, OnnLun, OffLun, tachcadem, shiftid1, shiftid2, isenable, isextended); if (n == 0) { MessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, MessageBoxButtons.OK, MessageBoxIcon.Error); } } LoadGrid(); // thêm hoặc sửa xong thì load lại grid }