public frmQLNV() { InitializeComponent(); log4net.Config.XmlConfigurator.Configure(); #region kh?i t?o các bi?n c?c b? m_DSPhg = new List <cPhongBan>(); m_listIDPhongBan = new List <int>(); m_DSNV = new List <cUserInfo>(); #endregion // không cho autogen các column khi bind d? li?u: 4 cái dgrdDSNVTrgPhg.AutoGenerateColumns = false; #region gán template vào các dataSource, ho?c dataView vào các dataSource DataView dataView = new DataView(m_Bang_DSNV); dgrdDSNVTrgPhg.DataSource = dataView; #endregion //3. v? 3 checkbox checkall cho DSNV trong pḥng XL2.VeCheckBox_CheckAll(dgrdDSNVTrgPhg, checkAll_GridDSNV, checkAll_CheckedChanged, new Point(7, 3)); }
private void btnXuatBB_Click(object sender, EventArgs e) { string tenTrgBP = tbTenTruongBP.Text, tenNVLapBieu = tbTenNVNhapLieu.Text; XL.SaveSetting(lastTenNVLapBieuChamCong: tenNVLapBieu, lastTenTruongBP: tenTrgBP); if (XL2.KiemtraKetnoiCSDL() == false) { return; } #region lấy save file name saveFileDlg.ShowDialog(); if (saveFileDlg.FileName == String.Empty) { return; } var saveFileName = saveFileDlg.FileName; #endregion if (radBB_ChamCongThang.Checked) { WaitWindow.Show(this.XuatBBKetCongThang, "Đang xử lý. Bạn vui lòng đợi trong giây lát...", new object[] { saveFileName, tenNVLapBieu, tenTrgBP }); } else if (radioButton2.Checked) { WaitWindow.Show(this.XuatBBGioKoDungQuyDinh_Va_DiTreVesom, "Đang xử lý. Bạn vui lòng đợi trong giây lát...", new object[] { saveFileName }); } }
public frm_11_XemCong() { InitializeComponent(); log4net.Config.XmlConfigurator.Configure(); m_listIDPhongBan = new List <int>(); m_DSNV = new List <cUserInfo>(); m_Bang_DSNV = TaoBang_DSNV(); m_Bang_TongHopXemCong = TaoBang_TongHopXemCong(); m_Bang_GioKDQD = TaoBang_GioKDQD(); m_Bang_GioThieuCheck = TaoBang_GioThieuCheck(); m_Bang_ThK_TreSom = TaoBang_ThK_TreSom(); //1. không cho autogen các column khi bind dữ liệu: 4 cái dgrdTongHop.AutoGenerateColumns = dgrdGioKDQD.AutoGenerateColumns = dgrdGioThieuCheck.AutoGenerateColumns = dgrdThKTreSom.AutoGenerateColumns = dgrdDSNVTrgPhg.AutoGenerateColumns = false; dgrdTongHop.DataSource = m_Bang_TongHopXemCong; dgrdGioKDQD.DataSource = m_Bang_GioKDQD; dgrdGioThieuCheck.DataSource = m_Bang_GioThieuCheck; dgrdThKTreSom.DataSource = m_Bang_ThK_TreSom; DataView dataView = new DataView(m_Bang_DSNV); dgrdDSNVTrgPhg.DataSource = dataView; var today = DateTime.Today; dtpNgayBD.Value = new DateTime(today.Year, today.Month, 1); dtpNgayKT.Value = new DateTime(today.Year, today.Month, DateTime.DaysInMonth(today.Year, today.Month)); //3. vẽ 3 checkbox checkall cho DSNV trong phòng XL2.VeCheckBox_CheckAll(dgrdDSNVTrgPhg, checkAll_GridDSNV, checkAll_CheckedChanged, new Point(7, 3)); }
private void btnKetLuong_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } XL.SaveSetting(lastTenNVLapBieuLuong: tbTenNVLapbieuLuong.Text); //nếu đã kết lương tháng này rồi thì ko cho kết lương, phải hủy kết lương trước #region ko cho chỉnh sửa giờ nếu khoảng thời gian xem công tồn tại các ngày đã kết lương if (XL.Kiemtra(m_Thang.Date, MyUtility.LastDayOfMonth(m_Thang))) { MessageBox.Show(string.Format("Tháng {0} đã kết lương! Trường hợp muốn kết lương lại tháng này yêu cầu hủy kết lương tháng và thực hiện kết lương lại.", m_Thang.ToString("MM/yyyy")), Resources.Caption_ThongBao); return; } #endregion WaitWindow.Show(this.KetLuong, "Đang kết lương tháng. Bạn vui lòng đợi trong giây lát..."); saveFileDialog.ShowDialog(); if (saveFileDialog.FileName != string.Empty) { string saveFileName = saveFileDialog.FileName; WaitWindow.Show(this.XuatBBLuong, "Đang xuất bảng kết lương. Bạn vui lòng đợi...", new object[] { tbTenNVLapbieuLuong.Text, saveFileName }); } }
private void btnPhucHoi_Click(object sender, EventArgs e) { #region hỏi lại trước khi thực hiện #endregion if (XL2.KiemtraKetnoiCSDL() == false) { return; } if (tabControl1.SelectedTab == tabDSGThem) { IEnumerable <DataGridViewRow> lstGridViewRow = dgrdPH_Them.SelectedRows.Cast <DataGridViewRow>(); var listRowView = (from row in (lstGridViewRow) select((DataRowView)row.DataBoundItem)).ToList(); PhucHoiGioThem(listRowView); } else if (tabControl1.SelectedTab == tabDSGXoaa) { IEnumerable <DataGridViewRow> lstGridViewRow = dgrdPH_Xoaa.SelectedRows.Cast <DataGridViewRow>(); var listRowView = (from row in (lstGridViewRow) select((DataRowView)row.DataBoundItem)).ToList(); PhucHoiGioXoa(listRowView); } else if (tabControl1.SelectedTab == tabDSGSuaa) { IEnumerable <DataGridViewRow> lstGridViewRow = dgrdPH_GioGoc.SelectedRows.Cast <DataGridViewRow>(); var listRowView = (from row in (lstGridViewRow) select((DataRowView)row.DataBoundItem)).ToList(); PhucHoiGioGoc(listRowView); } Thread.Sleep(20); btnXem.PerformClick(); }
private void btnKBVangDaiHan_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } dgrdDSNVTrgPhg.EndEdit(); dgrdDSNVTrgPhg.Update(); BindingContext[dgrdDSNVTrgPhg.DataSource].EndCurrentEdit(); //2. lấy danh sách nhân viên check, nếu chưa có nv nào check thì thông báo var listMaCC_NV = (from DataGridViewRow dataGridViewRow in dgrdDSNVTrgPhg.Rows let row = (DataRowView)dataGridViewRow.DataBoundItem where (row["check"] != DBNull.Value && (bool)row["check"]) select((cUserInfo)row["cUserInfo"]).MaCC) .ToList(); if (listMaCC_NV.Count == 0) { ACMessageBox.Show(Resources.Text_ChuaChonNV, Resources.Caption_ThongBao, 2000); return; } frmKBVang_DaiHan frm = new frmKBVang_DaiHan { listMaCC_NV = listMaCC_NV, WindowState = FormWindowState.Normal, StartPosition = FormStartPosition.CenterParent }; frm.ShowDialog(); // sau khi thao tác xong thì liệt kê lại Thread.Sleep(20); btnLietKe.PerformClick(); }
private void btnReset_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } if (tbPass1.Text != tbPass2.Text) { MessageBox.Show("Mật khẩu không khớp."); return; } if (tbPass1.Text == string.Empty || tbPass2.Text == string.Empty) { MessageBox.Show("Mật khẩu không được để trống."); return; } string tempTenTK = tbTenTaiKhoan.Text; string tempPass = tbPass1.Text; string tempPassEncrypt = MyUtility.Mahoa(tempPass); string updateString = @" update NewUserAccount set Password=@Password where UserAccount = @UserAccount "; int kq = SqlDataAccessHelper.ExecNoneQueryString(updateString, new[] { "@UserAccount", "@Password" } , new object[] { tempTenTK, tempPassEncrypt }, CanLog: false); if (kq != 0) { ACMessageBox.Show("Reset mật khẩu tài khoản thành công.", "Thông báo", 2000); } else { ACMessageBox.Show("Không Reset mật khẩu tài khoản được.", "Lỗi", 2000); } tbPass1.Text = tbPass2.Text = string.Empty; }
private void btnThem_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } TreeNode node = treePhongBan.SelectedNode; frmThem_Capnhat_1NV frm = new frmThem_Capnhat_1NV { StartPosition = FormStartPosition.CenterParent }; frm.mode = 1; frm.ShowDialog(); if (frm.IsReload) { string oldFilter = string.Empty; var dataView = dgrdDSNVTrgPhg.DataSource as DataView; if (dataView != null) { oldFilter = dataView.RowFilter; } treePhongBan_AfterSelect(treePhongBan, new TreeViewEventArgs(node)); dataView = dgrdDSNVTrgPhg.DataSource as DataView; if (dataView != null) { dataView.RowFilter = oldFilter; } } }
private void Form1_Load(object sender, EventArgs e) { IsReload = false; if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false) { AutoClosingMessageBox.Show("Mất kết nối với CSDL. Vui lòng thử lại sau.", "Lỗi", 2000); this.Close(); return; } dtpThang.Value = m_thang; var tablePhong = DAL.LayDSTatCaPhongBan(); if (tablePhong.Rows.Count == 0) { AutoClosingMessageBox.Show("Bạn chưa được phân quyền thao tác.", "Thông báo", 2000); return; } //2. lấy dữ liệu phòng ban được phép thao tác và load treePhongBan : xoá dữ liệu trước và load treePhongBan.Nodes.Clear(); loadTreePhgBan(treePhongBan, tablePhong); // đăng ký sự kiện cho tree và chọn topNode treePhongBan.AfterSelect += treePhongBan_AfterSelect; treePhongBan.SelectedNode = treePhongBan.TopNode; XL2.VeCheckBox_CheckAll(dgrdDSNVTrgPhg, checkAll_GridDSNV, checkAll_CheckedChanged, new Point(7, 3)); }
public frm_XemCong() { InitializeComponent(); log4net.Config.XmlConfigurator.Configure(); #region khởi tạo các biến cục bộ m_DSPhg = new List <cPhongBan>(); m_listIDPhongBan = new List <int>(); m_DSNV = new List <cUserInfo>(); #endregion #region tạo template dataSource m_Bang_DSNV = TaoBang_DSNV(); m_Bang_TongHopXemCong = TaoBang_TongHopXemCong(); m_Bang_GioKDQD = TaoBang_GioKDQD(); m_Bang_GioThieuCheck = TaoBang_GioThieuCheck(); m_Bang_ThK_TreSom = TaoBang_ThK_TreSom(); #endregion #region không cho autogen các column khi bind dữ liệu: 4 cái dgrdTongHop.AutoGenerateColumns = dgrdGioKDQD.AutoGenerateColumns = dgrdGioThieuCheck.AutoGenerateColumns = dgrdThKTreSom.AutoGenerateColumns = dgrdDSNVTrgPhg.AutoGenerateColumns = false; #endregion #region gán template vào các dataSource, hoặc dataView vào các dataSource dgrdTongHop.DataSource = m_Bang_TongHopXemCong; dgrdGioKDQD.DataSource = m_Bang_GioKDQD; dgrdGioThieuCheck.DataSource = m_Bang_GioThieuCheck; dgrdThKTreSom.DataSource = m_Bang_ThK_TreSom; DataView dataView = new DataView(m_Bang_DSNV); dgrdDSNVTrgPhg.DataSource = dataView; #endregion //3. vẽ 3 checkbox checkall cho DSNV trong phòng XL2.VeCheckBox_CheckAll(dgrdDSNVTrgPhg, checkAll_GridDSNV, checkAll_CheckedChanged, new Point(7, 3)); #region khởi tạo giá trị mặc định ngày từ thứ 2 tuần trước đến ngày hôm nay var today = DateTime.Today; DateTime mondayOfLastWeek = today.AddDays(-(int)today.DayOfWeek - 6); var ngaybd = mondayOfLastWeek; var ngaykt = today; if (Settings.Default.LastStartDate != DateTime.MinValue) { ngaybd = Settings.Default.LastStartDate; ngaykt = Settings.Default.LastEndDate; } dtpNgayBD.Value = ngaybd; dtpNgayKT.Value = ngaykt; #endregion }
private void btnThem_Capnhat_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } #region ko cho chỉnh sửa giờ nếu khoảng thời gian xem công tồn tại các ngày đã kết lương if (XL.Kiemtra(m_thang.Date, MyUtility.LastDayOfMonth(m_thang))) { MessageBox.Show(string.Format(Resources.Text_KhoangTGDaKetCong_KoChinhSuaGioCC, "chỉnh sửa thu chi tháng", "thực hiện thao tác", ""), Resources.Caption_ThongBao, MessageBoxButtons.OK); return; } #endregion #region lấy thông tin từ form int?macc = (int?)lbUserEnrollNumber.Tag; if (macc == null) { ACMessageBox.Show(Resources.Text_ChuaChonNV, Resources.Caption_ThongBao, 2000); return; } double tamung = 0d, thuchiKhac = 0d, luongDieuchinh = 0d; float mucDongBHXH = 0f; if (float.TryParse(tbMucDongBHXH.Text, out mucDongBHXH) == false) { ACMessageBox.Show("Mức đóng BHXH chưa hợp lệ. Vui lòng nhập lại.", Resources.Caption_Loi, 2000); return; } tamung = Convert.ToDouble(numTamUng.Value); thuchiKhac = Convert.ToDouble(numThuchiKhac.Value); luongDieuchinh = Convert.ToDouble(numLuongdieuchinh.Value); #endregion // thực hiện query int kq = DAO5.CapnhatThuchiThang((int)macc, m_thang, luongDieuchinh, tamung, thuchiKhac, mucDongBHXH); DAO5.GhiNhatKyThaotac("Thêm khoản thu chi tháng", string.Format("Thêm tạm ứng [{2}], lương điều chỉnh [{3}], mức đóng BHXH [{4}], thu chi khác [{5}] tháng [{0}]... cho 1 NV có mã chấm công [{1}]", m_thang.ToString("dd/MM/yyyy"), macc, tamung.ToString("###,###,###,###,###,##0"), luongDieuchinh.ToString("###,###,###,###,###,##0"), mucDongBHXH.ToString("#0.00"), thuchiKhac.ToString("###,###,###,###,###,##0")), maCC: macc); if (kq == 0) { MessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi); } reloadGridDSThuChi(); }
private void btnThem_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } // xác nhận thực hiện if (MessageBox.Show("Khai báo vắng cho các nhân viên?", Resources.Caption_XacNhan, MessageBoxButtons.OKCancel) == DialogResult.Cancel) { return; } #region //lấy loại vắng, workingDay, workingTime, absentCode, XL2.currUserID if (cbLoaiVang.SelectedItem == null) { ACMessageBox.Show("Bạn chưa chọn loại vắng", Resources.Caption_ThongBao, 2000); return; } var rowLV = cbLoaiVang.SelectedItem as DataRowView; var absentCode = rowLV["AbsentCode"].ToString(); var workingDay = (float)((frm_KBVang.Working)cbSoBuoi.SelectedItem).Cong; #region set working time tùy theo workingDay var workingTime = 0f; if (Math.Abs(workingDay - 0f) < 0.01f) { workingTime = 0f; } else if (Math.Abs(workingDay - 0.5f) < 0.01f) { workingTime = 4f; } else if (Math.Abs(workingDay - 1f) < 0.01f) { workingTime = 8f; } #endregion #endregion IsReload = true; List <Error> listError = new List <Error>(); XL.ThemNgayVang(listMaCC_NgayVang, workingDay, workingTime, absentCode, listError); if (listError.Count > 0) { frmError frm = new frmError { StartPosition = FormStartPosition.CenterParent, listError = listError }; frm.ShowDialog(); } Close(); }
private void btnCapNhatVaoCSDL_Click(object sender, EventArgs e) { IsReload = true; if (XL2.KiemtraKetnoiCSDL() == false) { return; } var table = dgrdDThuchiExcel.DataSource as DataTable; DateTime thang = m_Thang; var flagError = false; var kq2 = 0; if (table != null) { var tableTatCaNV = XL.LayDSNV(true); //tbd foreach (DataRow row in table.Rows) { #region lấy thông tin var userFullcode = row["UserFullCode"].ToString().TrimStart().TrimEnd().ToLower(); //var arrRows = tableTatCaNV.Select("UserFullCode = '" +userFullcode + "'","", DataViewRowState.CurrentRows); var resultRow = (tableTatCaNV.Rows.Cast <DataRow>().Where( dataRow => dataRow["UserFullCode"].ToString().TrimStart().TrimEnd().ToLower() == userFullcode)).SingleOrDefault(); if (resultRow == null) { continue; } var userfc = row["UserFullCode"].ToString(); var HSLCBTT17 = (float)row["HSLCBTT17"]; var HSPCCV = (float)row["HSPCCV"]; var HSPCDH = (float)row["HSPCDH"]; var HSPCTN = (float)row["HSPCTN"]; #endregion var kq = SqlDataAccessHelper.ExecNoneQueryString(@"update UserInfo set HSLCBTT17 = @HSLCBTT17, HSPCCV=@HSPCCV, HSPCDH=@HSPCDH, HSPCTN=@HSPCTN where UserFullCode=@UserFullCode", new string[] { "@HSLCBTT17", "@HSPCCV", "@HSPCDH", "@HSPCTN", "@UserFullCode" }, new object[] { HSLCBTT17, HSPCCV, HSPCDH, HSPCTN, userFullcode }); #region báo lỗi nếu ko cập nhật được if (kq == 0) { flagError = true; ACMessageBox.Show(string.Format("Xảy ra lỗi trong quá trình cập nhật tại vị trí mã nhân viên {0} .\nVui lòng thử lại.", userFullcode), "Lỗi", 3000); break; } kq2 += kq; #endregion } if (flagError == false) { ACMessageBox.Show("Thực hiện thành công.", "Thông báo", 2000); } } }
private void btnThucHien_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } var thang = dtpThang.Value; #region confirm trước khi kết công if (MessageBox.Show(string.Format(Resources.Text_ConfirmKetCongBoPhan, thang.ToString("MM/yyyy")), Resources.Caption_XacNhan, MessageBoxButtons.YesNo) == DialogResult.No) { return; } #endregion string filePath = string.Empty; saveFileDialog.ShowDialog(); if (saveFileDialog.FileName != string.Empty) { filePath = saveFileDialog.FileName; } else { ACMessageBox.Show("Vui lòng nhập tên file.", Resources.Caption_ThongBao, 2000); return; } string tenNVLapBieu = tbTenNVLapbieu.Text; string tenTrgBP = tbTenTrgBP.Text; XL.SaveSetting(lastTenNVLapBieuChamCong: tenNVLapBieu, lastTenTruongBP: tenTrgBP); try //general try catch { #region lấy ds phòng ban 1. được thao tác, 2.check kết công List <cPhongBan> dsphongban = new List <cPhongBan>(); // đưa về root node trước khi thực hiện var root = treePhongBan.TopNode; GetTopLevelNode(ref root); // mỗi lần duyệt node sẽ làm root node chuyển về parent của node cuối nên phải trả về node gốc để duyệt từ đầu while (root.PrevNode != null) { root = root.PrevNode; } GetNode_DuocThaotac_CheckKetcong(root, dsphongban); #endregion WaitWindow.Show(this.ThucHienKetCong, "Đang kết công, bạn vui lòng đợi trong giây lát...", new object[] { thang, dsphongban }); WaitWindow.Show(this.XuatBBChamCong, "Đang xuất báo biểu, bạn vui lòng đợi trong giây lát...", new object[] { filePath, tenNVLapBieu, tenTrgBP, thang, dsphongban }); //kết công xong thì đóng form Close(); } catch (Exception ex) //general try catch { lg.Error(string.Format("[{0}]_[{1}]\n", this.Name, System.Reflection.MethodBase.GetCurrentMethod().Name), ex); MessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi); } }
public frmDangKyNhiemVuChoNV() { InitializeComponent(); log4net.Config.XmlConfigurator.Configure(); // không cho autogen các column khi bind dữ liệu dgrdDSNVTrgPhg.AutoGenerateColumns = false; //3. vẽ checkbox checkall cho DSNV trong phòng XL2.VeCheckBox_CheckAll(dgrdDSNVTrgPhg, checkAll_GridDSNV, checkAll_CheckedChanged, new Point(7, 3)); }
private void btnXacNhanPC100_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } #region ko cho chỉnh sửa giờ nếu khoảng thời gian xem công tồn tại các ngày đã kết lương if (XL.Kiemtra(dtpNgayBD.Value.Date, dtpNgayKT.Value.Date)) { MessageBox.Show(string.Format(Resources.Text_KhoangTGDaKetCong_KoChinhSuaGioCC, "xem công", "xác nhận phụ cấp", "xem công"), Resources.Caption_ThongBao, MessageBoxButtons.OK); return; } #endregion // xác định đang chọn datagrid nào để lấy các datarow của các datagrid đó DataGridView currDataGrid = XacDinhDataGridViewDangChon(); // lọc lấy các datarow được check, nếu không có row nào được check thì chế độ view all, ngược lại thì xem các ngày được check if (currDataGrid.SelectedRows.Count != 0) { var arrRecord = (from DataGridViewRow row in currDataGrid.SelectedRows select(((DataRowView)row.DataBoundItem).Row)).ToArray(); if (arrRecord.Length == 0) { return; } frm_XN_PC100 frm112 = new frm_XN_PC100 { StartPosition = FormStartPosition.CenterParent, m_arrRecd = arrRecord }; //frm112.Location = new Point((int)((Size.Width - frm112.Size.Width) / 2f), (int)((Size.Height - frm112.Size.Height) / 2f)); //frm112.m_DSNV = m_DSNV; frm112.ShowDialog(); // lấy dsnv đang chọn var listNV = (from DataGridViewRow dataGridViewRow in dgrdDSNVTrgPhg.Rows let rowView = dataGridViewRow.DataBoundItem as DataRowView where (rowView["check"] != DBNull.Value && (bool)rowView["check"]) select(cUserInfo) rowView["cUserInfo"]) .ToList(); if (frm112.IsReload) { Reload4DataGrid(listNV); } } }
public frm_21_KhaiBaoVang() { InitializeComponent(); dgrdDSNVTrgPhg.AutoGenerateColumns = dgrdNgayVang.AutoGenerateColumns = false; m_listIDPhongBan = new List <int>(); m_DSNV = new List <cUserInfo>(); m_Bang_DSNV = TaoBang_DSNV(); DataView dataView = new DataView(m_Bang_DSNV); dgrdDSNVTrgPhg.DataSource = dataView; XL2.VeCheckBox_CheckAll(dgrdDSNVTrgPhg, checkAll_GridDSNV, checkAll_CheckedChanged, new Point(7, 3)); }
private void dtpThang_ValueChanged(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } // kiểm tra nếu tháng đó đã kết công thì ko cho nhập m_thang = new DateTime(dtpThang.Value.Year, dtpThang.Value.Month, 1); DataTable tableThangketcong = DAO5.KiemtraTinhtrangKetcongThang(m_thang, (int)m_currRowNV["UserEnrollNumber"]); DataTable tableKhoangThoigianCongnhat = DAO5.LayKhoangThoigianCongnhat(m_thang, (int)m_currRowNV["UserEnrollNumber"]); if (tableThangketcong.Rows.Count > 0) // đã kết công --> ko cho nhập { checkLamCongnhat.Enabled = false; checkNVChinhThuc.Enabled = false; if (tableKhoangThoigianCongnhat.Rows.Count == 0) // chưa khai báo công nhật tháng này { checkLamCongnhat.Checked = false; dtpNgayBDCongnhat.Value = m_thang; dtpNgayKTCongnhat.Value = m_thang; checkNVChinhThuc.Checked = false; } else // đã khai báo công nhật tháng này { checkLamCongnhat.Checked = true; dtpNgayBDCongnhat.Value = (DateTime)tableKhoangThoigianCongnhat.Rows[0]["NgayBatDau"]; dtpNgayKTCongnhat.Value = (DateTime)tableKhoangThoigianCongnhat.Rows[0]["NgayKetThuc"]; checkNVChinhThuc.Checked = (bool)tableKhoangThoigianCongnhat.Rows[0]["NVChinhThuc"]; } } else // chưa kết công cho phép nhập, kiểm tra nv đó có nhập ngày công nhật chưa, có thì fill, ko thì check false { checkLamCongnhat.Enabled = true; checkNVChinhThuc.Enabled = true; if (tableKhoangThoigianCongnhat.Rows.Count == 0) // chưa khai báo công nhật tháng này -> cho phép nhập { checkLamCongnhat.Checked = false; dtpNgayBDCongnhat.Value = m_thang; // cập nhật mặc định ngày đầu tháng dtpNgayKTCongnhat.Value = m_thang; checkNVChinhThuc.Checked = false; } else // đã khai báo công nhật --> fill { checkLamCongnhat.Checked = true; dtpNgayBDCongnhat.Value = (DateTime)tableKhoangThoigianCongnhat.Rows[0]["NgayBatDau"]; dtpNgayKTCongnhat.Value = (DateTime)tableKhoangThoigianCongnhat.Rows[0]["NgayKetThuc"]; checkNVChinhThuc.Checked = (bool)tableKhoangThoigianCongnhat.Rows[0]["NVChinhThuc"]; } } }
private void btnThemXoaSuaDonGian_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } #region ko cho chỉnh sửa giờ nếu khoảng thời gian xem công tồn tại các ngày đã kết lương if (XL.Kiemtra(dtpNgayBD.Value.Date, dtpNgayKT.Value.Date)) { MessageBox.Show(string.Format(Resources.Text_KhoangTGDaKetCong_KoChinhSuaGioCC, "xem công", "chỉnh sửa giờ chấm công", "xem công"), Resources.Caption_ThongBao, MessageBoxButtons.OK); return; } #endregion // xác định datagrid nào đang chọn thì lấy dòng SelectedRows[0] của datagrid đó DataGridView currDataGrid = XacDinhDataGridViewDangChon(); if (currDataGrid.SelectedRows.Count == 0) { return; } var arrRecord = ((DataRowView)((currDataGrid.SelectedRows[0]).DataBoundItem)).Row; // gọi form editTime và truyền dòng dữ liệu đang chọn sang cho form đó var frm1 = new frm_XemCT_GioCC { StartPosition = FormStartPosition.CenterParent, selectedRow = arrRecord }; frm1.ShowDialog(); #region // sau khi edit giờ chấm công xong thì reload lại và tô màu 2 dataGrid tổng hợp và giờ KDQD if (frm1.IsReload) { // lấy dsnv đang chọn var listNV = (from DataGridViewRow dataGridViewRow in dgrdDSNVTrgPhg.Rows let rowView = dataGridViewRow.DataBoundItem as DataRowView where (rowView["check"] != DBNull.Value && (bool)rowView["check"]) select(cUserInfo) rowView["cUserInfo"]) .ToList(); Reload4DataGrid(listNV); } #endregion }
private void frm_PhanQuyen_Load(object sender, EventArgs e) { // load danh sách chức năng trước tất cả các chức năng mà tài khoản này được phép thao tác List <cChucNang> lstChucnang = XL2.TaoChucNang(); checkQuyenThaotac.ValueMember = "ID"; checkQuyenThaotac.DataSource = lstChucnang; checkQuyenThaotac.DisplayMember = "MoTa"; checkQuyenThaotac.Refresh(); // load tree view danh sách phòng ban mà tài khoản đang login được phép thao tác, nếu tài khoản login là root thì load hết danh sách phòng ban List <cPhongBan> dsphongThaotac = new List <cPhongBan>(); if (XL2.currUserID != int.MaxValue) { XL.KhoiTaoDSPhongBan(dsphongThaotac, XL2.currUserID); } else { XL.KhoiTaoDSPhongBan(dsphongThaotac); } XL.loadTreePhgBan(treePhongBan, XL2.TatcaPhongban, dsphongThaotac); // sau khi load xong sẽ có được list dspb1 chứa ds id các phòng ban mà currID hiện tại được phép thao tác // việc check các item quyền sẽ để cho sự kiện chọn tài khoản thực hiện // load tất cả danh sách tài khoản trừ tài khoản đang login lstTaikhoan.DisplayMember = "UserAccount"; if (XL2.currUserID != int.MaxValue) { lstTaikhoan.DataSource = LayDSTaikhoan(XL2.currUserID); } else { lstTaikhoan.DataSource = LayDSTatCaTaikhoan(); } #region // trường hợp đặc biệt ko có tài khoản nào if (lstTaikhoan.Items.Count == 0) { ACMessageBox.Show("Không có tài khoản để phân quyền.", "Thông báo", 2000); this.Close(); } #endregion // chọn mặc định tài khoản đầu tiên, lúc này phát sự kiện index change sẽ check các item quyền // chọn tài khoản đồng thời sẽ check , uncheck các phòng ban được thao tác // đồng thời check , uncheck các chức năng được tài khoản được chọn được phép thao tác lstTaikhoan.SelectedIndex = 0; }
private void btnXoa_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } #region ko cho chỉnh sửa giờ nếu khoảng thời gian xem công tồn tại các ngày đã kết lương if (XL.Kiemtra(new DateTime(dtpThang.Value.Year, dtpThang.Value.Month, 1), new DateTime(dtpThang.Value.Year, dtpThang.Value.Month, DateTime.DaysInMonth(dtpThang.Value.Year, dtpThang.Value.Month)))) { MessageBox.Show(string.Format(Resources.Text_KhoangTGDaKetCong_KoChinhSuaGioCC, "khai báo vắng", "xoá khai báo vắng", ""), Resources.Caption_ThongBao, MessageBoxButtons.OK); return; } #endregion #region hỏi lại trước khi thực hiện if (MessageBox.Show(Resources.Text_XacNhanXoaKhaiBaoVang, Resources.Caption_XacNhan, MessageBoxButtons.YesNo) == DialogResult.No) { return; } #endregion dgrdNgayVang.EndEdit(); dgrdNgayVang.Update(); var arrRecord = (from DataGridViewRow dataGridViewRow in dgrdNgayVang.SelectedRows select((DataRowView)dataGridViewRow.DataBoundItem)).ToList(); if (arrRecord.Count == 0) { return; } var kqThaotac = DAO.XoaNgayVangNV(arrRecord); if (kqThaotac == false) { MessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi); } GC.Collect(); Thread.Sleep(20); btnLietKe.PerformClick(); }
private void btnXem_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } MyUtility.UpdateControl(dtpStartThoiDiemSua, dtpEndddThoiDiemSua); DateTime StartThoiDiemSua = DateTime.Today; DateTime EndddThoiDiemSua = DateTime.Today; int UserID = 0; var query = @" select NhatKyThaoTac.*, NewUserAccount.UserAccount, UserInfo.UserFullName , RelationDept.Description as TenPhong from NewUserAccount, NhatKyThaoTac left outer join UserInfo on NhatKyThaoTac.UserEnrollNumber = UserInfo.UserEnrollNumber left outer join RelationDept on NhatKyThaoTac.MaPhong = RelationDept.ID where NhatKyThaoTac.UserID = NewUserAccount.UserID " ; if (checkThoiDiemSua.Checked) { StartThoiDiemSua = dtpStartThoiDiemSua.Value; EndddThoiDiemSua = dtpEndddThoiDiemSua.Value; var temp = " and (ThoiDiem between @StartThoiDiemSua and @EndddThoiDiemSua) "; query += temp; } if (radThucHienBoi1TaiKhoan.Checked) { UserID = (int)cbTaiKhoanThucHien.SelectedValue; var temp = " and NhatKyThaoTac.UserID = @UserID "; query += temp; } query += " order by ThoiDiem desc "; var table = SqlDataAccessHelper.ExecuteQueryString(query, new string[] { "@StartThoiDiemSua", "@EndddThoiDiemSua", "@UserID" }, new object[] { StartThoiDiemSua, EndddThoiDiemSua, UserID }); var temp1 = (from DataRow row in table.Rows.Cast <DataRow>() select new { loai = row["Loai"] }).DistinctBy(o => o.loai).ToList(); cbLoaiThaoTac.SelectionChangeCommitted -= cbLoaiThaoTac_OnSelectionChangeCommitted; cbLoaiThaoTac.DataSource = null; cbLoaiThaoTac.DataSource = temp1; cbLoaiThaoTac.DisplayMember = "loai"; cbLoaiThaoTac.SelectionChangeCommitted += cbLoaiThaoTac_OnSelectionChangeCommitted; DataView view = new DataView(table); dgrdLichSu.DataSource = view; }
private void btnChamCong_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } /* 1. lấy dsnv check, lấy tháng * */ string strChecked_ArrMaCC = checkedDSNV.EditValue.ToString(); List <int> arrMaCC = new List <int>(); strChecked_ArrMaCC.Split(new char[] { ',' }).ToList().ForEach(item => arrMaCC.Add(int.Parse(item))); }
private void btnXoaKBVang_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } #region ko cho chỉnh sửa giờ nếu khoảng thời gian xem công tồn tại các ngày đã kết lương if (XL.Kiemtra(dtpNgayBD.Value.Date, dtpNgayKT.Value.Date)) { MessageBox.Show(string.Format(Resources.Text_KhoangTGDaKetCong_KoChinhSuaGioCC, "xem công", "xoá khai báo vắng", "xem công"), Resources.Caption_ThongBao, MessageBoxButtons.OK); return; } #endregion DataGridView currDataGrid = XacDinhDataGridViewDangChon(); if (MessageBox.Show("Xoá các khai báo vắng của nhân viên với các ngày được chọn?", Resources.Caption_XacNhan, MessageBoxButtons.YesNo) == DialogResult.No) { return; } if (currDataGrid.SelectedRows.Count != 0) { IEnumerable <dynamic> arrRecord = (from DataGridViewRow row in currDataGrid.SelectedRows let rowViews = (DataRowView)row.DataBoundItem select new { MaCC = (int)rowViews["UserEnrollNumber"], NgayVang = (DateTime)rowViews["TimeStrNgay"] }).ToList(); if (arrRecord.Any() == false) { return; } string query = " delete from Absent where UserEnrollNumber = @UserEnrollNumber and TimeDate = @TimeDate "; foreach (dynamic obj in arrRecord) { int kq = SqlDataAccessHelper.ExecNoneQueryString( query, new string[] { "@UserEnrollNumber", "@TimeDate" }, new object[] { obj.MaCC, obj.NgayVang }); DAO.GhiNhatKyThaotac("Xoá các khai báo vắng trong ngày", string.Format("Xoá tất cả khai báo vắng của NV có mã chấm công [{0}] trong ngày [{1}]", (int)obj.MaCC, ((DateTime)obj.NgayVang).ToString("dd/MM/yyyy")), maCC: (int)obj.MaCC); } btnXem.PerformClick(); } }
private void btnXoaKBVang_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } #region chưa chọn nhân viên thì báo var listMaCC_NV = (from DataGridViewRow dataGridViewRow in dgrdTongHop.SelectedRows let row = (DataRowView)dataGridViewRow.DataBoundItem select(int) row["UserEnrollNumber"]).ToList(); if (listMaCC_NV.Count == 0) { ACMessageBox.Show(Resources.Text_ChuaChonNV, Resources.Caption_ThongBao, 2000); return; } #endregion if (MessageBox.Show(string.Format("Xoá tất cả khai báo vắng ngày {0} của các nhân viên được chọn?", dtpNgay.Value.Date.ToString("dddd dd/MM/yyyy")), Resources.Caption_XacNhan, MessageBoxButtons.YesNo) == DialogResult.No) { return; } IEnumerable <dynamic> templist = (from macc in listMaCC_NV select new { MaCC = macc, NgayVang = dtpNgay.Value.Date }); string query = " delete from Absent where UserEnrollNumber = @UserEnrollNumber and TimeDate = @TimeDate "; try { foreach (dynamic obj in templist) { SqlDataAccessHelper.ExecNoneQueryString( query, new string[] { "@UserEnrollNumber", "@TimeDate" }, new object[] { obj.MaCC, obj.NgayVang }); DAO.GhiNhatKyThaotac("Xoá các khai báo vắng trong ngày", string.Format("Xoá tất cả khai báo vắng của NV có mã chấm công [{0}] trong ngày [{1}]", (int)obj.MaCC, ((DateTime)obj.NgayVang).ToString("dd/MM/yyyy")), maCC: (int)obj.MaCC); } } catch (Exception ex) { lg.Error(string.Format("[{0}]_[{1}]\n", this.Name, System.Reflection.MethodBase.GetCurrentMethod().Name), ex); MessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi); } dtpNgay_ValueChanged(null, null); }
private void btnXuatBB_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } //1. lấy dữ liệu từ form #region lấy ngày BD và kết thúc, và update lại Ngày BD = 1 ngày trước 31/08 12:00 AM, ngày KT là 1 ngày sau ngay 1 23:59:59 dtpNgay.Update(); DateTime ngayBD = dtpNgay.Value.Date; ngayBD = ngayBD.AddDays(-2d); DateTime ngayKT = ngayBD.AddDays(4d); #endregion try //general try catch { if (saveFileDlgDiemDanh.ShowDialog() == DialogResult.Cancel || saveFileDlgDiemDanh.FileName == String.Empty) { return; } var saveFileName = saveFileDlgDiemDanh.FileName; using (var p = new ExcelPackage()) { #region ghi sheet diemdanh p.Workbook.Worksheets.Add("DiemDanhNV"); var ws = p.Workbook.Worksheets["DiemDanhNV"]; ws.Name = "DiemDanhNV"; //Setting Sheet's name XL.ExportSheetDiemDanh(ws, m_DSNV); #endregion #region Ghi file , nếu xảy ra lỗi thì báo Byte[] bin = p.GetAsByteArray(); XL.XuatFileExcel(saveFileName, bin, "btnXuatBB_Click XuatBBDiemDanh"); #endregion } } catch (Exception ex) //general try catch { lg.Error(string.Format("[{0}]_[{1}]\n", this.Name, System.Reflection.MethodBase.GetCurrentMethod().Name), ex); MessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi); } }
private void btnTaoTK_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } if (tbPass1.Text != tbPass2.Text) { MessageBox.Show("Mật khẩu không khớp."); return; } if (tbPass1.Text == string.Empty || tbPass2.Text == string.Empty) { MessageBox.Show("Mật khẩu không được để trống."); return; } string insertString = " insert into NewUserAccount(UserID, UserAccount, Password) values (@UserID, @UserAccount, @password) "; int tempUserID = (int)cbTaikhoanWE.SelectedValue; string tempUserAccount = cbTaikhoanWE.SelectedItem.ToString(); string tempPass = tbPass1.Text; string tempPassEncrypt = MyUtility.Mahoa(tempPass); try { int kq = SqlDataAccessHelper.ExecNoneQueryString(insertString , new[] { "@UserID", "@UserAccount", "@password" } , new object[] { tempUserID, tempUserAccount, tempPassEncrypt }, CanLog: false); if (kq != 0) { MessageBox.Show("Thêm tài khoản thành công.", "Thông báo", MessageBoxButtons.OK); } else { MessageBox.Show("Không thêm được tài khoản.", "Lỗi", MessageBoxButtons.OK); } Load_dataGridNewUserAccount(); Load_cbTaikhoanWE(); } catch (Exception exception) { lg.Error(string.Format("[{0}]_[{1}]\n", this.Name, System.Reflection.MethodBase.GetCurrentMethod().Name), exception); MessageBox.Show("Mất kết nối đến máy chủ. Vui lòng thử lại.", "Lỗi", MessageBoxButtons.OK); } }
public frmThemDieuChinhLuong() { InitializeComponent(); m_listIDPhongBan = new List <int>(); m_DSNV = new List <cUserInfo>(); m_Bang_DSNV = TaoBang_DSNV(); //1. không cho autogen các column khi bind dữ liệu: 4 cái dgrdDSNVTrgPhg.AutoGenerateColumns = false; DataView dataView = new DataView(m_Bang_DSNV); dgrdDSNVTrgPhg.DataSource = dataView; //3. vẽ 3 checkbox checkall cho DSNV trong phòng XL2.VeCheckBox_CheckAll(dgrdDSNVTrgPhg, checkAll_GridDSNV, checkAll_CheckedChanged, new Point(7, 3)); }
private void buttonXoa_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } var shiftid = (lbShiftID.Tag != null) ? (int)(lbShiftID.Tag) : -1; if (shiftid != -1) { int n = DAO5.DelCa(shiftid); 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 }
private void btnXem_Click(object sender, EventArgs e) { if (XL2.KiemtraKetnoiCSDL() == false) { return; } //1. lấy dữ liệu từ form #region lấy ngày BD và kết thúc nếu quá 62 ngày thì báo dtpNgayBD.Update(); dtpNgayKT.Update(); var ngayBD = dtpNgayBD.Value.Date; var ngayKT = dtpNgayKT.Value.Date; #endregion BindingContext[dgrdDSNVTrgPhg.DataSource].EndCurrentEdit(); #region //2. lấy danh sách nhân viên check, nếu chưa có nv nào check thì thông báo var listNV = (from DataGridViewRow dataGridViewRow in dgrdDSNVTrgPhg.Rows let rowView = dataGridViewRow.DataBoundItem as DataRowView where (rowView["check"] != DBNull.Value && (bool)rowView["check"]) select(cUserInfo) rowView["cUserInfo"]) .ToList(); if (listNV.Count == 0) { ACMessageBox.Show(Resources.Text_ChuaChonNV, Resources.Caption_ThongBao, 2000); // GC.Collect(); return; } #endregion XL.LayBang_PH_Them(listNV, ngayBD, ngayKT, ref m_Bang_PH_Them); XL.LayBang_PH_Xoaa(listNV, ngayBD, ngayKT, ref m_Bang_PH_Xoaa); XL.LayBang_PH_GioGoc(listNV, ngayBD, ngayKT, ref m_Bang_PH_GioGoc); XL.LayBang_GioDaXN(listNV, ngayBD, ngayKT, ref m_Bang_GioDaXN); dgrdPH_Them.DataSource = m_Bang_PH_Them; dgrdPH_Xoaa.DataSource = m_Bang_PH_Xoaa; dgrdPH_GioGoc.DataSource = m_Bang_PH_GioGoc; dgrdGioDaXN.DataSource = m_Bang_GioDaXN; }