private List <MailSieveFilterData> GetFilters(EngineFactory factory, ILog log) { var user = factory.UserId; if (string.IsNullOrEmpty(user)) { return(new List <MailSieveFilterData>()); } try { if (Filters.ContainsKey(user)) { return(Filters[user]); } var filters = factory.FilterEngine.GetList(); Filters.TryAdd(user, filters); return(filters); } catch (Exception ex) { log.Error("GetFilters failed", ex); } return(new List <MailSieveFilterData>()); }
private void FreeTask(TaskData taskData, ICollection <TaskData> tasks) { try { _log.DebugFormat("End Task {0} with status = '{1}'.", taskData.Task.Id, taskData.Task.Status); if (!tasks.Remove(taskData)) { _log.Error("Task not exists in tasks array."); } var mailbox = taskData.Mailbox; ReleaseMailbox(mailbox); taskData.Task.Dispose(); } catch (Exception ex) { _log.ErrorFormat("FreeTask(id:'{0}', email:'{1}'): Exception:\r\n{2}\r\n", taskData.Mailbox.MailBoxId, taskData.Mailbox.EMail, ex.ToString()); } }