Esempio n. 1
0
 private static List<ResourceMethod> GetExceptions(Resource builder)
 {
     var exceptions = new List<ResourceMethod>();
     builder.Exceptions.ForEach(exception => exceptions.Add(exception));
     return exceptions;
 }
Esempio n. 2
0
 private static List<ResourceData> GetNested(Resource builder)
 {
     var nested = new List<ResourceData>();
     builder.Nested.ForEach(resource => nested.Add(resource));
     return nested;
 }
Esempio n. 3
0
        private static List<string> GetActions(Resource builder, ResourceMemberType type)
        {
            var actions = new List<string>();
            builder.Actions.Where(a => a.Type == type).ToList()
                .ForEach(action => actions.Add(action.Action));

            return actions;
        }
Esempio n. 4
0
        public static ResourceData Build(Resource builder, bool shallow = false)
        {
            var data = new ResourceData()
            {
                Name = builder.Name,
                Scope = builder.Scope,
                Collection = GetActions(builder, ResourceMemberType.Collection),
                Member = GetActions(builder, ResourceMemberType.Member),
                Except = GetExceptions(builder)
            };

            if (builder.Parent != null)
            {
                data.Parent = Build(builder.Parent, true);
            }

            if (!shallow)
            {
                data.Nested = GetNested(builder);
            }

            return data;
        }