Exemple #1
0
        private void btnResetPassword_Click(object sender, EventArgs e)
        {
            DataRow dataRow = XacDinh_DataRowTaiKhoan_DangChon();
            int     userID  = (int)dataRow["UserID"];

            frmNhapTTTaiKhoan frm = new frmNhapTTTaiKhoan();

            frm.m_Mode        = ModeType.Other;
            frm.m_TenTaiKhoan = dataRow["UserAccount"].ToString();
            frm.m_Enable      = (bool)dataRow["Enable"];
            frm.ShowDialog();

            if (frm.m_Mode == ModeType.Cancel)
            {
                return;
            }
            string encryptPassword = MyUtility.Mahoa(frm.m_Password);
            int    kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.NewUserAccount_ChangePassV6.ToString(),
                                                            new SqlParameter("@UserID", userID),
                                                            new SqlParameter("@NewEncryptPassword", encryptPassword));

            if (kq == 0)
            {
                ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
                return;
            }
        }
Exemple #2
0
        private void XoaGio(cCheckInOut CIO, int UEN)
        {
            DateTime timeStringOld;
            int      machineNoOld;

            if (CIO.HaveINOUT == -1)
            {
                timeStringOld = CIO.Vao.Time;
                machineNoOld  = CIO.Vao.MachineNo;
            }
            else if (CIO.HaveINOUT == -2)
            {
                timeStringOld = CIO.Raa.Time;
                machineNoOld  = CIO.Raa.MachineNo;
            }
            else
            {
                return;
            }

            #region

            int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName.CheckInOut_Delete.ToString(),
                                                         new SqlParameter("@UserEnrollNumber", UEN),
                                                         new SqlParameter("@TimeStr", timeStringOld),
                                                         new SqlParameter("@MachineNo", machineNoOld));

            #endregion
        }
        private void DangKyNhiemVu(DataRow NhanVien, List <DataRow> SelectedNhiemVu, ref bool haveOtherError, ref string otherError)
        {
            string templateFormatStr = "Nhiệm vụ [{0}] cho [{1}] có mã NV [{2}].\n";

            foreach (var rowViewNhiemVu in SelectedNhiemVu)
            {
                var          maNhiemVu         = (int)rowViewNhiemVu["MaNhiemVu"];
                var          tenNhiemVu        = rowViewNhiemVu["TenNhiemVu"].ToString();
                var          maChamCong        = (int)NhanVien["UserEnrollNumber"];
                var          tenNhanVien       = NhanVien["UserLastName"].ToString();
                var          maNhanVien        = NhanVien["UserFullCode"].ToString();
                SqlParameter outPutParamKetQua = new SqlParameter("@KetQua", SqlDbType.Int)
                {
                    Direction = ParameterDirection.Output,
                };
                var rowAffect = SqlDataAccessHelper.ExecSPNoneQuery(SPName.sp_NhiemVu_NhanVien_INS.ToString(),
                                                                    new SqlParameter("@MaNhiemVu", maNhiemVu),
                                                                    new SqlParameter("@UserEnrollNumber", maChamCong),
                                                                    outPutParamKetQua);
                int ketqua = (int)outPutParamKetQua.Value; //ketqua == 0) không thêm vì đã tồn tại
                if (ketqua == 1)                           // thêm được--> kiểm tra số rowAffect
                {
                    if (rowAffect == 0)
                    {
                        haveOtherError = true;
                        var fillValueTemplate = string.Format(templateFormatStr, tenNhiemVu, tenNhanVien, maNhanVien);
                        otherError += fillValueTemplate;
                        continue;
                    }
                }
            }
        }
Exemple #4
0
        private void btnXoa_Click(object sender, EventArgs e)
        {
            //1. hỏi trước khi xóa
            //2. thực hiện xóa //todo nâng cấp lên chức năng disable
            if (MessageBox.Show("Xóa phòng ban sẽ mất toàn bộ thông tin lịch sử liên quan đến phòng ban này!" +
                                "Cân nhắc sử dụng chức năng cập nhật tình trạng về disable." +
                                "Bạn muốn TIẾP TỤC XÓA phòng ban này?", Resources.Caption_XacNhan, MessageBoxButtons.YesNo,
                                MessageBoxIcon.Warning) == DialogResult.No)
            {
                return;
            }

            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
                return;
            }

            DataRow CurrentDataRow = (DataRow)treePhongBan.SelectedNode.Tag;

            if (SqlDataAccessHelper.ExecSPNoneQuery(SPName6.RelationDept_XoaPhongV6.ToString(),
                                                    new SqlParameter("@ID", (int)CurrentDataRow["ID"])) == 0)
            {
                ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
                return;
            }
            else             //thêm thành công load lại tree
            {
                loadTreePhgBan(treePhongBan);
                treePhongBan.ExpandAll();
            }
        }
Exemple #5
0
        private void btnThem_Click(object sender, EventArgs e)
        {
            frmNhapTTTaiKhoan frm = new frmNhapTTTaiKhoan();

            frm.m_Mode = ModeType.Them;
            frm.ShowDialog();
            if (frm.m_Mode == ModeType.Cancel)
            {
                return;
            }

            //kiểm tra kết nối csdl
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
                return;
            }

            string encryptPass = MyUtility.Mahoa(frm.m_Password);
            int    kq          = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.NewUserAccount_ThemTaiKhoanV6.ToString(),
                                                                     new SqlParameter("@UserAccount", frm.m_TenTaiKhoan),
                                                                     new SqlParameter("@Password", encryptPass),
                                                                     new SqlParameter("@Enable", frm.m_Enable));

            if (kq == 0)
            {
                ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
                return;
            }
            LoadDSTaiKhoan();
        }
        private void btnXoaNhiemVu_Click(object sender, EventArgs e)
        {
            if (btnTaoNhiemVu.Enabled == false)
            {
                return;                                            // đang ở chế độ tạo mới thì ko cho xoá
            }
            if (lbMaNhiemVu.Tag == null || listDSNhiemVu.SelectedItems.Count == 0)
            {
                return;                                                                                 // ko chọn item thì ko cho xoá
            }
            //xác nhận thực hiện
            if (MessageBox.Show(Resources.Text_ConfirmXoaNhiemVu, Resources.Caption_XacNhan, MessageBoxButtons.YesNo) == DialogResult.No)
            {
                return;
            }

            //đã đồng ý thực hiện
            int maNhiemVu = (int)lbMaNhiemVu.Tag;
            int kq        = SqlDataAccessHelper.ExecSPNoneQuery(SPName.sp_NhiemVu_Del.ToString(), new SqlParameter("@MaNhiemVu", maNhiemVu));

            if (kq == 0)
            {
                MessageBox.Show(Resources.Text_CoLoi, Resources.Caption_ThongBao);
            }
            else
            {
                ACMessageBox.Show(Resources.Text_DaThucHienXong, Resources.Caption_ThongBao, 1500);
            }

            //reload GUI
            this.ReloadListNhiemVu();
        }
Exemple #7
0
        private void btnDisable_Click(object sender, EventArgs e)
        {
            // xác định thông tin tài khoản đang chọn để thực hiện thao tác
            DataRow dataRow = XacDinh_DataRowTaiKhoan_DangChon();

            if (dataRow == null)
            {
                return;
            }
            int    userID      = (int)dataRow["UserID"];
            bool   Status      = (bool)dataRow["Enable"];
            bool   Status1     = !Status;
            string userAccount = dataRow["UserAccount"].ToString();
            string template    = "Bạn muốn đổi trạng thái tài khoản [{0}]?";

            if (MessageBox.Show(string.Format(template, userAccount), Resources.Caption_XacNhan, MessageBoxButtons.YesNo) == DialogResult.No)
            {
                return;
            }
            // thực hiện và reload lại danh sách tài khoản
            int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.NewUserAccount_DisableTaiKhoanV6.ToString(),
                                                         new SqlParameter("@UserID", userID), new SqlParameter("@Enable", Status1));

            if (kq == 0)
            {
                ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
                return;
            }
            //reload lại danh sách tài khoản
            LoadDSTaiKhoan();
        }
Exemple #8
0
        private void btnThemLichTrinh_Click(object sender, EventArgs e)
        {
            frmTTLichTrinh frm = new frmTTLichTrinh();

            frm.Mode = ModeType.Them;
            frm.ShowDialog();
            if (frm.Mode == ModeType.Cancel)
            {
                return;
            }

            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
                return;
            }

            int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.Schedule_ThemLichTrinhV6.ToString(),
                                                         new SqlParameter("@SchName", frm.m_TenLichTrinh),
                                                         new SqlParameter("@InOutID", 2));

            if (kq == 0)
            {
                ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
                return;
            }
            LoadDSLichTrinh();
        }
Exemple #9
0
        private void btnThemCa_Click(object sender, EventArgs e)
        {
            // hiển thị form chọn ca, nếu chế độ cancel thì thoát
            frmChonCa frm = new frmChonCa();

            frm.ShowDialog();
            if (frm.m_Mode == ModeType.Cancel)
            {
                return;
            }

            // chế độ thêm, kiểm tra kết nối csdl trước
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
                return;
            }

            // xác định ScheduleID của Row đang FOCUS
            DataRowView selectedDataRowView = (DataRowView)((GridView)gridControlLichTrinh.MainView).GetFocusedRow();

            if (selectedDataRowView == null)
            {
                return;                                          // ko có focus vào row nào thì thoát
            }
            DataRow selectedDataRow = selectedDataRowView.Row;
            var     idLichTrinh     = (int)selectedDataRow["SchID"];

            List <int> listID_SelectedShift = (from DataRow dataRow in frm.m_SelectedRows select(int) dataRow["ShiftID"]).ToList();

            if (listID_SelectedShift.Count == 0)
            {
                return;                                              // ko chọn item nào thì thoát
            }
            //hỏi và Thực hiện thêm shiftID vào lịch trình
            string templateString = "Bạn muốn thêm danh sách ca cho lịch trình [{0}]?";
            string resultString   = string.Format(templateString, selectedDataRow["SchName"]);

            if (MessageBox.Show(resultString, Resources.Caption_XacNhan, MessageBoxButtons.YesNo) == DialogResult.No)
            {
                return;
            }

            foreach (int shiftID in listID_SelectedShift)
            {
                int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.ShiftSch_ThemDSCaVaoLichTrinhV6.ToString(),
                                                             new SqlParameter("@SchID", idLichTrinh),
                                                             new SqlParameter("@ShiftID", shiftID));
                if (kq == 0)
                {
                    ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
                    break;
                }
            }

            //reload lịch trình
            LoadDSLichTrinh();
        }
        private void btnLuuNhiemVu_Click(object sender, EventArgs e)
        {
            string tenNhiemVu = tbTenNhiemVu.Text;

            //1. validate     hiện tại ko chọn item nào thì thoát, tên nhiệm vụ trống thì báo

            if (tenNhiemVu.Trim() == string.Empty)
            {
                ACMessageBox.Show("Tên nhiệm vụ không được để trống.", Resources.Caption_ThongBao, 2000);
                return;
            }

            #region kiểm tra kết nối csdl trước
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 4000);
                Close();
                return;
            }
            #endregion

            //2. save to DB
            if (btnTaoNhiemVu.Enabled)             // đang chế độ cập nhật
            {
                if (lbMaNhiemVu.Tag == null)
                {
                    return;                                          // đang cập nhật mà ko chọn item nào thì thoát
                }
                int maNvu = (int)lbMaNhiemVu.Tag;
                int kq    = SqlDataAccessHelper.ExecSPNoneQuery(SPName.sp_NhiemVu_InsUpd.ToString(),
                                                                new SqlParameter("@MaNhiemVu", maNvu),
                                                                new SqlParameter("@TenNhiemVu", tbTenNhiemVu.Text));
                if (kq == 0)
                {
                    MessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, MessageBoxButtons.OK);
                }
            }
            else             // đang chế độ thêm mới
            {
                int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName.sp_NhiemVu_InsUpd.ToString(),
                                                             new SqlParameter("@MaNhiemVu", DBNull.Value),
                                                             new SqlParameter("@TenNhiemVu", tbTenNhiemVu.Text));
                if (kq == 0)
                {
                    MessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, MessageBoxButtons.OK);
                }
            }

            //3. reload GUI
            ReloadListNhiemVu();

            btnTaoNhiemVu.Enabled = true;
            tbTenNhiemVu.Clear();
        }
Exemple #11
0
        private void btnXoaCa_Click(object sender, EventArgs e)
        {
            // LOGIC xóa ca thì xóa danh sách ca đang hiển thị của FOCUS_ROW chứ ko xóa của CHECK_ROW
            //kiểm tra kết nối trước khi xóa
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
                return;
            }

            //  Xác định lịch trình sẽ xóa ca và hỏi lại trước khi xóa
            DataRowView focusRowHandle = (DataRowView)((GridView)gridControlLichTrinh.MainView).GetFocusedRow();

            if (focusRowHandle == null)
            {
                return;                                     //ko có dòng focus, ko có dòng check => dữ liệu trống => thoát
            }
            string scheduleName    = focusRowHandle.Row["SchName"].ToString();
            int    scheduleID      = (int)focusRowHandle.Row["SchID"];
            string templateString  = "Bạn muốn xóa các ca này khỏi lịch trình [{0}]?";
            string noidungThongbao = string.Format(templateString, scheduleName);

            if (MessageBox.Show(noidungThongbao, Resources.Caption_XacNhan) == DialogResult.No)
            {
                return;
            }

            // xác định các ca được check phải xóa
            int[] checkedRowsHandle_Ca = ((GridView)gridControlCa.MainView).GetSelectedRows();

            List <int> listID_SelectedShift = new List <int>();

            foreach (int rowHandle in checkedRowsHandle_Ca)
            {
                DataRow dataRow_Ca = gridViewCa.GetDataRow(rowHandle);
                listID_SelectedShift.Add((int)dataRow_Ca["T1"]);                 //T1 tương đương shiftID
            }

            // thực hiện xóa ca
            foreach (int id in listID_SelectedShift)
            {
                int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.ShiftSch_XoaDSCaKhoiLichTrinhV6.ToString(),
                                                             new SqlParameter("@SchID", scheduleID),
                                                             new SqlParameter("@ShiftID", id));
                if (kq == 0)
                {
                    ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
                    break;
                }
            }
            //reload lại grid
            LoadDSLichTrinh();
        }
Exemple #12
0
        private void SuaGio(cCheckInOut CIO, MayCheck LoaiCheck, TimeSpan gioMoi, int UEN)
        {
            if (CIO.HaveINOUT == -1 && LoaiCheck.ToString() == MayCheck.O.ToString())
            {
                return;                                                                                   // sửa giờ cùng loại, khác loại bỏ qua
            }
            if (CIO.HaveINOUT == -2 && LoaiCheck.ToString() == MayCheck.I.ToString())
            {
                return;                                                                                  // sửa giờ cùng loại, khác loại bỏ qua
            }
            DateTime timeStringOld;
            int      machineNoOld;
            string   sourceOld;

            if (CIO.HaveINOUT == -1)
            {
                timeStringOld = CIO.Vao.Time;
                machineNoOld  = CIO.Vao.MachineNo;
                sourceOld     = CIO.Vao.Source;
            }
            else if (CIO.HaveINOUT == -2)
            {
                timeStringOld = CIO.Raa.Time;
                machineNoOld  = CIO.Raa.MachineNo;
                sourceOld     = CIO.Raa.Source;
            }
            else
            {
                return;
            }

            DateTime ngayGioMoi = timeStringOld.Date.Add(gioMoi);

            if (CIO.HaveINOUT == -1)
            {
                ngayGioMoi = ngayGioMoi.Add(XL2._01giay);                                  // nếu sửa giờ vào thì add thêm 1 giây.
            }
            #region

            int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName.CheckInOut_Update.ToString(),
                                                         new SqlParameter("@UserEnrollNumber", UEN),
                                                         new SqlParameter("@TimeStrOld", timeStringOld),
                                                         new SqlParameter("@MachineNoOld", machineNoOld),
                                                         new SqlParameter("@SourceOld", sourceOld),
                                                         new SqlParameter("@OriginTypeNew", LoaiCheck.ToString()),
                                                         new SqlParameter("@TimeDateNew", ngayGioMoi.Date),
                                                         new SqlParameter("@TimeStrNew", ngayGioMoi),
                                                         new SqlParameter("@MachineNoNew", (int)LoaiCheck),
                                                         new SqlParameter("@SourceNew", "PC"));

            #endregion
        }
Exemple #13
0
        private void Update_Check_DaChamCong(int UEN, cCheck check)
        {
            int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.CheckInOut_Upd_Check_DaChamCongV6.ToString(),
                                                         new SqlParameter("@UserEnrollNumber", UEN),
                                                         new SqlParameter("@TimeStr", check.Time),
                                                         new SqlParameter("@MachineNo", check.MachineNo),
                                                         new SqlParameter("@DaChamCong", true));

            if (kq == 0)
            {
                ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
            }
        }
Exemple #14
0
        private void ThucHienDaoGioCCXuongCSDL(ref List <cUserInfo> DSNVReload, ref List <DataRow> listSelectedRow)
        {
            foreach (DataRow dataRow in listSelectedRow)
            {
                cCheckInOut currentCIO      = (cCheckInOut)dataRow["cCheckInOut"];
                cUserInfo   currentNhanVien = (cUserInfo)dataRow["cUserInfo"];
                if (DSNVReload.Any(item => item.MaCC == currentNhanVien.MaCC) == false)
                {
                    DSNVReload.Add(currentNhanVien);
                }

                int UEN = (int)dataRow["UserEnrollNumber"];
                if (currentCIO == null || currentNhanVien == null)
                {
                    continue;
                }
                DateTime timeString;
                int      machineNoOld;
                string   sourceOld;
                MayCheck mayCheckMoi;
                if (currentCIO.HaveINOUT == -1)
                {
                    timeString   = currentCIO.Vao.Time;
                    machineNoOld = currentCIO.Vao.MachineNo;
                    sourceOld    = currentCIO.Vao.Source;
                    mayCheckMoi  = MayCheck.O;                    // đảo vào thành ra
                }
                else if (currentCIO.HaveINOUT == -2)
                {
                    timeString   = currentCIO.Raa.Time;
                    machineNoOld = currentCIO.Raa.MachineNo;
                    sourceOld    = currentCIO.Raa.Source;
                    mayCheckMoi  = MayCheck.I;                    // đảo ra thành vào
                }
                else
                {
                    continue;
                }

                int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName.CheckInOut_InvertKieuChamCong.ToString(),
                                                             new SqlParameter("@UserEnrollNumber", UEN),
                                                             new SqlParameter("@TimeStr", timeString),
                                                             new SqlParameter("@MachineNoOld", machineNoOld),
                                                             new SqlParameter("@SourceOld", sourceOld),
                                                             new SqlParameter("@TimeDateNew", timeString.Date),
                                                             new SqlParameter("@MachineNoNew", (int)mayCheckMoi),
                                                             new SqlParameter("@SourceNew", "PC"));
            }
            //tbd thông báo lỗi các trường hợp không thể thêm giờ
        }
Exemple #15
0
 private void LuuPhanQuyenPhongBan(int UserID, List <int> dsPhong_DuocThaoTac, bool Enable)
 {
     foreach (int id in dsPhong_DuocThaoTac)
     {
         int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.DeptPrivilege_InsUpdPhanQuyenV6.ToString(),
                                                      new SqlParameter("@UserID", UserID),
                                                      new SqlParameter("@IDDepartment", id),
                                                      new SqlParameter("@Enable", Enable));
         if (kq == 0)
         {
             ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
             return;
         }
     }
 }
Exemple #16
0
 private void LuuPhanQuyenChucNang(int UserID, List <int> DS_ChucNang, bool Enable)
 {
     foreach (int functionID in DS_ChucNang)
     {
         int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.FunctionPrivilege_InsUpd_PhanQuyenV6.ToString(),
                                                      new SqlParameter("@UserID", UserID),
                                                      new SqlParameter("@FunctionID", functionID),
                                                      new SqlParameter("@Enable", Enable));
         if (kq == 0)
         {
             ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
             return;
         }
     }
 }
Exemple #17
0
        private void btnThem_Click(object sender, EventArgs e)
        {
            //hiển thị form và nhận kết quả trả về
            frmNhapThongTinPhong frm = new frmNhapThongTinPhong();

            frm.m_CurrentDataRow = (DataRow)treePhongBan.SelectedNode.Tag;
            frm.m_Mode           = ModeType.Them;
            frm.ShowDialog();
            if (frm.m_Mode == ModeType.Cancel)
            {
                return;
            }

            //sử dụng kết quả trả về thêm vào CSDL
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
                return;
            }
            #region test
            ACMessageBox.Show(string.Format("{0};RID {1};LID {2};VT {3};E {4}",
                                            frm.m_TenPhong,
                                            (int)frm.m_ParentDataRow["RelationID"],
                                            (int)frm.m_ParentDataRow["LevelID"] + 1,
                                            frm.m_VitriPhong, frm.m_Enable), "", 5000);
            loadTreePhgBan(treePhongBan);
            //return;
            #endregion

            if (SqlDataAccessHelper.ExecSPNoneQuery(SPName6.RelationDept_ThemPhongV6.ToString(),
                                                    new SqlParameter("@Description", frm.m_TenPhong),
                                                    new SqlParameter("@RelationID", (int)frm.m_ParentDataRow["ID"]),
                                                    new SqlParameter("@LevelID", (int)frm.m_ParentDataRow["LevelID"] + 1),//+1 vì là con của phòng trực thuộc
                                                    new SqlParameter("@ViTri", frm.m_VitriPhong),
                                                    new SqlParameter("@Enable", frm.m_Enable)) == 0)
            {
                ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
                return;
            }
            else             //thêm thành công load lại tree
            {
                loadTreePhgBan(treePhongBan);
                treePhongBan.ExpandAll();
            }
        }
Exemple #18
0
 private void XuLyXoaLichTrinh(List <int> ListIDLichTrinh)
 {
     if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
     {
         ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
         return;
     }
     // thực hiện xóa lịch trình => LOGIC xóa lịch trình cũng đồng nghĩa xóa luôn các ca làm việc theo lịch trình này.
     foreach (int id in ListIDLichTrinh)
     {
         int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.Other_XoaLichTrinhV6.ToString(), new SqlParameter("@SchID", id));
         if (kq == 0)
         {
             ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
             return;
         }
     }
 }
        private void HuyNhiemVuCuaNhanVien(List <DataRowView> listNhiemVuCuaNhanVien, ref bool haveOtherError, ref string otherError)
        {
            string templateStr = "Nhiệm vụ [{0}] của nhân viên [{1}], mã NV [{2}].\n";

            foreach (var rowView in listNhiemVuCuaNhanVien)
            {
                var uen         = (int)rowView["UserEnrollNumber"];
                var tenNhanVien = rowView["UserFullName"].ToString();
                var maNhanVien  = rowView["UserFullCode"].ToString();
                var maNhiemVu   = (int)rowView["MaNhiemVu"];
                var tenNhiemVu  = rowView["TenNhiemVu"].ToString();
                int kq          = SqlDataAccessHelper.ExecSPNoneQuery(SPName.NhiemVu_NhanVien_DEL.ToString(),
                                                                      new SqlParameter("@UserEnrollNumber", uen),
                                                                      new SqlParameter("@MaNhiemVu", maNhiemVu));
                if (kq == 0)
                {
                    haveOtherError = true;
                    otherError    += string.Format(templateStr, tenNhiemVu, tenNhanVien, maNhanVien);
                }
            }
        }
Exemple #20
0
        private void btnXoa_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Bạn muốn XÓA ca làm việc? " +
                                "Xóa ca làm việc sẽ xóa toàn bộ dữ liệu chấm công liên quan đến ca làm việc này." +
                                "Cân nhắc sử dụng Enable/Disable ca làm việc." +
                                "Bấm YES để tiếp tục, No để hủy thao tác.", Resources.Caption_XacNhan) == DialogResult.No)
            {
                return;
            }

            int[]       selRows     = ((GridView)gridControl.MainView).GetSelectedRows();
            DataRowView selRow      = (DataRowView)(((GridView)gridControl.MainView).GetRow(selRows[0]));
            DataRow     selectedRow = selRow.Row;

            var shiftID = (int)selectedRow["ShiftID"];

            //sử dụng kết quả trả về thêm vào CSDL
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
                return;
            }

            //todo thực hiện kiểm tra tất cả các bảng có sử dụng shiftID, nếu còn thì ko cho xóa
            // nếu ko còn mới cho xóa
            if (TODOKiemTra() == false)
            {
            }
            else
            {
                int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.Shift_DeleteShiftV6.ToString(),
                                                             new SqlParameter(@"ShiftID", shiftID));
                if (kq == 0)
                {
                    ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
                    return;
                }
                LoadGrid();
            }
        }
Exemple #21
0
        private void XuLyInsert(frmTTCaLamViec frm)
        {
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
                return;
            }

            bool     enableCSDL     = frm.m_Enable;
            TimeSpan workingTime    = (frm.m_OffDuty - frm.m_OnDuty);
            int      workingTimeMin = Convert.ToInt32(workingTime.TotalMinutes);

            SqlParameter[] param = new SqlParameter[]
            {
                new SqlParameter("@ShiftCode", frm.m_ShiftCode),
                new SqlParameter("@Enable", enableCSDL),
                new SqlParameter("@OnDuty", frm.m_OnDuty.ToString(@"hh\:mm")),
                new SqlParameter("@OffDuty", frm.m_OffDuty.ToString(@"hh\:mm")),
                new SqlParameter("@DayCount", frm.m_DayCount),
                new SqlParameter("@WorkingTimeMin", workingTimeMin),
                new SqlParameter("@Workingday", frm.m_ChamCong),
                new SqlParameter("@LateGrace", frm.m_LateGraceMin),
                new SqlParameter("@EarlyGrace", frm.m_EarlyGraceMin),
                new SqlParameter("@AfterOT", frm.m_AfterOTMin),
                new SqlParameter("@OnTimeIn", frm.m_OnTimeInMin),
                new SqlParameter("@CutIn", frm.m_CutInMin),
                new SqlParameter("@OnTimeOut", frm.m_OnTimeOutMin),
                new SqlParameter("@CutOut", frm.m_CutOutMin),
                new SqlParameter("@KyHieuCC", frm.m_KyHieuCC),
                new SqlParameter("@OnLunch", frm.m_OnLunch.ToString(@"hh\:mm")),
                new SqlParameter("@OffLunch", frm.m_OffLunch.ToString(@"hh\:mm"))
            };
            int kq = (SqlDataAccessHelper.ExecSPNoneQuery(SPName6.Shift_InsertNewShiftV6.ToString(), param));

            if (kq == 0)
            {
                ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
            }
        }
Exemple #22
0
        private void btnSua_Click(object sender, EventArgs e)
        {
            // xác định thông tin tài khoản đang chọn để thực hiện thao tác
            DataRow dataRow = XacDinh_DataRowTaiKhoan_DangChon();
            int     userID  = (int)dataRow["UserID"];

            frmNhapTTTaiKhoan frm = new frmNhapTTTaiKhoan();

            frm.m_Mode        = ModeType.Sua;
            frm.m_TenTaiKhoan = dataRow["UserAccount"].ToString();
            frm.m_Enable      = (bool)dataRow["Enable"];
            frm.ShowDialog();

            if (frm.m_Mode == ModeType.Cancel)
            {
                return;
            }

            //kiểm tra kết nối csdl
            if (SqlDataAccessHelper.TestConnection(SqlDataAccessHelper.ConnectionString) == false)
            {
                ACMessageBox.Show(Resources.Text_MatKetNoiCSDL, Resources.Caption_Loi, 3000);
                return;
            }

            int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.NewUserAccount_CapNhatTaiKhoanV6.ToString(),
                                                         new SqlParameter("@UserID", userID),
                                                         new SqlParameter("@UserAccount", frm.m_TenTaiKhoan),
                                                         new SqlParameter("@Enable", frm.m_Enable));

            if (kq == 0)
            {
                ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
                return;
            }
            LoadDSTaiKhoan();
        }
Exemple #23
0
        public static bool ChangePassword(string OldPass, string NewPass, string UserAccount, int UserID)        //v6
        {
            string    encryptOldPass   = MyUtility.Mahoa(OldPass);
            string    encryptNEWPass   = MyUtility.Mahoa(NewPass);
            DataTable tableUserAccount = SqlDataAccessHelper.ExecSPQuery(SPName6.NewUserAccount_DocTatCaTaiKhoanV6.ToString(),
                                                                         new SqlParameter("@Enable", true),
                                                                         new SqlParameter("@UserAccount", UserAccount),
                                                                         new SqlParameter("@EncryptPassword", encryptOldPass));

            if (tableUserAccount.Rows.Count == 0)
            {
                MessageBox.Show("Mật khẩu cũ chưa đúng. Vui lòng nhập lại.", Resources.Caption_ThongBao, MessageBoxButtons.OK);
                return(false);
            }
            int kq1 = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.NewUserAccount_ChangePassV6.ToString(),             //todo viết store
                                                          new SqlParameter("@NewEncryptPassword", encryptNEWPass),
                                                          new SqlParameter("@UserID", UserID));

            if (kq1 > 0)
            {
                return(true);
            }
            return(false);
        }
Exemple #24
0
        internal void LoaiCheckTrong30ph(List <cCheck> DSCheck_BiLoai_All)
        {
            int  kq;
            bool flag = false;

            foreach (cCheck check in DSCheck_BiLoai_All)
            {
                kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.CheckInOut_LoaiCheck_KoHopLeV6.ToString(),
                                                         new SqlParameter("@UserEnrollNumber", check.MaCC),
                                                         new SqlParameter("@TimeStr", check.Time),
                                                         new SqlParameter("@MachineNo", check.MachineNo),
                                                         new SqlParameter("@Loai", true),
                                                         new SqlParameter("@DaChamCong", true));
                if (kq == 0)
                {
                    flag = true;
                    break;
                }
            }
            if (flag)
            {
                ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
            }
        }
Exemple #25
0
        public void Insert_CheckInOutData(int UEN, cCheckInOut CIO)
        {
            int phut_Vao = 0, phut_Ra = 0, phut_BD_Ca = 0, phut_KT_Ca = 0, phut_BD_LV = 0, phut_KT_LV_TrongCa = 0, phut_KT_LV = 0, phut_BD_LV_Ca3 = 0, phut_KT_LV_Ca3 = 0;
            int phut_TreVR = 0, phut_SomVR = 0, phut_LamViec = 0, phut_LamDem = 0, phut_OLaiVR = 0, phut_LamTrongGio = 0, phut_LamNgoaiGio = 0,
                phut_VaoSauCa = 0, phut_RaTruocCa = 0, phut_NghiTrua = 0;
            float  congTrongGio = 0f, congNgoaiGio = 0f, truCongTre = 0f, truCongSom = 0f;
            bool   quaDem = false;
            string kyHieuCa;

            if (CIO.CheckVT == TrangThaiCheck.ThieuVao)
            {
                kyHieuCa = "KV";
            }
            else if (CIO.CheckVT == TrangThaiCheck.ThieuRa)
            {
                kyHieuCa = "KR";
            }
            else
            {
                kyHieuCa = CIO.ThuocCa.Code;
            }

            if (CIO.CheckVT == TrangThaiCheck.CheckDayDu)
            {
                phut_Vao           = MyUtility.QuyDoiPhut((CIO.VaoLamTron - CIO.ThuocNgayCong));
                phut_Ra            = MyUtility.QuyDoiPhut((CIO.RaaLamTron - CIO.ThuocNgayCong));
                phut_BD_Ca         = MyUtility.QuyDoiPhut(CIO.ThuocCa.Duty.From);
                phut_KT_Ca         = MyUtility.QuyDoiPhut(CIO.ThuocCa.Duty.To);
                phut_BD_LV         = MyUtility.QuyDoiPhut((CIO.BD_LV - CIO.ThuocNgayCong));
                phut_KT_LV_TrongCa = MyUtility.QuyDoiPhut((CIO.KT_LV_TrongCa - CIO.ThuocNgayCong));
                phut_KT_LV         = MyUtility.QuyDoiPhut((CIO.KT_LV - CIO.ThuocNgayCong));
                phut_NghiTrua      = MyUtility.QuyDoiPhut(CIO.ThuocCa.LunchMin);
                phut_BD_LV_Ca3     = (CIO.BD_LV_Ca3 == DateTime.MinValue) ? 0 : MyUtility.QuyDoiPhut((CIO.BD_LV_Ca3 - CIO.ThuocNgayCong));
                phut_KT_LV_Ca3     = (CIO.KT_LV_Ca3 == DateTime.MinValue) ? 0 : MyUtility.QuyDoiPhut((CIO.KT_LV_Ca3 - CIO.ThuocNgayCong));
                phut_TreVR         = MyUtility.QuyDoiPhut(CIO.Tre);
                phut_SomVR         = MyUtility.QuyDoiPhut(CIO.Som);
                phut_VaoSauCa      = MyUtility.QuyDoiPhut(CIO.VaoSauCa);
                phut_RaTruocCa     = MyUtility.QuyDoiPhut(CIO.RaTruocCa);
                congTrongGio       = CIO.TrongGio;
                congNgoaiGio       = CIO.NgoaiGio;
                truCongTre         = CIO.TruCongTre;
                truCongSom         = CIO.TruCongSom;
                quaDem             = CIO.QuaDem;
            }
            int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName6.CIO_ThemCIOChuaChamCongV6.ToString(),
                                                         new SqlParameter("@UserEnrollNumber", UEN),
                                                         new SqlParameter("@NgayCong", CIO.ThuocNgayCong),
                                                         new SqlParameter("@HaveINOUT", (int)CIO.CheckVT),
                                                         new SqlParameter("@KyHieuCa", kyHieuCa),                                                         //todo thêm ký hiệu ca
                                                         new SqlParameter("@GioVao", CIO.Vao == null ? (object)DBNull.Value : CIO.Vao.Time),
                                                         new SqlParameter("@GioRa", CIO.Raa == null ? (object)DBNull.Value : CIO.Raa.Time),
                                                         new SqlParameter("@Vao", phut_Vao),
                                                         new SqlParameter("@Ra", phut_Ra),
                                                         new SqlParameter("@MayVao", CIO.Vao == null ? (object)DBNull.Value : CIO.Vao.MachineNo),
                                                         new SqlParameter("@MayRa", CIO.Raa == null ? (object)DBNull.Value : CIO.Raa.MachineNo),
                                                         new SqlParameter("@BDCa", phut_BD_Ca),
                                                         new SqlParameter("@KTCa", phut_KT_Ca),
                                                         new SqlParameter("@SoPhutNghiTrua", phut_NghiTrua),
                                                         new SqlParameter("@BDLV", phut_BD_LV),
                                                         new SqlParameter("@KTLVTrongCa", phut_KT_LV_TrongCa),
                                                         new SqlParameter("@KTLV", phut_KT_LV),
                                                         new SqlParameter("@BDLVCa3", phut_BD_LV_Ca3),
                                                         new SqlParameter("@KTLVCa3", phut_KT_LV_Ca3),
                                                         new SqlParameter("@QuaDem", quaDem),
                                                         new SqlParameter("@Tre", phut_TreVR),
                                                         new SqlParameter("@Som", phut_SomVR),
                                                         new SqlParameter("@VaoSauCa", phut_VaoSauCa),
                                                         new SqlParameter("@RaTruocCa", phut_RaTruocCa),
                                                         new SqlParameter {
                ParameterName = "@SoPhutXacNhanNgoaiGio", Value = 0
            },                                                                                                                                             // lần đầu chưa xác nhận nên = 0
                                                         new SqlParameter("@ChoPhepTre", CIO.ChoPhepTre),                                                  // lần đầu chưa xác nhận nên = false
                                                         new SqlParameter("@ChoPhepSom", CIO.ChoPhepSom),                                                  // lần đầu chưa xác nhận nên = false
                                                         new SqlParameter("@VaoTuDo", CIO.VaoTuDo),                                                        // lần đầu chưa xác nhận nên = false
                                                         new SqlParameter("@RaTuDo", CIO.RaaTuDo),                                                         // lần đầu chưa xác nhận nên = false
                                                         new SqlParameter {
                ParameterName = "@TinhCongThuCong", Value = false,
            },
                                                         new SqlParameter {
                ParameterName = "@ChamCongTay", Value = 0f,
            },
                                                         new SqlParameter("@CongTrongGio", congTrongGio),
                                                         new SqlParameter("@CongNgoaiGio", congNgoaiGio),
                                                         new SqlParameter("@TruCongTre", truCongTre),
                                                         new SqlParameter("@TruCongSom", truCongSom),
                                                                                                                 // new SqlParameter("@DinhMucCong", CIO.DinhMuc), //todo ko lưu
                                                                                                                 // new SqlParameter("@TongCong", CIO.Tong),//todo ko lưu

                                                         new SqlParameter("@TheoDoiGioGocMayCC", string.Empty)); //todo ghi phần theo dõi// ko có GhiChu, LyDo


            if (kq == 0)
            {
                ACMessageBox.Show(Resources.Text_CoLoi, Resources.Caption_Loi, 2000);
            }
        }
Exemple #26
0
        private void BoSungGio(cCheckInOut CIO, MayCheck LoaiCheck, TimeSpan gioBoSung, int UEN)
        {
            if (CIO.HaveINOUT == -1 && LoaiCheck.ToString() == MayCheck.I.ToString())
            {
                return;                                                                                   // có vào thiếu ra , bổ sung ra thì trùng bỏ qua
            }
            if (CIO.HaveINOUT == -2 && LoaiCheck.ToString() == MayCheck.O.ToString())
            {
                return;                          // có ra thiếu vào, bổ sung vào thì trùng bỏ qua
            }
            if (CIO.HaveINOUT == -2)             // bổ sung giờ vào cho CIO thiếu vào --> ok
            {
                //if (LoaiCheck.ToString() == MayCheck.I.ToString())

                /* xác định giờ ra đã có, ngày ra đã có, bỏ phần dư giây giờ bổ sung (vào = 0, ra =1) (hh:mm:00)
                * tạo NGÀY giờ vào mới để thêm vào CSDL, (nếu vào sau ra thì có qua đêm phải add thêm 1 ngày) */
                TimeSpan gioRa         = CIO.Raa.Time.TimeOfDay;        // xác định giờ ra
                DateTime ngayGioVaoMoi = CIO.Raa.Time.Date;             //ngày
                gioBoSung     = new TimeSpan(gioBoSung.Hours, gioBoSung.Minutes, 0);
                ngayGioVaoMoi = (gioBoSung >= gioRa)
                                        ? ngayGioVaoMoi.AddDays(-1d).Add(gioBoSung).Add(XL2._01giay) // giây = 1 --> hh:mm:01 vào ca sau phải sau ra ca trước
                                        : ngayGioVaoMoi.Add(gioBoSung).Add(XL2._01giay);             // thêm 1 ngày nếu vào sau ra

                #region

                int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName.CheckInOut_Ins.ToString(),
                                                             new SqlParameter("@UserEnrollNumber", UEN),
                                                             new SqlParameter("@TimeDate", ngayGioVaoMoi.Date),
                                                             new SqlParameter("@TimeStr", ngayGioVaoMoi),
                                                             new SqlParameter("@OriginType", LoaiCheck.ToString()),
                                                             new SqlParameter("@MachineNo", (int)LoaiCheck),
                                                             new SqlParameter("@Source", "PC"));

                #endregion

                if (kq == 0)
                {
                }
            }
            else if (CIO.HaveINOUT == -1)              //bổ sung giờ vào cho CIO đã có vào

            /* xác định giờ vào đã có, ngày ra đã có, bỏ phần dư giây giờ bổ sung (vào = 0, ra =1) (hh:mm:00)
             * tạo NGÀY giờ vào mới để thêm vào CSDL, () */
            {
                TimeSpan gioVao        = CIO.Vao.Time.TimeOfDay;         // xác định giờ vào
                DateTime ngayGioRaaMoi = CIO.Vao.Time.Date;              //ngày
                gioBoSung     = new TimeSpan(gioBoSung.Hours, gioBoSung.Minutes, 0);
                ngayGioRaaMoi = (gioVao >= gioBoSung)
                                        ? ngayGioRaaMoi.AddDays(1d).Add(gioBoSung) // giây = 0--> hh:mm:00 ko cần add thêm 1 giây
                                        : ngayGioRaaMoi.Add(gioBoSung);            // thêm 1 ngày nếu ra trước vào

                #region

                int kq = SqlDataAccessHelper.ExecSPNoneQuery(SPName.CheckInOut_Ins.ToString(),
                                                             new SqlParameter("@UserEnrollNumber", UEN),
                                                             new SqlParameter("@TimeDate", ngayGioRaaMoi.Date),
                                                             new SqlParameter("@TimeStr", ngayGioRaaMoi),
                                                             new SqlParameter("@OriginType", LoaiCheck.ToString()),
                                                             new SqlParameter("@MachineNo", (int)LoaiCheck),
                                                             new SqlParameter("@Source", "PC"));

                #endregion
            }
            else
            {
            }
        }