public NHOM_ND_CHUCNANG THEM_CHUC_NANG(string mA_NHOM, int?mA_CHUC_NANG, int?mA_QUYEN) { NHOM_ND_CHUCNANG nHOM_ND_CHUCNANG = new NHOM_ND_CHUCNANG(); nHOM_ND_CHUCNANG.MA_NHOM = mA_NHOM; nHOM_ND_CHUCNANG.MA_CHUC_NANG = mA_CHUC_NANG; nHOM_ND_CHUCNANG.MA_QUYEN = mA_QUYEN; return(nHOM_ND_CHUCNANG); }
public async Task <ActionResult> Index(string SAVE, FormCollection form) { var pHAN_QUYEN = db.NHOM_ND_CHUCNANG.Where(a => a.MA_NHOM == Session["NHOM_ND"].ToString() && a.MA_CHUC_NANG == 17); ViewBag.Them = pHAN_QUYEN.Where(a => a.MA_QUYEN == 1); //ViewBag.Sua = pHAN_QUYEN.Where(a => a.MA_QUYEN == 3); if (!String.IsNullOrEmpty(SAVE)) { if (String.IsNullOrEmpty(form["MA_NHOM"])) { ViewBag.ErrorMessage = "Xin nhóm người dùng"; } else { var mA_NHOM = form["MA_NHOM"].ToString(); List <NHOM_ND_CHUCNANG> cAC_CHUC_NANG_TREN_DB = db.NHOM_ND_CHUCNANG.Where(a => a.MA_NHOM == mA_NHOM).ToList(); string[] checkedBox = form.GetValues("check"); //Tạo nhóm ND - chức năng //Nếu nhóm ND chưa có chức năng nào if (cAC_CHUC_NANG_TREN_DB.Count < 1) { foreach (var item in checkedBox) { string[] sPLIT = item.Split(new char[] { '.' }); NHOM_ND_CHUCNANG create_NHOM_ND_CHUCNANG = THEM_CHUC_NANG( form["MA_NHOM"], Int32.Parse(sPLIT[0]), Int32.Parse(sPLIT[1])); db.NHOM_ND_CHUCNANG.Add(create_NHOM_ND_CHUCNANG); await db.SaveChangesAsync(); } } //Nếu nhóm ND đã có nhiều chức năng else { //List các chức năng trên giao diện web List <NHOM_ND_CHUCNANG> cAC_CHUC_NANG_TREN_WEB = new List <NHOM_ND_CHUCNANG>(); //Thêm chức năng cho nhóm người dùng foreach (var item in checkedBox) { string[] sPLIT = item.Split(new char[] { '.' }); NHOM_ND_CHUCNANG nHOM_ND_CHUCNANG = THEM_CHUC_NANG( form["MA_NHOM"], Int32.Parse(sPLIT[0]), Int32.Parse(sPLIT[1])); //Kiểm tra nhóm người dùng đã có chức năng này hay chưa?? if (cAC_CHUC_NANG_TREN_DB.FirstOrDefault(a => a.MA_CHUC_NANG == Int32.Parse(sPLIT[0]) && a.MA_QUYEN == Int32.Parse(sPLIT[1])) == null) { db.NHOM_ND_CHUCNANG.Add(nHOM_ND_CHUCNANG); await db.SaveChangesAsync(); } //Thêm tất cả các chức năng trên giao diện vào list để kiểm tra và chỉnh sửa cAC_CHUC_NANG_TREN_WEB.Add(nHOM_ND_CHUCNANG); } //Chỉnh sửa chức năng cho nhóm người dùng foreach (var itemA in cAC_CHUC_NANG_TREN_DB) { if (cAC_CHUC_NANG_TREN_WEB.FirstOrDefault(a => a.MA_CHUC_NANG == itemA.MA_CHUC_NANG && a.MA_QUYEN == itemA.MA_QUYEN) == null) { //Xóa db.NHOM_ND_CHUCNANG.Remove(itemA); await db.SaveChangesAsync(); } } } ViewBag.ErrorMessage = "Lưu thành công"; } } return(View(await db.PHAN_QUYEN.ToListAsync())); }