示例#1
0
        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);
        }
示例#2
0
        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()));
        }