Пример #1
0
        public void CustomizeCodeDomIsIntersect()
        {
            var ents = new TestMetadata(filterService);

            var testMany = new EntityMetadata
            {
                LogicalName = "ee_testmany",
                DisplayName = "Test Many".AsLabel()
            }.Set(x => x.IsIntersect, true);

            testMany.AddManyToMany(filterService, new ManyToManyRelationshipMetadata
            {
                Entity1LogicalName        = "ee_testparent",
                Entity1IntersectAttribute = "ee_testparentid",
                Entity2LogicalName        = "ee_test",
                Entity2IntersectAttribute = "ee_testid",
                SchemaName = "schema"
            });
            ents.Add(testMany);

            organizationMetadata.Entities.Returns(ents.ToArray());

            var codeCompileUnit = new CodeCompileUnit
            {
                Namespaces =
                {
                    new CodeNamespace("Test Many")
                    {
                        Types =
                        {
                            new CodeTypeDeclaration {
                                CustomAttributes =  { Build <EntityLogicalNameAttribute>("ee_testmany") },
                                Members          =
                                {
                                    new CodeMemberProperty
                                    {
                                        Name             = "Schema",
                                        CustomAttributes ={ Build <RelationshipSchemaNameAttribute>("schema") }
                                    }
                                }
                            }
                        }
                    }
                }
            };

            var sut = new CodeCustomistationService(parameters);

            sut.CustomizeCodeDom(codeCompileUnit, serviceProvider);

            var members = codeCompileUnit.Namespaces.Cast <CodeNamespace>().First().Types.Cast <CodeTypeDeclaration>().First().Members.OfType <CodeMemberProperty>();

            Assert.IsNull(members.FirstOrDefault(x => x.Name == "Schema"));
        }