public void ProcessMailboxState(MailboxState mailboxState) { var logMessage = string.Concat($"ProcessMailboxState mailbox = {mailboxState.SenderEmailAddress},", $" avaliable = {mailboxState.Avaliable}, ", $"exception = {mailboxState.ExceptionClassName}, ", $"message = {mailboxState.ExceptionMessage}, ", $"context = {mailboxState.Context}"); _log.Info(logMessage); var connectionEventsProcessor = ClassFactory.Get <IMailboxStateEventsProcessor>(); connectionEventsProcessor.ProcessMailboxState(mailboxState); }
/// <summary> /// Processes mailbox status from exchange listener service. /// </summary> /// <param name="mailboxState"><see cref="MailboxState"/> instance.</param> public void ProcessMailboxState(MailboxState mailboxState) { _log.Info($"ProcessConnectionStatus for {mailboxState.SenderEmailAddress} started."); var parameters = new Dictionary <string, object> { { "SenderEmailAddress", mailboxState.SenderEmailAddress }, { "Avaliable", mailboxState.Avaliable }, { "ExceptionClassName", mailboxState.ExceptionClassName }, { "ExceptionMessage", mailboxState.ExceptionMessage }, { "Context", mailboxState.Context } }; IAppSchedulerWraper schedulerWraper = ClassFactory.Get <IAppSchedulerWraper>(); schedulerWraper.ScheduleImmediateJob <MailboxStateEventExecutor>( $"ExchangeListerProcessConnectionStatus_{mailboxState.SenderEmailAddress}_{Guid.NewGuid().ToString()}", mailboxState.BpmUserWorkspace, mailboxState.BpmUserName, parameters, true); _log.Info($"ProcessConnectionStatus for {mailboxState.SenderEmailAddress} ended."); }