Esempio n. 1
0
        static public AuthoriseReferenceStrategyInfo ExtractAuthoriseReferenceStrategyInfo(Type type, AuthoriseReferenceStrategyAttribute attribute)
        {
            AuthoriseReferenceStrategyInfo info = new AuthoriseReferenceStrategyInfo();

            info.TypeName           = attribute.TypeName;
            info.ReferenceProperty  = attribute.PropertyName;
            info.ReferencedTypeName = attribute.ReferencedTypeName;
            info.MirrorProperty     = attribute.MirrorPropertyName;
            info.StrategyType       = type.FullName + ", " + type.Assembly.GetName().Name;

            return(info);
        }
Esempio n. 2
0
        static public string GetStrategyKey(StrategyInfo strategy)
        {
            if (strategy is AuthoriseReferenceStrategyInfo)
            {
                AuthoriseReferenceStrategyInfo authoriseStrategy = (AuthoriseReferenceStrategyInfo)strategy;

                return(GetAuthoriseReferenceStrategyKey(authoriseStrategy.TypeName, authoriseStrategy.ReferenceProperty, authoriseStrategy.ReferencedTypeName, authoriseStrategy.MirrorProperty));
            }
            else
            {
                return(GetStrategyKey(strategy.Action, strategy.TypeName));
            }
        }
Esempio n. 3
0
        public void Test_ExtractInfo_AuthoriseReferenceStrategy()
        {
            AuthoriseReferenceMockPublicEntityStrategy strategy = new AuthoriseReferenceMockPublicEntityStrategy();

            StrategyInfo info = StrategyInfo.ExtractInfo(strategy.GetType())[0];

            Assert.IsTrue(info is AuthoriseReferenceStrategyInfo, "Should have returned an AuthoriseReferenceStrategyInfo object.");

            AuthoriseReferenceStrategyInfo authoriseStrategyInfo = (AuthoriseReferenceStrategyInfo)info;

            Assert.AreEqual("MockEntity", authoriseStrategyInfo.TypeName, "Type name doesn't match what's expected.");
            Assert.AreEqual("MockPublicEntity", authoriseStrategyInfo.ReferencedTypeName, "Type name doesn't match what's expected.");
            Assert.AreEqual("AuthoriseReference", authoriseStrategyInfo.Action, "Action doesn't match what's expected.");
            Assert.AreEqual("PublicEntities", authoriseStrategyInfo.ReferenceProperty, "Reference property doesn't match what's expected.");
            Assert.AreEqual("", authoriseStrategyInfo.MirrorProperty, "Mirror property doesn't match what's expected.");

            Assert.AreEqual(strategy.GetType().FullName + ", " + strategy.GetType().Assembly.GetName().Name, info.StrategyType, "Strategy type doesn't match what's expected.");
        }