Aqueduct.SitecoreLib.DataAccess.ValueResolvers.LinkValueResolver.ResolveEntityPropertyValue C# (CSharp) Method

ResolveEntityPropertyValue() public method

public ResolveEntityPropertyValue ( string rawValue, Type propertyType ) : object
rawValue string
propertyType System.Type
return object
        public object ResolveEntityPropertyValue(string rawValue, Type propertyType)
        {
            if (String.IsNullOrEmpty(rawValue))
            {
                return null;
            }

            try
            {
                if (rawValue.IsGuid())
                {
                    Guid linkId = new Guid(rawValue);
                    Item item = Context.Database.GetItem(new ID(linkId));
                    return new Link { Id = linkId, LinkType = LinkTypes.Internal, Caption = item.Name, Url = item.GetItemUrl() };
                }
                else
                {
                    XDocument xmlField = XDocument.Parse(rawValue);
                    XElement linkElement = xmlField.Element("link");
                    return LinkUrl.GetUrl(linkElement, Context.Database);
                }
            }
            catch (Exception)
            {
                // not xml or guid
                return null;
            }
        }