示例#1
0
        private void btnDongY_Click(object sender, EventArgs e)
        {
            switch (hd)
            {
                case 1:
                    {
                        if (CheckRetyePass())
                        {
                            if (MessageBox.Show("Bạn muốn người dùng" + LayUser().USERID.ToString(), "Thêm chức vụ", MessageBoxButtons.OKCancel) == DialogResult.OK)
                            {
                                DTO.DTOtblUSER _User = LayUser();
                                busUser = new BUS.BUStblUSER();
                                busUser.ThemtblUSER(_User);
                                foreach (var a in LayGroupUser())
                                {
                                    busGroupUser = new BUS.BUStblGROUPUSER();
                                    busGroupUser.ThemtblGROUPUSER(a);
                                }
                                //_cdGroupUser.Version += 1;
                                //checkdata.CapnhatCheckData(_cdGroupUser);
                                txtPass.Text = "";
                                cmbMaNV.Enabled = false;
                                txtPass.Enabled = false;
                                txtRetype.Enabled = false;
                                btnDongY.Visible = false;
                                btnHuy.Visible = false;
                                btnThem.Visible = true;
                                btnSua.Visible = true;
                                btnXoa.Visible = true;
                                clbGroup.Enabled = false;
                                hd = 0;
                                LoadUser();
                                grdvUser.FocusedRowHandle = grdvUser.RowCount - 1;
                            }
                        }
                        else
                            MessageBox.Show("Kiểm tra lại mật khẩu.", "Lỗi!", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    }; break;
                case 2:
                    {
                       //try
                        {
                            string _strThongBao = string.Format("Bạn muốn xóa người dùng {0} - {1}?\nViệc xóa này sẽ xóa đi tất cả các quyền mà người này đang giữ!", cmbMaNV.Text, grdvUser.GetRowCellValue(grdvUser.FocusedRowHandle, colName));
                            if (MessageBox.Show(_strThongBao, "Chú ý!", MessageBoxButtons.YesNo) == DialogResult.Yes)
                            {
                                busUser = new BUS.BUStblUSER();
                                busUser.XoatblUSER(int.Parse(cmbMaNV.Text));
                                cmbMaNV.Enabled = false;
                                txtPass.Enabled = false;
                                txtRetype.Enabled = false;
                                btnDongY.Visible = false;
                                btnHuy.Visible = false;
                                btnThem.Visible = true;
                                btnSua.Visible = true;
                                btnXoa.Visible = true;
                                hd = 0;
                                LoadUser();
                            }
                        }
                       //catch
                       //{
                       //    MessageBox.Show("Hiện đang có nhân viên thuộc lại nhân viên này");
                       //}
                    }; break;
                case 3:
                    {
                        string _strThongBao = string.Format("Bạn muốn cập nhật người dùng {0} - {1}?", cmbMaNV.Text, grdvUser.GetRowCellValue(grdvUser.FocusedRowHandle, colName));
                        if (MessageBox.Show(_strThongBao, "Chú ý!", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            UpdateUser();
                            //txtPass.Text = "";
                            cmbMaNV.Enabled = false;
                            txtPass.Enabled = false;
                            txtRetype.Enabled = false;
                            btnDongY.Visible = false;
                            btnHuy.Visible = false;
                            btnThem.Visible = true;
                            btnSua.Visible = true;
                            btnXoa.Visible = true;
                            clbGroup.Enabled = false;
                            hd = 0;
                            LoadUser();

                        }
                    }; break;
            }
        }
示例#2
0
        private void UpdateUser()
        {
            int _UserID = int.Parse(cmbMaNV.Text);
            var _oldGroup = GetGroupByUserID((int)grdvUser.GetRowCellValue(grdvUser.FocusedRowHandle, colUserID));
            var _newGroup = LayGroupUser();

            #region Insert - Remove group
            //var _themGroup = _newGroup.Concat(_oldGroup).GroupBy(a => a.GROUPID,(key, group) =>group.First());
            //var _xoaGroup = _newGroup.Concat(_oldGroup).GroupBy(a => a.GROUPID,(key, group) =>group.First());

            //foreach (var _s1 in _oldGroup.ToList())
            //{
            //    _themGroup.ToList().RemoveAll(a => a.GROUPID == _s1.GROUPID);
            //    _themGroup.ToList().Remove(_s1);
            //}

            //for (int i = 0; i < _oldGroup.ToList().Count; i++)
            //{
            //    _themGroup.ToList().Remove(_oldGroup.ToList()[i]);
            //    _themGroup.ToList().RemoveAll(a=>a.GROUPID==_oldGroup[i].GROUPID);
            //}

            //foreach (var _s2 in _newGroup)
            //{
            //    _xoaGroup.ToList().RemoveAll(a=>a.GROUPID==_s2.GROUPID);
            //}
            #endregion

            if (CheckRetyePass())
            {
                if (Encrypt_Decrypt.Decrypt(busUser.LayTheoMatblUSER(_UserID).ToList()[0].PASSWORDS,true) == txtPass.Text.Trim())
                {
                    foreach (var _b in _oldGroup)
                    {
                        busGroupUser = new BUS.BUStblGROUPUSER();
                        busGroupUser.XoatblGROUPUSER(_UserID, _b.GROUPID);
                    }

                    foreach (var _a in _newGroup)
                    {
                        busGroupUser = new BUS.BUStblGROUPUSER();
                        var _dtoGroupUser = new DTO.DTOtblGROUPUSER();
                        _dtoGroupUser.GROUPID = _a.GROUPID;
                        _dtoGroupUser.USERID = _UserID;
                        busGroupUser.ThemtblGROUPUSER(_dtoGroupUser);
                    }
                }

                else   //Cập nhật password nếu thay đổi
                {
                    string _strTB = "Mật khẩu không giống với mật khẩu cũ.\nNếu tiếp tục bạn sẽ đổi mật khẩu của người dùng này\n Bạn muốn tiếp tục chứ?";
                    if (MessageBox.Show(_strTB, "Lưu ý!", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
                    {

                        foreach (var _b in _oldGroup)
                        {
                            busGroupUser = new BUS.BUStblGROUPUSER();
                            busGroupUser.XoatblGROUPUSER(_UserID, _b.GROUPID);
                        }

                        foreach (var _a in _newGroup)
                        {
                            busGroupUser = new BUS.BUStblGROUPUSER();
                            var _dtoGroupUser = new DTO.DTOtblGROUPUSER();
                            _dtoGroupUser.GROUPID = _a.GROUPID;
                            _dtoGroupUser.USERID = _UserID;
                            busGroupUser.ThemtblGROUPUSER(_dtoGroupUser);
                        }
                        busUser = new BUS.BUStblUSER();
                        var _dtoUser = new DTO.DTOtblUSER();
                        _dtoUser.USERID = _UserID;
                        _dtoUser.PASSWORDS = Encrypt_Decrypt.Encrypt(txtPass.Text, true); ;
                        _dtoUser.LASTCHANGEDPASS = DateTime.Now;
                        _dtoUser.LASTLOGIN = busUser.LayTheoMatblUSER(_UserID)[0].LASTLOGIN;
                        busUser.CapnhattblUSER(_dtoUser);
                    }
                }

            }
            else
                MessageBox.Show("Kiểm tra lại mật khẩu.", "Lỗi!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            grdvUser.FocusedRowHandle = grdvUser.RowCount-1;
        }
示例#3
0
        //lấy quyền sử dụng các control trong từng module cho người dùng, bao gồm cả việc ng sd thuộc nhiều nhóm sử dụng
        private void GetFunctionOfGroupsByUserID(int _userID)
        {
            busGroupUser = new BUS.BUStblGROUPUSER();

            var _GroupUser = busGroupUser.LayTatCatblGROUPUSER().Where(a => a.USERID == _userID);
            List<DTO.DTOtblGROUP_FUNCTION> _lstGroupFunction = new List<DTO.DTOtblGROUP_FUNCTION>();
            foreach (var a in _GroupUser)
            {
                busGroupFunction = new BUS.BUStblGROUP_FUNCTION();
                var _lstFunc = busGroupFunction.LayTatCatblGROUP_FUNCTION().Where(p => p.GROUPID == a.GROUPID).ToList();
                foreach (var b in _lstFunc)
                {
                    _lstGroupFunction.Add(b);
                }
            }
            //var _IsUsedFunc= _lstGroupFunction.GroupBy(a => a.FUNCTIONID).ToList();
            var _IsUsedFunc = _lstGroupFunction.Where(a => a.VALUE == true).GroupBy(a => a.FUNCTIONID, (key, group) => group.First()).ToList();
            foreach (var a in _IsUsedFunc)
            {
                switch (a.FUNCTIONID)
                {
                    #region cấp quyền sử dụng các chức năng
                    case 1: Function.DatPhong.Nhan = true; break;
                    case 2: Function.DatPhong.DK = true; break;
                    case 3: Function.DatPhong.Sua = true; break;
                    case 4: Function.DatPhong.Xoa = true; break;
                    case 5: Function.DSPhong.Them = true; break;
                    case 6: Function.DSPhong.Sua = true; break;
                    case 7: Function.DSPhong.Xoa = true; break;
                    case 8: Function.KP_LP.ThemLP = true; break;
                    case 9: Function.KP_LP.SuaLP = true; break;
                    case 10: Function.KP_LP.XoaLP = true; break;
                    case 11: Function.KP_LP.ThemKP = true; break;
                    case 12: Function.KP_LP.SuaKP = true; break;
                    case 13: Function.KP_LP.XoaKP = true; break;
                    case 14: Function.Gia.CapNhat = true; break;
                    case 15: Function.ThanhToan.TinhTien = true; break;
                    case 16: Function.HoaDon.XoaHD = true; break;
                    case 17: Function.PT_CK.ThemPT = true; break;
                    case 18: Function.PT_CK.SuaPT = true; break;
                    case 19: Function.PT_CK.XoaPT = true; break;
                    case 20: Function.PT_CK.ThemCK = true; break;
                    case 21: Function.PT_CK.SuaCK = true; break;
                    case 22: Function.PT_CK.XoaCK = true; break;
                    case 23: Function.KhachHang.ThemKH = true; break;
                    case 24: Function.KhachHang.SuaKH = true; break;
                    case 25: Function.KhachHang.XoaKH = true; break;
                    case 26: Function.KhachHang.ThemLKH = true; break;
                    case 27: Function.KhachHang.SuaLKH = true; break;
                    case 28: Function.KhachHang.XoaLKH = true; break;
                    case 29: Function.NhanVien.ThemNV = true; break;
                    case 30: Function.NhanVien.SuaTTNV = true; break;
                    case 31: Function.NhanVien.Xoa = true; break;
                    case 32: Function.ChucVu.Them = true; break;
                    case 33: Function.ChucVu.Sua = true; break;
                    case 34: Function.ChucVu.Xoa = true; break;
                    case 35: Function.DichVu.Them = true; break;
                    case 36: Function.DichVu.Sua = true; break;
                    case 37: Function.DichVu.Xoa = true; break;
                    case 38: Function.DichVu.ThemDV = true; break;
                    case 39: Function.ThietBi.Them = true; break;
                    case 40: Function.ThietBi.Sua = true; break;
                    case 41: Function.ThietBi.Xoa = true; break;
                    case 42: Function.ThietBi.ThemTB = true; break;
                    case 43: Function.User.Them = true; break;
                    case 44: Function.User.Sua = true; break;
                    case 45: Function.User.Xoa = true; break;
                    case 46: Function.Group.Them = true; break;
                    case 47: Function.Group.Sua = true; break;
                    case 48: Function.Group.Xoa = true; break;
                    case 49: Function.BaoCao.Phong = true; break;
                    case 50: Function.BaoCao.Thue_DatPhong = true; break;
                    case 51: Function.BaoCao.DoanhThu = true; break;
                    case 52: Function.BaoCao.DichVu = true; break;
                    case 53: Function.BaoCao.ThietBi = true; break;
                    case 54: Function.BaoCao.KhachHang = true; break;
                    case 55: Function.BaoCao.NhanVien = true; break;
                    case 56: Function.KP_LP.ThemTT = true; break;
                    case 57: Function.KP_LP.SuaTT = true; break;
                    case 58: Function.KP_LP.XoaTT = true; break;
                    #endregion
                }
            }
        }
示例#4
0
        private void LoadUser()
        {
            busGroup = new BUS.BUStblGROUP();
            busGroupUser = new BUS.BUStblGROUPUSER();
            busNhanVien = new BUS.BUSNHANVIEN();
            busUser = new BUS.BUStblUSER();
            busChucVu = new BUS.BUSCHUCVU();
            var _User = from a in busNhanVien.LayTatCaNHANVIEN()
                        join b in busUser.LayTatCatblUSER() on a.MANV equals b.USERID
                        //join c in busGroupUser.LayTatCatblGROUPUSER() on b.USERID equals c.USERID
                        //join d in busGroup.LayTatCatblGROUP() on c.GROUPID equals d.GROUPID
                        join e in busChucVu.LayTatCaCHUCVU() on a.MACV equals e.MACV
                        select new
                        {
                            HoTen = a.TENNV,
                            UserID = b.USERID,
                            Password = b.PASSWORDS,
                           ChucVu = e.TENCV,
                            //Group = d.GROUPNAME,
                            LastLogin = b.LASTLOGIN,
                            LastPassChanged = b.LASTCHANGEDPASS,
                            //GroupID = d.GROUPID
                        };
            grdUser.DataSource = _User.ToList();
             grdvUser.MoveFirst();

            //Binding();
        }
示例#5
0
        //lấy quyền sử dụng các control trong từng module cho người dùng, bao gồm cả việc ng sd thuộc nhiều nhóm sử dụng
        private void GetModuleOfGroupsByUserID(int _userID)
        {
            busGroupUser = new BUS.BUStblGROUPUSER();

            var _GroupUser = busGroupUser.LayTatCatblGROUPUSER().Where(a => a.USERID == _userID);
            List<DTO.DTOtblGROUPMODULE> _lstGroupModule = new List<DTO.DTOtblGROUPMODULE>();
            foreach (var a in _GroupUser)
            {
                busGroupModule = new BUS.BUStblGROUPMODULE();
                var _lstModule = busGroupModule.LayTatCatblGROUPMODULE().Where(p => p.GROUPID == a.GROUPID).ToList();
                foreach (var b in _lstModule)
                {
                    _lstGroupModule.Add(b);
                }
            }
            //var _IsUsedFunc= _lstGroupFunction.GroupBy(a => a.FUNCTIONID).ToList();
            var _IsUsedModule = _lstGroupModule.Where(a => a.VALUE == true).GroupBy(a => a.MODULEID, (key, group) => group.First()).ToList();
            foreach (var a in _IsUsedModule)
            {
                switch (a.MODULEID)
                {
                    #region cấp quyền sử dụng các chức năng
                    case 1: Modules.Modules.DatPhong = BarItemVisibility.Always; break;
                    case 2: Modules.Modules.DSPhong = BarItemVisibility.Always; break;
                    case 3: Modules.Modules.KP_LP = BarItemVisibility.Always; break;
                    case 4: Modules.Modules.Gia = BarItemVisibility.Always; break;
                    case 5: Modules.Modules.TinhTien = BarItemVisibility.Always; break;
                    case 6: Modules.Modules.HoaDon = BarItemVisibility.Always; break;
                    case 7: Modules.Modules.PT_CK = BarItemVisibility.Always; break;
                    case 8: Modules.Modules.KhachHang = BarItemVisibility.Always; break;
                    case 9: Modules.Modules.NhanVien = BarItemVisibility.Always; break;
                    case 10: Modules.Modules.ChucVu= BarItemVisibility.Always; break;
                    case 11: Modules.Modules.DichVu = BarItemVisibility.Always; break;
                    case 12: Modules.Modules.ThietBi= BarItemVisibility.Always; break;
                    case 13: Modules.Modules.QLUsers = BarItemVisibility.Always; break;
                    case 14: Modules.Modules.QLGroups = BarItemVisibility.Always; break;
                    case 15: Modules.Modules.BaoCao = BarItemVisibility.Always; break;
                    #endregion
                }
            }
        }