private void update_menu() { F001_Main v_frm = new F001_Main(); DevExpress.XtraBars.Ribbon.RibbonControl m_rc_menu = v_frm.m_rc_menu; List<HT_QUYEN> v_lst_menu = new List<HT_QUYEN>(); //1. Get list menu //Level RibbonPage foreach (DevExpress.XtraBars.Ribbon.RibbonPage rp in m_rc_menu.Pages) { //Level RibbonPageGroup foreach (DevExpress.XtraBars.Ribbon.RibbonPageGroup rpg in rp.Groups) { //Level BarButtonItem foreach (DevExpress.XtraBars.BarItemLink bbl in rpg.ItemLinks) { HT_QUYEN v_q = new HT_QUYEN() { RIBBON_PAGE_NAME = rp.Name , RIBBON_PAGE_TEXT = rp.Text , RIBBON_PAGE_GROUP_NAME = rpg.Name , RIBBON_PAGE_GROUP_TEXT = rpg.Text , BAR_BUTTON_ITEM_NAME = bbl.Item.Name , BAR_BUTTON_ITEM_CAPTION = bbl.Item.Caption }; v_lst_menu.Add(v_q); } } } //2. Update database using (QuanLyKhoEntities db = new QuanLyKhoEntities()) { List<HT_QUYEN> v_lst_ht_quyen = db.HT_QUYEN.ToList(); //2.1 Xoa bo di menu trong database ma khong co trong form foreach (var q in v_lst_ht_quyen) { HT_QUYEN v_q = v_lst_menu.Where(x => x.RIBBON_PAGE_GROUP_NAME == q.RIBBON_PAGE_GROUP_NAME && x.RIBBON_PAGE_NAME == q.RIBBON_PAGE_NAME && x.BAR_BUTTON_ITEM_NAME == q.BAR_BUTTON_ITEM_NAME) .FirstOrDefault(); //Neu khong tim thay menu trong form thi xoa menu trong database if (v_q == null) { //Remove ht_phan_quyen List<HT_PHAN_QUYEN> v_lst_phan_quyen = db.HT_PHAN_QUYEN .Where(x => x.ID_QUYEN == q.ID) .ToList(); foreach (var pq in v_lst_phan_quyen) { db.HT_PHAN_QUYEN.Remove(pq); db.SaveChanges(); } //Remove ht_quyen db.HT_QUYEN.Remove(q); db.SaveChanges(); v_lst_ht_quyen = db.HT_QUYEN.ToList(); } else { //Neu tim thay thi cap nhat lai caption, text q.RIBBON_PAGE_TEXT = v_q.RIBBON_PAGE_TEXT; q.RIBBON_PAGE_GROUP_TEXT = v_q.RIBBON_PAGE_GROUP_TEXT; q.BAR_BUTTON_ITEM_CAPTION = v_q.BAR_BUTTON_ITEM_CAPTION; db.SaveChanges(); } } v_lst_ht_quyen = db.HT_QUYEN.ToList(); //2.2 Them vao database nhung menu co trong form nhung chua co trong database foreach (var q in v_lst_menu) { if (!v_lst_ht_quyen.Exists(x => x.RIBBON_PAGE_GROUP_NAME == q.RIBBON_PAGE_GROUP_NAME && x.RIBBON_PAGE_NAME == q.RIBBON_PAGE_NAME && x.BAR_BUTTON_ITEM_NAME == q.BAR_BUTTON_ITEM_NAME)) { db.HT_QUYEN.Add(q); db.SaveChanges(); v_lst_ht_quyen = db.HT_QUYEN.ToList(); } } } }
private void m_cmd_dang_nhap_Click(object sender, EventArgs e) { using(QuanLyKhoEntities db=new QuanLyKhoEntities()) { var nsd = db.HT_NGUOI_SU_DUNG .Where(x => x.TEN_TRUY_CAP == m_txt_ten_dang_nhap.Text && x.MAT_KHAU == m_txt_mat_khau.Text) .FirstOrDefault(); if (nsd!=null) { Current_User.InitialUser(nsd.ID); QuanLyKho.F001_Main v_frm = new F001_Main(); this.Hide(); v_frm.display_main_form(this); } else { MessageBox.Show("Tên truy cập hoặc mật khẩu không đúng!", "Cảnh báo", MessageBoxButtons.OK); m_txt_ten_dang_nhap.Focus(); } } }