Exemplo n.º 1
0
        protected void GetAllSecurables()
        {
            var securablesAll = new POSAccount.BusinessFactory.RoleRightsBO()
                                .GetSecurableItemsList();

            Application["AppSecurables"] = securablesAll;
        }
Exemplo n.º 2
0
        public ActionResult RoleRights(string Role = "")
        {
            List <POSAccount.ViewModals.Search.LayoutMenuRights> lstMenu = new List <POSAccount.ViewModals.Search.LayoutMenuRights>();

            if (!string.IsNullOrWhiteSpace(Role))
            {
                var lstUsers   = new POSAccount.BusinessFactory.UsersBO().GetList();
                var roleRights = new POSAccount.BusinessFactory.RoleRightsBO()
                                 .GetList(Role);

                var securablesAll = (List <POSAccount.Contract.Securables>)System.Web.HttpContext.Current.Application["AppSecurables"];

                var securables = securablesAll.Join(roleRights,
                                                    sec => sec.SecurableItem,
                                                    rig => rig.SecurableItem,
                                                    (sec, rig) => new { a = sec, b = rig })
                                 .Select(x => new POSAccount.Contract.Securables()
                {
                    SecurableItem  = x.a.SecurableItem,
                    GroupID        = x.a.GroupID,
                    Description    = x.a.Description,
                    ActionType     = x.a.ActionType,
                    Link           = x.a.Link,
                    Icon           = x.a.Icon,
                    Sequence       = x.a.Sequence,
                    ParentSequence = x.a.ParentSequence
                })
                                 .ToList <POSAccount.Contract.Securables>();


                var menuItems = securablesAll.Where(x => x.ActionType == "TopMenu")
                                .Select(x => new { securableItem = x.SecurableItem, Icon = x.Icon, GroupId = x.GroupID }).Distinct().ToList();


                for (var i = 0; i < menuItems.Count; i++)
                {
                    POSAccount.ViewModals.Search.LayoutMenuRights item = new POSAccount.ViewModals.Search.LayoutMenuRights();
                    item.MenuName      = menuItems[i].securableItem;
                    item.Icon          = menuItems[i].Icon;
                    item.securablesLst = securablesAll.Where(x => x.GroupID == menuItems[i].securableItem && (x.ActionType == "Menu"))
                                         .Select(x => new POSAccount.ViewModals.Search.SecurablesRights
                    {
                        SecurableItem  = x.SecurableItem,
                        GroupID        = x.GroupID,
                        Description    = x.Description,
                        ActionType     = x.ActionType,
                        Link           = x.Link,
                        Icon           = x.Icon,
                        hasRight       = (securables.Where(j => j.SecurableItem == x.SecurableItem).Count() > 0),
                        Sequence       = x.Sequence,
                        ParentSequence = x.ParentSequence,
                        ActionMenus    = securablesAll.Where(y => y.GroupID == menuItems[i].securableItem && (y.ActionType == "Action") && y.ParentSequence == x.Sequence)
                                         .Select(y => new POSAccount.ViewModals.Search.SecurablesRights
                        {
                            SecurableItem  = y.SecurableItem,
                            GroupID        = y.GroupID,
                            Description    = y.Description,
                            ActionType     = y.ActionType,
                            Link           = y.Link,
                            Icon           = y.Icon,
                            hasRight       = (securables.Where(jk => jk.SecurableItem == y.SecurableItem).Count() > 0),
                            Sequence       = y.Sequence,
                            ParentSequence = y.ParentSequence
                        }).ToList <POSAccount.ViewModals.Search.SecurablesRights>()
                    }).OrderBy(x => x.ParentSequence).ToList <POSAccount.ViewModals.Search.SecurablesRights>();

                    if (item.securablesLst.Count > 0)
                    {
                        lstMenu.Add(item);
                    }
                }

                ViewBag.RoleCode = Role;
            }

            return(View("RoleRights", lstMenu));
        }
Exemplo n.º 3
0
        public ActionResult SaveRights(List <POSAccount.ViewModals.Search.RoleRightsMenu> right)
        {
            try
            {
                var lstRoleRights = new List <POSAccount.Contract.RoleRights>();

                right.Where(r => r.hasRight == true)
                .ToList()
                .ForEach(r => lstRoleRights.Add(new Contract.RoleRights {
                    RoleCode = r.RoleCode, SecurableItem = r.SecurableItem
                }));

                var result = new POSAccount.BusinessFactory.RoleRightsBO().SaveRoleRights(lstRoleRights);

                /* new code */

                /*
                 * List<POSAccount.ViewModals.Search.LayoutMenu> lstMenu = new List<POSAccount.ViewModals.Search.LayoutMenu>();
                 * var roleRights = new POSAccount.BusinessFactory.RoleRightsBO()
                 *              .GetList(Utility.USERROLE);
                 *
                 * var securablesAll = (List<POSAccount.Contract.Securables>)System.Web.HttpContext.Current.Application["AppSecurables"];
                 *
                 * var securables = securablesAll.Join(roleRights,
                 *                  sec => sec.SecurableItem,
                 *                  rig => rig.SecurableItem,
                 *                  (sec, rig) => new { a = sec, b = rig })
                 *              .Select(x => new POSAccount.Contract.Securables()
                 *              {
                 *                  SecurableItem = x.a.SecurableItem,
                 *                  GroupID = x.a.GroupID,
                 *                  Description = x.a.Description,
                 *                  ActionType = x.a.ActionType,
                 *                  Link = x.a.Link,
                 *                  Icon = x.a.Icon
                 *              })
                 *              .ToList<POSAccount.Contract.Securables>();
                 *
                 *
                 * var menuItems = securablesAll.Where(x => x.ActionType == "TopMenu")
                 *                  .Select(x => new { securableItem = x.SecurableItem, Icon = x.Icon, GroupId = x.GroupID, Sequence = x.Sequence }).Distinct().ToList().OrderBy(x => x.Sequence).ToList();
                 *
                 *
                 *
                 * for (var i = 0; i < menuItems.Count; i++)
                 * {
                 *  POSAccount.ViewModals.Search.LayoutMenu item = new POSAccount.ViewModals.Search.LayoutMenu();
                 *  item.MenuName = menuItems[i].securableItem;
                 *  item.Icon = menuItems[i].Icon;
                 *  item.securablesLst = securables.Where(x => x.GroupID == menuItems[i].securableItem)
                 *                                 .ToList<POSAccount.Contract.Securables>();
                 *
                 *  if (item.securablesLst.Count > 0)
                 *  {
                 *      lstMenu.Add(item);
                 *  }
                 * }
                 * Session["SsnUserRights"] = lstMenu;
                 */
                /* new code */
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Error", ex.Message);
            }
            // return Json(new { success = true, Message = "Role-Rights saved successfully."});

            return(RedirectToAction("RoleRights"));
        }