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); }
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); } }