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); }
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(); }
private void ExecuteInSession(ScriptCSSessionManager manager, string sessionName) { var session = manager.GetOrCreate(sessionName, this); Execute(session); }