RemoveAll() public method

public RemoveAll ( ) : bool
return bool
Ejemplo n.º 1
0
        private void OnCreateContainer(object sender, ContainerEventArgs e)
        {
            foreach (var workSpaceType in e.Type.WorkSpaceTypeWithService(Name))
            {
                var contextType = workSpaceType;
                var envName = e.Container.UniqueInstanceName(workSpaceType);
                var tracEnvironment = TracEnvironmentManager.Create(_envPath, envName);

                if (tracEnvironment == null)
                {
                    Logger.Log(String.Format("Service {0} -> Create folder \"{1}\" fail", Name, envName));
                    continue;
                }

                if (!tracEnvironment.Initialize(workSpaceType.Services.Where(s => s.Name != Name).Select(
                    s => new KeyValuePair<string, string>(s.Name,
                        ServiceFactory.InstancePath(s.Name, e.Container, contextType))
                        )))
                {
                    Logger.Log(String.Format("Service {0} -> Initialize instance \"{1}\" fail", Name, envName));
                    continue;
                }

                var tracPermissions = new TracPermissionManager(tracEnvironment.EnvironmentPath);
                tracPermissions.RemoveAll();
                foreach (var role in e.Type.Bindings.SelectMany(binding => binding.Roles))
                {
                    var groupName = e.Container.UniqueGroupName(role.RoleTypeName);
                    foreach (var rule in role.Rules)
                    {
                        var permissions = rule.Permissions.Where(p => p.ServiceName == Name).Select(p => p.Name);
                        foreach (var permission in permissions)
                            tracPermissions.Add(groupName, permission);
                    }
                }
            }
        }