private void btnLuu_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } string maNV = tbMaNV.Text; string hoten = tbHoTenNV.Text.TrimEnd('?', '.', ','); string[] words = hoten.Split(' '); string ten = (words.Last(item => item != string.Empty)); int gioitinh = (radNam.Checked) ? 0 : 1; int maCC; if (int.TryParse(tbMaCC.Text, out maCC) == false) { ACMessageBox.Show("Mã chấm công phải là số hợp lệ.", Resources.Caption_Loi, 2000); return; } string tenCC = tbUserEnrollName.Text; string mathetu = tbMaTheTu.Text; DateTime ngayvaolam = dtpNgayVaoLam.Value.Date; int idchucvu = (int)cbChucVu.SelectedValue; int idphong = (int)cbPhongBan.SelectedValue; string tenphong = (cbPhongBan.SelectedItem != null) ? cbPhongBan.SelectedItem.ToString() : cbPhongBan.SelectedText; int idlichtrinh = (int)cbLichTrinh.SelectedValue; string tenLichTrinh = (cbLichTrinh.SelectedItem != null) ? cbLichTrinh.SelectedItem.ToString() : cbLichTrinh.SelectedText; float hslcb, hslcv, hsbhxhcongthem; if (float.TryParse(tbHSLCB.Text, out hslcb) == false || float.TryParse(tbHSLCV.Text, out hslcv) == false || float.TryParse(tbHSBHXHCongThem.Text, out hsbhxhcongthem) == false) { ACMessageBox.Show(Resources.Text_HeSoLCB_CV_BHXH_ChuaHopLe, Resources.Caption_Loi, 2000); return; } bool userEnabled = checkUserEnabled.Checked; if (mode == 1) { var tableKiemTraTonTai = SqlDataAccessHelper.ExecuteQueryString( "select * from UserInfo where UserEnrollNumber = @UserEnrollNumber", new string[] { "@UserFullCode", "@UserEnrollNumber" }, new object[] { maNV, maCC }); if (tableKiemTraTonTai.Rows.Count > 0) { ACMessageBox.Show("Mã nhân viên hoặc mã chấm công đã tồn tại trong CSDL. Vui lòng chọn mã khác.", Resources.Caption_Loi, 2000); return; } } #region xác nhận trước khi lưu if (MessageBox.Show(Resources.Text_XacNhanLuuThongTinNV, Resources.Caption_XacNhan, MessageBoxButtons.OKCancel) == DialogResult.Cancel) { return; } #endregion #region execute query int kq1 = SqlDataAccessHelper.ExecNoneQueryString( @" UPDATE UserInfo Set UserFullCode = @UserFullCode, UserFullName = @UserFullName, UserLastName = @UserLastName, UserEnrollName = @UserEnrollName, UserCardNo = @UserCardNo, UserHireDay = @UserHireDay, UserIDTitle = @IDChucVu, UserSex = @UserSex, UserEnabled = @UserEnabled, UserIDD = @UserIDD, SchID = @SchID, HeSoLuongCB = @HeSoLuongCB, HeSoLuongSP = @HeSoLuongSP, HSBHCongThem = @HSBHCongThem where UserEnrollNumber = @UserEnrollNumber if ( @@ROWCOUNT = 0 ) INSERT INTO UserInfo ( UserFullCode, UserFullName, UserLastName, UserEnrollNumber, UserEnrollName, UserCardNo, UserHireDay, UserIDTitle, UserSex, UserPrivilege, UserEnabled, UserIDD, SchID, HeSoLuongCB, HeSoLuongSP, HSBHCongThem, PushCardID, UserPW, UserGroup, UserTZ) VALUES ( @UserFullCode, @UserFullName, @UserLastName, @UserEnrollNumber, @UserEnrollName, @UserCardNo, @UserHireDay, @IDChucVu, @UserSex, @UserPrivilege, @UserEnabled, @UserIDD, @SchID, @HeSoLuongCB, @HeSoLuongSP, @HSBHCongThem, @PushCardID, @UserPW, @UserGroup, @UserTZ )" , new string[] { "@UserFullCode", "@UserFullName", "@UserLastName", "@UserEnrollNumber", "@UserEnrollName", "@UserCardNo", "@UserHireDay", "@IDChucVu", "@UserSex", "@UserEnabled", "@UserIDD", "@SchID", "@HeSoLuongCB", "@HeSoLuongSP", "@HSBHCongThem", "@UserPrivilege", "@PushCardID", "@UserPW", "@UserGroup", "@UserTZ" }, new object[] { maNV, hoten, ten, maCC, tenCC, mathetu, ngayvaolam, idchucvu, gioitinh, userEnabled, idphong, idlichtrinh, hslcb, hslcv, hsbhxhcongthem, 0, "[0000000000]", string.Empty, 1, "0000000000000000", }); string noidung = @"Lưu thông tin nhân viên có mã chấm công [{0}], mã nhân viên [{1}], hệ số lương cơ bản [{2}], hệ số lương sản phẩm [{3}], hệ số bảo hiểm cộng thêm cho lãnh đạo [{4}], tình trạng hoạt động [{5}], phòng ban [{6}], lịch trình [{7}]"; DAO5.GhiNhatKyThaotac("Lưu thông tin nhân viên", string.Format(noidung, maCC, maNV, hslcb.ToString("0.00"), hslcv.ToString("0.00"), hsbhxhcongthem.ToString("0.00"), userEnabled, tenphong, tenLichTrinh), maCC: maCC); #endregion if (checkLamCongnhat.Enabled && checkLamCongnhat.Checked) { var ngayBD = dtpNgayBDCongnhat.Value.Date; var ngayKT = dtpNgayKTCongnhat.Value.Date; var laNVChinhthuc = checkNVChinhThuc.Checked; if (ngayBD > ngayKT) // hoán vị ngày bắt đầu kết thúc nếu bị ngược { var temp = ngayBD; ngayKT = ngayBD; ngayBD = temp; } //thực hiện tách nếu làm công nhật ngày bd và kt là nhiều tháng liên tiếp List <DateTime> arrNgayBD, arrNgayKT; XL2.TachThang(ngayBD, ngayKT, out arrNgayBD, out arrNgayKT); for (int i = 0; i < arrNgayBD.Count; i++) { int kq2 = DAO5.UpdIns_ThuChiNVCongNhat(new DateTime(arrNgayBD[i].Year, arrNgayBD[i].Month, 1), maCC, idphong, tenphong, arrNgayBD[i], arrNgayKT[i], 0, 0d, laNVChinhthuc); if (kq2 == 0) { MessageBox.Show(Resources.Text_CoLoi); break; } } } if (kq1 == 0) { MessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi); } else { IsReload = true; if (mode == 1) { ACMessageBox.Show("Thêm nhân viên thành công.", Resources.Caption_ThongBao, 2000); MyUtility.ClearControlText(tbMaNV, tbHoTenNV, tbMaCC, tbUserEnrollName); radNam.Checked = true; tbMaTheTu.Text = "0000000000"; tbHSLCB.Text = "000"; tbHSLCV.Text = "000"; tbHSBHXHCongThem.Text = "000"; cbChucVu.SelectedIndex = 0; cbPhongBan.SelectedIndex = 0; cbLichTrinh.SelectedIndex = 0; checkUserEnabled.Checked = true; } else { Close(); } } }