Exemple #1
0
        public static DataRow LayChucNang(string machucnang, string tenChucNang, string chucnangcha)
        {
            DataRow chucnang = null;
            var     ad       = new ChucNangTableAdapter();
            string  sql      = string.Format("select * from ChucNang where MaChucNang = N'{0}'", machucnang);
            var     dt       = SQLHelper.ExecuteDataTable(sql);

            if (dt == null || dt.Rows.Count == 0)
            {
                ad.Insert(machucnang, tenChucNang, chucnangcha);
                dt = SQLHelper.ExecuteDataTable(sql);
            }


            chucnang = dt.Rows[0];
            if (!chucnang["TenChucNang"].Equals(tenChucNang))
            {
                chucnang["TenChucNang"] = tenChucNang;
                chucnang["ChucNangCha"] = chucnangcha;
                ad.Update(chucnang);
                chucnang.AcceptChanges();
            }


            return(chucnang);
        }
Exemple #2
0
        public bool DangNhap()
        {
            foreach (Form f in MdiChildren)
            {
                f.Close();
            }

            if (MdiChildren.Length > 0)
            {
                return(true);
            }

            if (!string.IsNullOrEmpty(HeThong.TenDangNhap))
            {
                NhatKy.Add("Đăng xuất");
            }

            HeThong.TenDangNhap      = string.Empty;
            HeThong.ChiNhanhDangNhap = string.Empty;
            lblUser.Caption          = "(Chưa đăng nhập)";

            var a = new ChucNangTableAdapter();

            var fDangNhap = new FrmDangNhap();

            if (fDangNhap.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                bool isFirsRun = Param.GetValue <bool>("Lần chạy đầu tiên", "Hệ thống", true, false);

                NhatKy.Add("Đăng nhập");

                MsgBox.ShowWaitForm();
                var adChucNang = new ChucNangTableAdapter();
                foreach (RibbonPage page in ribbon.Pages)
                {
                    if (page.Visible == false)
                    {
                        continue;
                    }
                    if (page.Equals(pageTroGiup))
                    {
                        continue;
                    }

                    var chucnangPage = HeThong.LayChucNang(page.Name, page.Text, string.Empty);

                    foreach (RibbonPageGroup group in page.Groups)
                    {
                        if (group.Visible == false)
                        {
                            continue;
                        }
                        if (group.Equals(groupHethong_GiaoDien))
                        {
                            continue;
                        }

                        var chucnangGroup = HeThong.LayChucNang(group.Name, group.Text, page.Name);
                        if (!chucnangGroup["TenChucNang"].Equals(group.Text) && HeThong.NguoiDungDangNhap.QuanTri)
                        {
                            chucnangGroup["TenChucNang"] = group.Text;
                            a.Update(chucnangGroup);
                        }

                        foreach (BarItemLink itemlink in group.ItemLinks)
                        {
                            if (itemlink.Item.Visibility == BarItemVisibility.Never)
                            {
                                continue;
                            }

                            if (itemlink.Item.Equals(btnDoiMatKhau))
                            {
                                continue;
                            }
                            if (itemlink.Item.Equals(btnRefresh))
                            {
                                continue;
                            }
                            if (itemlink.Item.Equals(btnKhoaChuongTrinh))
                            {
                                continue;
                            }

                            var chucnangItem = HeThong.LayChucNang(itemlink.Item.Name, itemlink.Item.Caption, group.Name);

                            if (!chucnangItem["ChucNangCha"].Equals(group.Name) && HeThong.NguoiDungDangNhap.QuanTri)
                            {
                                chucnangItem["ChucNangCha"] = group.Name;
                                a.Update(chucnangItem);
                            }

                            itemlink.Item.Tag = itemlink.Item.Name;

                            if (HeThong.NguoiDungDangNhap != null)
                            {
                                var quyenItem = HeThong.LayPhanQuyen(itemlink.Item.Name, HeThong.TenDangNhap, HeThong.NguoiDungDangNhap.QuanTri);
                                itemlink.Item.Enabled = quyenItem.TruyCap;
                            }
                        }
                        HeThong.LayPhanQuyen(group.Name, HeThong.TenDangNhap, HeThong.NguoiDungDangNhap.QuanTri);
                    }
                    HeThong.LayPhanQuyen(page.Name, HeThong.TenDangNhap, HeThong.NguoiDungDangNhap.QuanTri);
                }

                a.Dispose();

                // HIỆN TÊN NGƯỜI DÙNG
                string n = HeThong.TenDangNhap == null ? "[hoasensystem]" : HeThong.TenDangNhap.ToUpper();
                lblUser.Caption = string.Format("Xin chào: {0}", n);

                if (isFirsRun)
                {
                    Param.SetValue("Lần chạy đầu tiên", false);
                }

                MsgBox.CloseWaitForm();

                return(true);
            }
            else
            {
                //Application.ExitThread();
                return(false);
            }
        }