Ejemplo n.º 1
0
        public static TargetContentItemPermissionViewModel DecodeGroupId(string groupId)
        {
            if (string.IsNullOrEmpty(groupId))
            {
                return(null);
            }

            string[] parts = groupId.Split(new[] { ':' });
            if (parts.Length > 0)
            {
                int id = int.Parse(parts[1]);
                TargetContentItemPermissionViewModel targetContentItemPermissionViewModel = new TargetContentItemPermissionViewModel {
                    Checked = true
                };
                if (parts[0] == "Team")
                {
                    targetContentItemPermissionViewModel.TeamId = id;
                }
                else
                {
                    targetContentItemPermissionViewModel.BusinessUnitId = id;
                }

                return(targetContentItemPermissionViewModel);
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 2
0
        private bool HasAccessToTheContent(IContent content, TargetContentItemPermissionViewModel target)
        {
            if (content == null)
            {
                return(false);
            }

            var contentPermissionPart = content.As <ContentItemPermissionPart>();

            if (contentPermissionPart == null)
            {
                return(false);
            }

            var items = contentPermissionPart.Record.Items;

            if (items == null || items.Count == 0)
            {
                return(false);
            }

            if (target.UserId.HasValue)
            {
                return(items.Any(c => c.User != null && c.User.Id == target.UserId.Value));
            }
            else if (target.BusinessUnitId.HasValue)
            {
                return(items.Any(c => c.BusinessUnit != null && c.BusinessUnit.Id == target.BusinessUnitId.Value));
            }
            else if (target.TeamId.HasValue)
            {
                return(items.Any(c => c.Team != null && c.Team.Id == target.TeamId.Value));
            }

            return(true);
        }