Example #1
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            #region 账户或口令为空判断
            txtLoginName.Text = txtLoginName.Text.Trim();
            if (string.IsNullOrEmpty(txtLoginName.Text))
            {
                ClsMsgBox.Jg("账户不能为空!");
                return;
            }
            txtPassword.Text = txtPassword.Text.Trim();
            if (string.IsNullOrEmpty(txtPassword.Text))
            {
                ClsMsgBox.Jg("口令不能为空!");
                return;
            }
            #endregion



            //获取用户信息
            vusersTableAdapter      uta     = new vusersTableAdapter();
            DSjckja.vusersDataTable u       = uta.GetDataByLoginName(txtLoginName.Text);
            DSjckja.vusersRow       userRow = u.Rows.Count == 0 ? null : (DSjckja.vusersRow)u.Rows[0];
            #region  账户、口令有效性判断
            if (userRow == null)
            {
                ClsMsgBox.Jg("账户不存在!");
                return;
            }
            //判断口令
            if (string.Compare(txtPassword.Text, userRow.password, false) != 0)
            {
                ClsMsgBox.Jg("口令不正确!");
                return;
            }
            //判断活动状态
            if (!userRow.active)
            {
                ClsMsgBox.Jg("此用户为非活动用户,不允许登录系统!");
                return;
            }
            #endregion
            #region 是否保存到cookie
            if (chkAutoSave.Checked)
            {
                Context.Cookies["Account"]  = txtLoginName.Text;
                Context.Cookies["Password"] = txtPassword.Text;
            }
            else
            {
                Context.Cookies["Account"]  = "";
                Context.Cookies["Password"] = "";
            }
            #endregion
            //将登陆用户信息保存到session
            VWGContext.Current.Session["userRow"] = userRow;
            this.Context.Session.IsLoggedOn       = true;//允许打开实际的窗体
        }
Example #2
0
        private void createFuncTree()
        {
            string cmd = @"
SELECT id, mc, bm, jb,
       id0, mc0, bm0, id1, mc1, bm1, id2, mc2, bm2,
       id3, mc3, bm3, id4, mc4, bm4, id5, mc5, bm5 
FROM vfuncsa 
WHERE jb > 0
ORDER BY xh0, xh1, xh2, xh3, xh4, xh5
";

            DSjckja.vusersRow userRow = VWGContext.Current.Session["userRow"] as DSjckja.vusersRow;
            if (userRow.qx >= 1024)
            {
                string[] cmds = cmd.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
                cmds[4] = string.Format(@"WHERE ID IN (SELECT funcid FROM trolefuncs where roleid={0})", userRow.roleid);
                cmd     = string.Join(Environment.NewLine, cmds);
            }
            DataTable dt = ClsMSSQL.GetDataTable(cmd, ClsDBCon.ConStrKj);
            TreeNode  tn, tp;

            TreeNode[] tns;
            int        jb;
            string     id;

            foreach (DataRow r in dt.Rows)
            {
                jb = Convert.ToInt32(r["jb"].ToString());
                tp = null;
                for (int i = 1; i <= jb; i++)
                {
                    id = "id" + i;
                    //按照以r[id].ToString()为名查找具有指定键的树节点,可以选择搜索子节点,返回一个list[]。
                    tns = trV.Nodes.Find(r[id].ToString(), true);
                    if (tns.Length > 0)
                    {
                        tp = tns[0];
                    }
                    else
                    {
                        tn = createANode(r, i);
                        if (tp == null)
                        {
                            trV.Nodes.Add(tn);//向trV控件添加节点
                        }
                        else
                        {
                            tp.Nodes.Add(tn);//向父节点tp中添加节点
                        }
                        tp = tn;
                    }
                }
            }
        }