Wednesday, February 3, 2021

Sitecore item serialize Custom Item

 public partial class CustomCountryItem : CustomItem

    {

        public CustomCountryItem(Item innerItem) : base(innerItem)

        {

        }


        public static implicit operator CustomCountryItem(Item innerItem)

        {

            return innerItem != null ? new CustomCountryItem(innerItem) : null;

        }


        public static implicit operator Item(CustomCountryItem customItem)

        {

            return customItem != null ? customItem.InnerItem : null;

        }


        //public string Title

        //{

        //    get { return InnerItem["Display Text"]; }

        //}


        public string CountryCode

        {

            get { return InnerItem["Country Code"]; }

        }


        public string CountryDomain

        {

            get { return InnerItem["Country Domain"]; }

        }


        //public string DisplayText

        //{

        //    get { return InnerItem["Display Text"]; }

        //}


        //public string BrandUrl

        //{

        //    get { return InnerItem["BrandUrl"]; }

        //}

    }





=============

using Newtonsoft.Json;


namespace Globus.Foundation.Extensions.Models.CustomItems

{

    [JsonObject(MemberSerialization.OptIn)]

    public partial class CustomCountryItem

    {

        [JsonProperty("Name")]

        public string JsonTitle

        {

            get { return this.Name; }

        }


        [JsonProperty("CountryCode")]

        public string JsonCountryCode

        {

            get { return CountryCode; }

        }


        [JsonProperty("CountryDomain")]

        public string JsonCountryDomain

        {

            get { return CountryDomain; }

        }

    }

}



===================

 List<Item> countries = countriesItem.Children.InnerChildren;


                    var customCountries = countries.Select(x => new CustomCountryItem(x));


No comments:

Post a Comment