protected override void ProcessRecord()
        {
            var manager = new ScriptCSSessionManager();

            var sessionNamesToReturn = manager.GetMatchingSessionNames(Session);

            sessionNamesToReturn.ToList().ForEach(WriteObject);
        }
        public static IEnumerable <string> GetMatchingSessionNames(this ScriptCSSessionManager manager,
                                                                   string[] sessionNames)
        {
            if (null == sessionNames)
            {
                return(from item in manager.GetAll() select item.Key);
            }

            var wildcards =
                sessionNames.ToList()
                .ConvertAll(
                    n =>
                    new WildcardPattern(n, WildcardOptions.CultureInvariant | WildcardOptions.IgnoreCase));

            return(from item in manager.GetAll()
                   where wildcards.Any(w => w.IsMatch(item.Key))
                   select item.Key);
        }
示例#3
0
        protected override void ProcessRecord()
        {
            var manager = new ScriptCSSessionManager();

            if (null != Session)
            {
                var sessions = manager.GetMatchingSessions(Session);
                if (sessions.Any())
                {
                    sessions.ToList().ForEach(Execute);
                }
                else
                {
                    Session.ToList().ForEach(s => ExecuteInSession(manager, s));
                }
            }
            else
            {
                ExecuteInSession(manager, DefaultSessionName);
            }
        }
 protected override void BeginProcessing()
 {
     _manager = new ScriptCSSessionManager();
 }
示例#5
0
        private void ExecuteInSession(ScriptCSSessionManager manager, string sessionName)
        {
            var session = manager.GetOrCreate(sessionName, this);

            Execute(session);
        }