Example #1
0
        private void SetIndexViewControlPermission()
        {
            GenericAccessPermission permssion = new GenericAccessPermission();

            if (User.UserTypeID == DBEnums.UserType.Admin)
            {
                foreach (var prop in typeof(GenericAccessPermission).GetProperties())
                {
                    Utilities.Utility.SetPropertyValue(ref permssion, prop.Name, true);
                }
            }
            else
            {
                //get user permission
                var UserPermissions = new UserRoleServiceAccessModel <UserRoleServiceAccessViewModel>().GetUserPermissiom(User.UserId, true).ToList();
                permssion.ViewPermission    = UserPermissions.Any(x => x.ServiceId == ServiceId && x.AccessTypeId == DBEnums.AccessType.View);
                permssion.AddPermission     = UserPermissions.Any(x => x.ServiceId == ServiceId && x.AccessTypeId == DBEnums.AccessType.Add);
                permssion.EditPermission    = UserPermissions.Any(x => x.ServiceId == ServiceId && x.AccessTypeId == DBEnums.AccessType.Edit);
                permssion.DetailsPermission = UserPermissions.Any(x => x.ServiceId == ServiceId && x.AccessTypeId == DBEnums.AccessType.Details);
                permssion.DeletePermission  = UserPermissions.Any(x => x.ServiceId == ServiceId && x.AccessTypeId == DBEnums.AccessType.Delete);
                permssion.ExportPermission  = UserPermissions.Any(x => x.ServiceId == ServiceId && x.AccessTypeId == DBEnums.AccessType.Export);
                permssion.ImportPermission  = UserPermissions.Any(x => x.ServiceId == ServiceId && x.AccessTypeId == DBEnums.AccessType.Import);
            }
            ViewBag.Permission = permssion;
        }
Example #2
0
        public override bool IsVisible(ISiteMapNode node, IDictionary <string, object> sourceMetadata)
        {
            //get current user
            UserViewModel CurrentUser = new UserViewModel().GetUserFromSession();
            List <UserRoleServiceAccessViewModel> UserPermissions = new UserRoleServiceAccessModel <UserRoleServiceAccessViewModel>().GetSavedUserPermission();
            string nodeServiceTag = null;

            if (node.Attributes.Keys.Contains("serivceTag"))
            {
                nodeServiceTag = node.Attributes["serivceTag"].ToString();
            }

            bool isVisible = false;
            Guid userId    = new Guid(sourceMetadata["UserId"].ToString());

            if (CurrentUser == null || (userId != null && CurrentUser.UserId != userId))
            {
                CurrentUser = new UserViewModel().GetUserFromSession();
            }

            if (CurrentUser != null) //&& user.EmployeeId != null
            {
                if (UserModel <User> .IsAdmin(CurrentUser))
                {
                    isVisible = true;
                }
                else
                {
                    if (node.Title == "Dashboard")
                    {
                        return(true);
                    }
                    if (UserPermissions == null || (userId != null && CurrentUser.UserId != userId))
                    {
                        UserPermissions = new UserRoleServiceAccessModel <UserRoleServiceAccessViewModel>().GetData(userId: CurrentUser.UserId, fromView: true).ToList();
                    }

                    if (node.HasChildNodes)
                    {
                        //isVisible = true;
                        isVisible = node.ChildNodes.Where(x => x.HasChildNodes == false).Any(x => UserPermissions.Any(y => y.ServiceName == x.Title && y.AccessTypeId == DBEnums.AccessType.View));
                    }
                    else
                    {
                        isVisible = UserPermissions.Any(x => x.ServiceTag == nodeServiceTag && x.AccessTypeId == DBEnums.AccessType.View);
                    }
                }
            }
            return(isVisible);
        }
Example #3
0
        public bool UserHasPermission(Guid accessType)
        {
            if (UserPermission == null)
            {
                UserPermission = new UserRoleServiceAccessModel <UserRoleServiceAccessViewModel>().GetSavedUserPermission();
            }

            bool grantPermission = false;

            if (User.UserTypeID == DBEnums.UserType.Admin)
            {
                grantPermission = true;
            }
            else
            {
                grantPermission = UserPermission.Any(x => x.ServiceId == ServiceId && x.AccessTypeId == accessType);
            }
            return(grantPermission);
        }