Esempio n. 1
0
        public void CanIdentifyEnabledSocialFeatures()
        {
            var socialConfig = new SocialFeaturesElement
            {
                Enabled     = true,
                TwitterId   = "mytwitterid",
                GithubId    = "mygithubid",
                FacebookId  = "my.facebook",
                PinterestId = ""
            };

            var enabledFeatures = SocialFeatureList.CreateFrom(socialConfig);

            Assert.IsNotNull(enabledFeatures);
            Assert.AreEqual(3, enabledFeatures.Count);

            var twitter = enabledFeatures.SingleOrDefault(e => e.FeatureName == "TwitterId");

            Assert.IsNotNull(twitter);
            Assert.AreEqual("mytwitterid", twitter.FeatureValue);
            Assert.AreEqual("twitter", twitter.FeatureImagePart);

            var github = enabledFeatures.SingleOrDefault(e => e.FeatureName == "GithubId");

            Assert.IsNotNull(github);
            Assert.AreEqual("mygithubid", github.FeatureValue);
            Assert.AreEqual("github", github.FeatureImagePart);

            var facebook = enabledFeatures.SingleOrDefault(e => e.FeatureName == "FacebookId");

            Assert.IsNotNull(facebook);
            Assert.AreEqual("my.facebook", facebook.FeatureValue);
            Assert.AreEqual("facebook", facebook.FeatureImagePart);
        }
Esempio n. 2
0
        public static List <SocialFeature> CreateFrom(SocialFeaturesElement socialFeatures)
        {
            const BindingFlags bindingFlags = BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly;
            var properties  = typeof(SocialFeaturesElement).GetProperties(bindingFlags).Where(p => p.Name != "Enabled").ToList();
            var featureList = properties.Select(p => new SocialFeature
            {
                FeatureName      = p.Name,
                FeatureValue     = (string)p.GetValue(socialFeatures, null),
                FeatureImagePart = GetImageValue(p.Name)
            });

            return(featureList.Where(p => !string.IsNullOrEmpty(p.FeatureValue)).ToList());
        }