public MessageRepository(IStorageFactory storageFactory, IMessageCreated messageCreated, IAutomapper mapper, IFilterMessages filterMessages, ICreatePagination <MessageEntity> createPagination) { _storage = storageFactory.Make(); _messageCreated = messageCreated; _mapper = mapper; _filterMessages = filterMessages; _createPagination = createPagination; }
public MessageCreatedTests() { _instance = new MessageCreated(); }
public MessageCreated(IMessageCreated messageCreated) { _messageCreated = messageCreated; }
internal PowwaSession(string sessionId, string sessionUser, RunspaceConnectionInfo connectionInfo, ClientInfo clientInfo) { EventHandler <MessageCreatedEventArgs> eventHandler = null; EventHandler <MessageCreatedEventArgs> eventHandler1 = null; EventHandler <MessageCreatedEventArgs> eventHandler2 = null; if (sessionId != null) { if (connectionInfo != null) { if (clientInfo != null) { this.Id = sessionId; this.Name = string.Empty; this.UserName = sessionUser; this.host = new PowwaHost(clientInfo); this.host.UI.RawUI.WindowTitle = connectionInfo.ComputerName; PowwaHost powwaHost = this.host; if (eventHandler == null) { eventHandler = (object sender, MessageCreatedEventArgs e) => this.OnClientMessageCreated(e); } powwaHost.MessageCreated += eventHandler; IMessageCreated uI = (IMessageCreated)this.host.UI; if (eventHandler1 == null) { eventHandler1 = (object sender, MessageCreatedEventArgs e) => this.OnClientMessageCreated(e); } uI.MessageCreated += eventHandler1; IMessageCreated rawUI = (IMessageCreated)this.host.UI.RawUI; if (eventHandler2 == null) { eventHandler2 = (object sender, MessageCreatedEventArgs e) => this.OnClientMessageCreated(e); } rawUI.MessageCreated += eventHandler2; this.Runspace = RunspaceFactory.CreateRunspace(connectionInfo, this.host, PowwaSession.TypeTableLoader.Instance.LoadDefaultTypeFiles()); this.Runspace.StateChanged += new EventHandler <RunspaceStateEventArgs>(this.OnRunspaceStateChanged); this.executingCommandPowerShell = System.Management.Automation.PowerShell.Create(); this.executingCommandPowerShell.Runspace = this.Runspace; this.executingCommandPowerShell.InvocationStateChanged += new EventHandler <PSInvocationStateChangedEventArgs>(this.OnExecutingCommandInvocationStateChanged); this.messageQueue = new MessageQueue(); this.clientRequestLock = new object(); this.cancelCommandLock = new object(); this.sessionStateLock = new object(); this.SessionKey = PowwaSession.CreateSessionKey(); this.State = PowwaSession.SessionState.Available; try { this.Runspace.Open(); } catch (Exception ex) { var stackTrace = ex.StackTrace; System.Diagnostics.Debug.WriteLine(stackTrace); } this.exec = new Microsoft.PowerShell.Executor(this.host, false, false); this.exec.OutputHandler += HandleOutputHandler; if (this.messageQueue.GetMessageCount() > 0) { this.PostClientMessage(new CommandCompletedMessage(this.GetPowerShellPrompt()), false); } return; } else { throw new ArgumentNullException("clientInfo"); } } else { throw new ArgumentNullException("connectionInfo"); } } else { throw new ArgumentNullException("sessionId"); } }