Ejemplo n.º 1
0
            public static int GenerateGraph(RelationalModelRepository repo, EntityPivot parent, int depth, int maxDepth, int branchSize)
            {
                if (depth == maxDepth)
                    return 0;

                var runningTotalCreated = 0;

                var children = new List<Relation>();
                for (var i = 0; i < branchSize; i++)
                {
                    var child = new EntityPivot(parent) { Id = Guid.NewGuid() };
                    var relation = new ContentOneToManyRelation(parent, child);
                    children.Add(relation);

                    children.AddRange(from permissionEntity in GetPermissionEntities(child)
                                      let metadata = new RelationMetadata(PermissionRelationType.Default)
                                                         {
                                                             {"allow", "read"},
                                                             {"deny", "write"}
                                                         }
                                      select new PermissionRelation(metadata, child, permissionEntity));

                    runningTotalCreated++;
                    runningTotalCreated += GenerateGraph(repo, child, depth + 1, maxDepth, branchSize);
                }
                parent.AddAssociates(children);
                return runningTotalCreated;
            }
Ejemplo n.º 2
0
            public static int GenerateGraph(RelationalModelRepository repo, EntityPivot parent, int depth, int maxDepth, int branchSize)
            {
                if (depth == maxDepth)
                {
                    return(0);
                }

                var runningTotalCreated = 0;

                var children = new List <Relation>();

                for (var i = 0; i < branchSize; i++)
                {
                    var child = new EntityPivot(parent)
                    {
                        Id = Guid.NewGuid()
                    };
                    var relation = new ContentOneToManyRelation(parent, child);
                    children.Add(relation);

                    children.AddRange(from permissionEntity in GetPermissionEntities(child)
                                      let metadata = new RelationMetadata(PermissionRelationType.Default)
                    {
                        { "allow", "read" },
                        { "deny", "write" }
                    }
                                      select new PermissionRelation(metadata, child, permissionEntity));

                    runningTotalCreated++;
                    runningTotalCreated += GenerateGraph(repo, child, depth + 1, maxDepth, branchSize);
                }
                parent.AddAssociates(children);
                return(runningTotalCreated);
            }