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);
        }
Пример #2
0
        /// <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.");
        }