Пример #1
0
        public IEnumerable <UmbracoEntityReference> GetReferences(object value)
        {
            List <UmbracoEntityReference> references = new List <UmbracoEntityReference>();

            if (value is not string json)
            {
                return(references);
            }

            IRedirectDestination destination = OutboundRedirect.Deserialize(json)?.Destination;

            if (destination == null)
            {
                return(references);
            }

            switch (destination.Type)
            {
            case RedirectDestinationType.Media:
                references.Add(new UmbracoEntityReference(new GuidUdi("media", destination.Key)));
                break;

            case RedirectDestinationType.Content:
                references.Add(new UmbracoEntityReference(new GuidUdi("content", destination.Key)));
                break;
            }

            return(references);
        }
 public RedirectDestinationModel(IRedirect redirect, IContent content)
 {
     _destination  = redirect.Destination;
     Name          = content?.Name ?? redirect.Destination.Name;
     Icon          = content?.ContentType.Icon ?? "icon-article";
     IsNull        = content == null;
     IsTrashed     = content?.Trashed ?? false;
     IsPublished   = content?.Published ?? false;
     BackOfficeUrl = $"/umbraco/#/content/content/edit/{redirect.Destination.Id}";
 }
 public RedirectDestinationModel(IRedirect redirect, IMedia media)
 {
     _destination  = redirect.Destination;
     Name          = media?.Name ?? redirect.Destination.Name;
     Icon          = media?.ContentType.Icon ?? "icon-picture";
     IsNull        = media == null;
     IsTrashed     = media?.Trashed ?? false;
     IsPublished   = !IsNull;
     BackOfficeUrl = $"/umbraco/#/media/media/edit/{redirect.Destination.Id}";
 }
        public RedirectDestinationModel(IRedirectDestination destination)
        {
            _destination = destination;

            switch (Type)
            {
            case RedirectDestinationType.Content:
                Icon          = "icon-article";
                BackOfficeUrl = $"/umbraco/#/content/content/edit/{destination.Id}";
                break;

            case RedirectDestinationType.Media:
                Icon          = "icon-picture";
                BackOfficeUrl = $"/umbraco/#/media/media/edit/{destination.Id}";
                IsPublished   = true;
                break;

            default:
                Icon        = "icon-link";
                IsPublished = true;
                break;
            }
        }