public JsonResult GetRightInModule(int module, int UserID)
        {
            var locRights = db.SP_GETUSERLOCATIONS(1, Int32.Parse(Session["UserID"].ToString())).ToList();

            if (UserID > 0)
            {
                Rights rights = new Rights();

                rights.Accept = new List <FunctionRight>();
                rights.Deny   = new List <FunctionRight>();

                if (UserID == 1)
                {
                    foreach (var r in db.FPT_ADMIN_GET_RIGHTS_ACCEPT(module, UserID).ToList())
                    {
                        rights.Accept.Add(new FunctionRight()
                        {
                            ID    = r.ID,
                            Right = r.Right
                        });
                    }
                    foreach (var r in db.FPT_ADMIN_GET_RIGHTS_DENY_ADMIN(module).ToList())
                    {
                        rights.Deny.Add(new FunctionRight()
                        {
                            ID    = r.ID,
                            Right = r.Right
                        });
                    }
                }
                else
                {
                    foreach (var r in db.FPT_ADMIN_GET_RIGHTS_ACCEPT(module, UserID).ToList())
                    {
                        rights.Accept.Add(new FunctionRight()
                        {
                            ID    = r.ID,
                            Right = r.Right
                        });
                    }
                    foreach (var r in db.FPT_ADMIN_GET_RIGHTS_DENY(module, UserID, Int32.Parse(Session["UserID"].ToString())).ToList())
                    {
                        rights.Deny.Add(new FunctionRight()
                        {
                            ID    = r.ID,
                            Right = r.Right
                        });
                    }
                }


                rights.AcceptLoc = new List <LocRight>();
                rights.DenyLoc   = new List <LocRight>();

                var strCirLocs = new ObjectParameter("strCirLocs", typeof(string));
                var strAcqLocs = new ObjectParameter("strAcqLocs", typeof(string));
                var strSerLocs = new ObjectParameter("strSerLocs", typeof(string));
                db.SP_ADMIN_GET_LOCATION_INFOR(UserID, strCirLocs, strAcqLocs, strSerLocs);
                if (module == 3)
                {
                    foreach (var r in locRights)
                    {
                        bool checkDeny = true;
                        foreach (var l in strCirLocs.Value.ToString().Split(','))
                        {
                            if (l == r.ID.ToString())
                            {
                                checkDeny = false;
                            }
                        }
                        if (checkDeny)
                        {
                            rights.DenyLoc.Add(new LocRight()
                            {
                                ID      = r.ID,
                                LocName = r.LOCNAME
                            });
                        }
                        else
                        {
                            rights.AcceptLoc.Add(new LocRight()
                            {
                                ID      = r.ID,
                                LocName = r.LOCNAME
                            });
                        }
                    }
                }
                if (module == 4)
                {
                    foreach (var r in locRights)
                    {
                        bool checkDeny = true;
                        foreach (var l in strAcqLocs.Value.ToString().Split(','))
                        {
                            if (l == r.ID.ToString())
                            {
                                checkDeny = false;
                            }
                        }
                        if (checkDeny)
                        {
                            rights.DenyLoc.Add(new LocRight()
                            {
                                ID      = r.ID,
                                LocName = r.LOCNAME
                            });
                        }
                        else
                        {
                            rights.AcceptLoc.Add(new LocRight()
                            {
                                ID      = r.ID,
                                LocName = r.LOCNAME
                            });
                        }
                    }
                }
                if (module == 5)
                {
                    foreach (var r in locRights)
                    {
                        bool checkDeny = true;
                        foreach (var l in strSerLocs.Value.ToString().Split(','))
                        {
                            if (l == r.ID.ToString())
                            {
                                checkDeny = false;
                            }
                        }
                        if (checkDeny)
                        {
                            rights.DenyLoc.Add(new LocRight()
                            {
                                ID      = r.ID,
                                LocName = r.LOCNAME
                            });
                        }
                        else
                        {
                            rights.AcceptLoc.Add(new LocRight()
                            {
                                ID      = r.ID,
                                LocName = r.LOCNAME
                            });
                        }
                    }
                }
                return(Json(rights, JsonRequestBehavior.AllowGet));
            }
            else
            {
                RightsWhenCreate rights = new RightsWhenCreate();
                rights.Accept = new List <FunctionRight>();
                rights.Deny   = new List <FunctionRight>();

                foreach (var r in db.FPT_ADMIN_GET_RIGHTS_WHEN_CREATE(module, Int32.Parse(Session["UserID"].ToString()), 1).ToList())
                {
                    rights.Accept.Add(new FunctionRight()
                    {
                        ID    = r.ID,
                        Right = r.Right
                    });
                }
                foreach (var r in db.FPT_ADMIN_GET_RIGHTS_WHEN_CREATE(module, Int32.Parse(Session["UserID"].ToString()), 0).ToList())
                {
                    rights.Deny.Add(new FunctionRight()
                    {
                        ID    = r.ID,
                        Right = r.Right
                    });
                }
                rights.AcceptLoc = new List <LocRight>();
                rights.DenyLoc   = new List <LocRight>();
                foreach (var l in locRights)
                {
                    rights.DenyLoc.Add(new LocRight()
                    {
                        ID      = l.ID,
                        LocName = l.LOCNAME
                    });
                }
                return(Json(rights, JsonRequestBehavior.AllowGet));
            }
        }