private void btnDoiCa_Click(object sender, EventArgs e) { // kiểm tra xem nếu tồn tại 1 ca nào đó rồi thì gửi ca đó đi, nếu chưa tồn tại ca ( chế độ hàng loạt, tbXNCa null thì gửi đi null var currShift = (cCa)tbXNCa.Tag; frmDSCa frm = new frmDSCa { StartPosition = FormStartPosition.CenterParent, SelectedShift = currShift }; frm.ShowDialog(); // sau khi showdialog và nhận được ca từ form xác nhận thì tiến hành fill và tính toán if (frm.SelectedShift == null) { return; } currShift = frm.SelectedShift; tbXNCa.Tag = currShift; tbXNCa.Text = (currShift != null) ? currShift.Code : string.Empty; //nếu ca tự do thì mặc định check VaoTreLaCV, RaSomLaCV if (currShift != null && currShift.ID < int.MinValue + 100) { checkXNVaoTreTinhCV.Checked = true; checkXNRaaSomTinhCV.Checked = true; } linkLabelTinhToan_LinkClicked(null, null); }
private void btnChonCa_Click(object sender, EventArgs e) { // kiểm tra xem nếu tồn tại 1 ca nào đó rồi thì gửi ca đó đi, nếu chưa tồn tại ca ( chế độ hàng loạt, tbXNCa null thì gửi đi null var currShift = (cCa)tbCa.Tag; frmDSCa frm = new frmDSCa { StartPosition = FormStartPosition.CenterParent, SelectedShift = currShift }; frm.ShowDialog(); // sau khi showdialog và nhận được ca từ form xác nhận thì tiến hành fill và tính toán if (frm.SelectedShift == null) { return; } currShift = frm.SelectedShift; tbCa.Tag = currShift; tbCa.Text = (currShift != null) ? currShift.Code : string.Empty; //if (currShift != null && currShift.ID != int.MinValue) { if (currShift != null && currShift.ID > int.MinValue + 100) //ver 4.0.0.4 ko phải ca tự do thì điền giờ chuẩn theo quy định ca vào { dtpBDLam.Value = DateTime.Today.Date.Add(currShift.Duty.Onn); dtpKTLam.Value = DateTime.Today.Date.Add(currShift.Duty.Off); } else if (currShift != null && currShift.ID < int.MinValue + 100) // ca tự do thì mặc định check VaoTreLaCV, RaSomLaCV { checkXNVaoTreTinhCV.Checked = true; checkXNRaaSomTinhCV.Checked = true; } linkTinhLaiCong_LinkClicked(null, null); }
private void btnChonCa_Them_Click(object sender, EventArgs e) { // kiểm tra xem nếu tồn tại 1 ca nào đó rồi thì gửi ca đó đi, nếu chưa tồn tại ca ( chế độ hàng loạt, tbXNCa null thì gửi đi null var currShift = (cCa)tbCa_Them.Tag; frmDSCa frm = new frmDSCa { StartPosition = FormStartPosition.CenterParent, SelectedShift = currShift }; frm.ShowDialog(); // sau khi showdialog và nhận được ca từ form xác nhận thì tiến hành fill và tính toán if (frm.SelectedShift == null) { return; } currShift = frm.SelectedShift; tbCa_Them.Tag = currShift; tbCa_Them.Text = (currShift != null) ? currShift.Code : string.Empty; DataRowView rowView = (DataRowView)dgrdGioKDQD.SelectedRows[0].DataBoundItem; var ngayCong = (cNgayCong)rowView["cNgayCong"]; var CIO = (rowView["cCheckInOut"] == DBNull.Value) ? null : (cCheckInOut)rowView["cCheckInOut"]; var ngay = ngayCong.Ngay; if (currShift == null || currShift.ID < int.MinValue + 100) //ver 4.0.0.4 // ko có ca hoặc ca tự do thì lấy mặc định 00:00 { dtpVao_Them.Value = ngay; dtpRaa_Them.Value = ngay; } else { if (currShift.QuaDem && CIO != null && CIO.HaveINOUT == -2) // có vào ko có ra thì cứ add theo ngày công { ngay = ngay.AddDays(-1d); } DateTime vao = ngay.Add(currShift.TOD_Duty.Onn); DateTime raa = ngay.Add(currShift.TOD_Duty.Off); dtpVao_Them.Value = vao; dtpRaa_Them.Value = raa; } }
private void btnChonCa_Suaa_Click(object sender, EventArgs e) { // kiểm tra xem nếu tồn tại 1 ca nào đó rồi thì gửi ca đó đi, nếu chưa tồn tại ca ( chế độ hàng loạt, tbXNCa null thì gửi đi null var currShift = (cCa)tbCa_Suaa.Tag; frmDSCa frm = new frmDSCa { StartPosition = FormStartPosition.CenterParent, SelectedShift = currShift }; frm.ShowDialog(); // sau khi showdialog và nhận được ca từ form xác nhận thì tiến hành fill và tính toán if (frm.SelectedShift == null) { return; } currShift = frm.SelectedShift; tbCa_Suaa.Tag = currShift; tbCa_Suaa.Text = (currShift != null) ? currShift.Code : string.Empty; DataRowView rowView = (DataRowView)dgrdGioKDQD.SelectedRows[0].DataBoundItem; var ngayCong = (cNgayCong)rowView["cNgayCong"]; var CIO = (rowView["cCheckInOut"] == DBNull.Value) ? null : (cCheckInOut)rowView["cCheckInOut"]; var check = (cCheck)rowView["cCheck"]; var ngay = ngayCong.Ngay; //if (currShift == null || currShift.ID == int.MinValue) { if (currShift == null || currShift.ID < int.MinValue + 100) //ver 4.0.0.4 // ko có ca hoặc ca tự do thì lấy mặc định 00:00 { dtpGioMoi_Sua.Value = ngay; } else { // nếu ko có check thì nút chọn ca đã bị disable nên nếu click được thì chắc chắn đang thuộc 1 check-> chắc chắn thuộc 1CIO dtpGioMoi_Sua.Value = (check.Type == "I") ? ngay.Add(currShift.TOD_Duty.Onn) : ngay.Add(currShift.TOD_Duty.Off); if (check.Type == "O" && currShift.QuaDem && CIO != null && CIO.HaveINOUT == -2) { dtpGioMoi_Sua.Value = ngay.AddDays(-1d).Add(currShift.TOD_Duty.Off); } } }