Exemple #1
0
        private bool CheckLogin(string user, string pass)
        {
            // Lấy thông tin từ CSDL rồi kiểm tra --> làm sau

            // tìm trong CSDL xem có User nào trùng với tên đăng nhập k?
            var userLogin = XpoDefault.Session.FindObject<User>(CriteriaOperator.Parse("[UserName] = ?", user));

            // nếu có thì ktra mật khẩu đúng không?
            if (userLogin != null)
            {
                if (userLogin.CheckUserPassword(pass))
                {
                    User.CurrentUser = userLogin;
                    return true;
                }
                // sai mật khẩu
                txtPassword.ErrorText = MSG_NOT_VALIDATE;
                return false;
            }

            // Hiện tại trong CSDL chưa có user nào, ta có thể xem đây là lần chạy đầu tiên (đối với khách hàng)
            // Ta cần tạo ra 1 user có quyền cao nhất (admin), vì chưa làm phân quyền nên chỉ cần tạo 1 user
            // Sau này thêm thông số để biết đây có phải là lần chạy đầu tiên hay k?

            // giờ sửa lại code isFirstRun luôn

            if (isFirstRun) // doan code này sẽ không chạy nữa nếu không phải lần chạy đầu
            {
                if (
                    EasyDialog.ShowYesNoDialog("Đây là lần chạy đầu tiên, bạn có muốn tạo tài khoản " + user +
                                               " với quyền quản trị? ") == DialogResult.No) return false;

                userLogin = new User
                {
                    UserName = user
                };
                userLogin.SetPassword(pass);
                userLogin.Save(); // <- đã tạo 1 user và lưu xuống
                User.CurrentUser = userLogin;


                // tạo giá trị măc định
                InvoiceType.GenerateInvoiceType();
                Unit.GenerateUnit();


                // cập nhật lại isFirstRun = false;
                EasyParam.SetValue("Lần chạy đầu tiên", false);
                return true;
            }

            if (userLogin == null)
            {
                txtPassword.ErrorText = MSG_NOT_VALIDATE;
            }

            return false;
        }
        public FrmUserInfo(User user)
        {
            InitializeComponent();

            _user = user;
            _isNew = user.IsNewObject;

            layoutControlItem2.Visibility = _isNew == true ? 
                    DevExpress.XtraLayout.Utils.LayoutVisibility.Never : DevExpress.XtraLayout.Utils.LayoutVisibility.Always;

            this.Height = _isNew == true ? this.Height - (layoutControlItem2.Height - 5) : this.Height;
            txtUserName.Properties.ReadOnly = !_isNew;
            txtPswd.Enabled = txtConfirmPswd.Enabled = _isNew;
            txtUserName.DataBindings.Add("Text", _user, "UserName");
            txtFullName.DataBindings.Add("Text", _user, "FullName");
        }