public override void Initialise(List <MailFolder> folderList) { Status = MessageProcessorStatus.Initialising; _mainFolderList = folderList; service = ExchangeHelper.ExchangeConnect(_hostname, _username, _password); //service.TraceEnabled = true; //service.TraceFlags = TraceFlags.All; folders = new List <ExchangeFolder>(); ExchangeHelper.GetAllSubFolders(service, new ExchangeFolder { Folder = Folder.Bind(service, WellKnownFolderName.MsgFolderRoot) }, folders, false); if (_createAllFolders) { // we need to create all folders which don't exist foreach (var mailFolder in _mainFolderList) { GetCreateFolder(mailFolder.DestinationFolder); } } _lastState = new ImportState(); _queue = new PCQueue <RawMessageDescriptor, ImportState>(Name + "-exchangeTarget") { ProduceMethod = ProcessMessage, InitialiseProducer = () => _lastState, ShutdownProducer = ShutdownQueue }; _queue.Start(); Status = MessageProcessorStatus.Initialised; }
public override void Initialise(List <MailFolder> folderList) { Status = MessageProcessorStatus.Initialising; _outlook = new Application(); var pstPath = Regex.Replace(_saveFolder + @"\" + _pstName + ".pst", @"\\+", @"\"); Logger.Info("Writing to PST " + pstPath); _pstHandle = PstHandle(_outlook.GetNamespace("MAPI"), pstPath, _pstName); _rootFolder = _pstHandle.GetRootFolder() as Folder; //_importFolder = GetCreateFolder(_rootFolder.FolderPath + @"\_zinkuba_import", _outlook); if (_createAllFolders) { foreach (var mailFolder in folderList) { GetCreateFolder(_rootFolder.FolderPath + @"\" + mailFolder.DestinationFolder, _outlook, true); } } _lastState = new ImportState(); _queue = new PCQueue <MsgDescriptor, ImportState>(Name + "-pstTarget") { ProduceMethod = ProcessMessage, InitialiseProducer = () => _lastState, ShutdownProducer = ShutdownQueue }; _queue.Start(); Status = MessageProcessorStatus.Initialised; Logger.Info("PstTarget Initialised"); }
public override void Initialise(List <MailFolder> folderList) { Status = MessageProcessorStatus.Initialising; NextReader.Initialise(folderList); _lastState = new MessageProcessState(); _queue = new PCQueue <RawMessageDescriptor, MessageProcessState>(Name) { ProduceMethod = ProcessMessage, InitialiseProducer = () => _lastState, ShutdownProducer = ShutdownQueue }; _queue.Start(); Status = MessageProcessorStatus.Initialised; Logger.Info("RawToMessageProcessor Initialised"); }