示例#1
0
        public ActionResult Create(AccessRightCreateModel model)
        {
            if (model.UserTypePage != null)
            {
                //Reset cache for pagerightaccess & pagemenu
                Erp.BackOffice.Helpers.CacheHelper.PagesAccessRight = null;
                Erp.BackOffice.Helpers.CacheHelper.PagesMenu        = null;

                using (var scope = new TransactionScope(TransactionScopeOption.Required))
                {
                    try
                    {
                        // TODO: Add insert logic here

                        _userTypePageRepository.DeleteAll();

                        foreach (string userTypePage in model.UserTypePage)
                        {
                            // value PageId-UserTypeId
                            string[] arrVal = userTypePage.Split('-');
                            var      userTypePageViewModel = new UserTypePageViewModel
                            {
                                PageId     = int.Parse(arrVal[0], CultureInfo.InvariantCulture),
                                UserTypeId =
                                    int.Parse(arrVal[1], CultureInfo.InvariantCulture)
                            };

                            //add
                            var userTypePageModel = new UserTypePage();
                            AutoMapper.Mapper.Map(userTypePageViewModel, userTypePageModel);
                            _userTypePageRepository.Insert(userTypePageModel);
                        }
                        scope.Complete();

                        ViewBag.AlertMessage = App_GlobalResources.Wording.SaveAccessRightSuccessful;
                        return(RedirectToAction("Create"));
                    }
                    catch (DbUpdateException)
                    {
                        ViewBag.AlertMessage = App_GlobalResources.Wording.SaveAccessRightUnsuccessful;
                        return(View("Create"));
                    }
                }
            }
            return(RedirectToAction("Create"));
        }
示例#2
0
        public JsonResult GetUserTypePermission(string id)
        {
            var cResult  = "Error";
            var cMessage = "something wrong!";

            var lstPages = new List <Page>();

            if (!string.IsNullOrEmpty(id))
            {
                int oUserTypeId    = Convert.ToInt32(id);
                var oUserTypePages = new UserTypePage();
                oUserTypePages.UserTypeId = oUserTypeId;
                var oPages = new Page();

                var query = (
                    from userPage in _db.UserTypePages
                    join page in _db.Pages on userPage.PageId equals page.Id
                    select new
                {
                    userPage.UserTypeId,
                    page.Id,
                    page.Name,
                    page.Link,
                    page.ParentId,
                    page.OrderId,
                    page.InMenu,
                    page.ForAdmin,
                    page.NeedLogin,
                    page.IsActive,
                    page.Icon,
                    page.TypeId
                }).Where(x => x.UserTypeId == oUserTypeId).ToList();
                if (query.Count > 0)
                {
                    for (int i = 0; i < query.Count; i++)
                    {
                        var page = new Page
                        {
                            Id        = query[i].Id,
                            Name      = query[i].Name,
                            Link      = query[i].Link,
                            ParentId  = query[i].ParentId,
                            OrderId   = query[i].OrderId,
                            InMenu    = query[i].InMenu,
                            ForAdmin  = query[i].ForAdmin,
                            NeedLogin = query[i].NeedLogin,
                            IsActive  = query[i].IsActive,
                            Icon      = query[i].Icon,
                            TypeId    = query[i].TypeId
                        };
                        lstPages.Add(page);
                    }
                }
                var oResulPages = lstPages;
                if (oResulPages.Count > 0)
                {
                    lstPages = oResulPages;
                    cResult  = "OK";
                    cMessage = "Successfuly";
                }
            }

            return(Json(new
            {
                cResult,
                cMessage,
                lstPages
            },
                        JsonRequestBehavior.AllowGet));
        }
示例#3
0
        public ActionResult UserPermission()
        {
            var oModel = new UserPermissionModel();

            var oResult = _db.UserTypes.Where(x => x.IsDeleted == false).ToList();

            if (oResult.Count > 0)
            {
                oModel.LstUserTypes = User.UserTypeId == 1 ? oResult : oResult.Where(x => x.Id != 1).ToList();
            }

            var oUserTypePages = new UserTypePage();

            oUserTypePages.UserTypeId = User.UserTypeId;
            oModel.LstPages           = _db.Pages.ToList();

            var query = (
                from userPage in _db.UserTypePages
                join page in _db.Pages on userPage.PageId equals page.Id
                select new
            {
                userPage.UserTypeId,
                page.Id,
                page.Name,
                page.Link,
                page.ParentId,
                page.OrderId,
                page.InMenu,
                page.ForAdmin,
                page.NeedLogin,
                page.IsActive,
                page.Icon,
                page.TypeId
            }).Where(x => x.UserTypeId == User.UserTypeId).ToList();
            var lstPages = new List <Page>();

            if (query.Count > 0)
            {
                for (int i = 0; i < query.Count; i++)
                {
                    var page = new Page
                    {
                        Id        = query[i].Id,
                        Name      = query[i].Name,
                        Link      = query[i].Link,
                        ParentId  = query[i].ParentId,
                        OrderId   = query[i].OrderId,
                        InMenu    = query[i].InMenu,
                        ForAdmin  = query[i].ForAdmin,
                        NeedLogin = query[i].NeedLogin,
                        IsActive  = query[i].IsActive,
                        Icon      = query[i].Icon,
                        TypeId    = query[i].TypeId
                    };
                    lstPages.Add(page);
                }
            }
            var oResulPages = lstPages;

            if (oResulPages.Count > 0)
            {
                oModel.LstPages = oResulPages;
            }
            return(View(oModel));
        }