示例#1
0
 public BasicTextFileAuditEventFormatter(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository, List <TextFileAuditEventSettings> textFileAuditEventSettingsList, string delimiter)
 {
     _delimiter = delimiter;
     _auditEventTypeRepository       = auditEventTypeRepository;
     _auditEventValueTypeRepository  = auditEventValueTypeRepository;
     _textFileAuditEventSettingsList = textFileAuditEventSettingsList;
 }
示例#2
0
 public CSVConfiguration(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository, ICSVAuditEventSettingsRepository csvAuditEventSettingsRepository,
                         string folder)
 {
     _auditEventTypeRepository        = auditEventTypeRepository;
     _auditEventValueTypeRepository   = auditEventValueTypeRepository;
     _csvAuditEventSettingsRepository = csvAuditEventSettingsRepository;
     _folder = folder;
 }
示例#3
0
 public TextFileConfiguration(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository,
                              ITextFileAuditEventSettingsRepository textFileAuditEventSettingsRepository, string folder)
 {
     _folder = folder;
     _auditEventTypeRepository             = auditEventTypeRepository;
     _auditEventValueTypeRepository        = auditEventValueTypeRepository;
     _textFileAuditEventSettingsRepository = textFileAuditEventSettingsRepository;
 }
示例#4
0
 public BasicEmailCreator(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository,
                          List <EmailAuditEventSettings> emailAuditEventSettingsList,
                          List <AuditEventValueConverter> valueConverters, string htmlStyle)
 {
     _auditEventTypeRepository      = auditEventTypeRepository;
     _auditEventValueTypeRepository = auditEventValueTypeRepository;
     _emailAuditEventSettingsList   = emailAuditEventSettingsList;
     _valueConverters = valueConverters;
     _htmlStyle       = htmlStyle;
 }
示例#5
0
 public CSVAuditEventRepository(
     string folder,
     List <AuditEventValueConverter> auditEventValueConverters,
     List <CSVAuditEventSettings> csvAuditEventSettingsList,
     IAuditEventValueTypeRepository auditEventValueTypeRepository)
 {
     _folder = folder;
     _csvAuditEventSettingsList     = csvAuditEventSettingsList;
     _auditEventValueTypeRepository = auditEventValueTypeRepository;
     _valueConverters = auditEventValueConverters;
 }
 public BasicMSTeamsMessageCreator(MSTeamsREST msTeamsREST,
                                   List <MSTeamsAuditEventSettings> msTeamsAuditEventSettingsList,
                                   List <AuditEventValueConverter> valueConverters,
                                   IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository)
 {
     _msTeamsREST = msTeamsREST;
     _msTeamsAuditEventSettingsList = msTeamsAuditEventSettingsList;
     _valueConverters               = valueConverters;
     _auditEventTypeRepository      = auditEventTypeRepository;
     _auditEventValueTypeRepository = auditEventValueTypeRepository;
 }
示例#7
0
        private void CreateAuditEventValueTypes(IAuditEventValueTypeRepository auditEventValueTypeRepository)
        {
            List <AuditEventValueType> auditEventValueTypes = new List <AuditEventValueType>();

            auditEventValueTypes.Add(new AuditEventValueType(AuditEventValueTypes.Message, "Message", typeof(String), false));
            auditEventValueTypes.Add(new AuditEventValueType(AuditEventValueTypes.Exception, "Exception", typeof(ExceptionModel), false));
            auditEventValueTypes.Add(new AuditEventValueType(AuditEventValueTypes.TestValues, "Test values", typeof(TestValues), false));
            auditEventValueTypes.Add(new AuditEventValueType(AuditEventValueTypes.DebugLevel, "Debug level", typeof(Int16), false));
            auditEventValueTypes.Add(new AuditEventValueType(AuditEventValueTypes.Programme, "Programme", typeof(Programme), false));
            auditEventValueTypes.Add(new AuditEventValueType(AuditEventValueTypes.ChannelId, "Channel ID", typeof(Guid), false));
            auditEventValueTypes.Add(new AuditEventValueType(AuditEventValueTypes.UserName, "UserName", typeof(String), false));

            // Save, replace all existing
            auditEventValueTypeRepository.DeleteAll();
            auditEventValueTypeRepository.Insert(auditEventValueTypes);
        }
示例#8
0
        public SampleRunner(string dataFolder)
        {
            _configurationFolder = Path.Combine(dataFolder, "Configuration");
            _csvFolder           = Path.Combine(dataFolder, "CSVEvents");
            _textFileFolder      = Path.Combine(dataFolder, "TextFileEvents");
            _queryResultsFolder  = Path.Combine(dataFolder, "QueryResults");

            // Create folders
            foreach (string folder in new string[] { _configurationFolder, _csvFolder, _textFileFolder, _queryResultsFolder })
            {
                _ = Directory.CreateDirectory(folder);
            }

            // Set repository for audit event types
            _auditEventTypeRepository = new FileAuditEventTypeRepository(System.IO.Path.Combine(_configurationFolder, "AuditEventTypes"));

            // Set repository for audit event value types
            _auditEventValueTypeRepository = new FileAuditEventValueTypeRepository(System.IO.Path.Combine(_configurationFolder, "AuditEventValueTypes"));
        }
示例#9
0
 public EmailConfiguration(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository, IEmailAuditEventSettingsRepository emailAuditEventSettingsRepository)
 {
     _auditEventTypeRepository          = auditEventTypeRepository;
     _auditEventValueTypeRepository     = auditEventValueTypeRepository;
     _emailAuditEventSettingsRepository = emailAuditEventSettingsRepository;
 }
示例#10
0
 public HTTPConfiguration(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository, IHTTPAuditEventSettingsRepository httpAuditEventSettingsRepository)
 {
     _auditEventTypeRepository         = auditEventTypeRepository;
     _auditEventValueTypeRepository    = auditEventValueTypeRepository;
     _httpAuditEventSettingsRepository = httpAuditEventSettingsRepository;
 }
示例#11
0
 public AuditEventRepositoryFactory(string environmentId, IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository)
 {
     _environmentId                 = environmentId;
     _auditEventTypeRepository      = auditEventTypeRepository;
     _auditEventValueTypeRepository = auditEventValueTypeRepository;
 }
示例#12
0
        /// <summary>
        /// Returns master audit event repository
        /// </summary>
        /// <returns></returns>
        private IAuditEventRepository GetMasterAuditEventRepository(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository,
                                                                    Dictionary <Type, object> auditEventSettingsRepositories,
                                                                    string csvFolder, string textFileFolder)
        {
            // Set child repositories
            // To disable a repository then comment it out
            List <IAuditEventRepositoryCreator> auditEventRepositoryCreators = new List <IAuditEventRepositoryCreator>();

            auditEventRepositoryCreators.Add(new CSVConfiguration(auditEventTypeRepository, auditEventValueTypeRepository, (ICSVAuditEventSettingsRepository)auditEventSettingsRepositories[typeof(ICSVAuditEventSettingsRepository)], csvFolder));
            auditEventRepositoryCreators.Add(new EmailConfiguration(auditEventTypeRepository, auditEventValueTypeRepository, (IEmailAuditEventSettingsRepository)auditEventSettingsRepositories[typeof(IEmailAuditEventSettingsRepository)]));
            auditEventRepositoryCreators.Add(new MSTeamsConfiguration(auditEventTypeRepository, auditEventValueTypeRepository, (IMSTeamsAuditEventSettingsRepository)auditEventSettingsRepositories[typeof(IMSTeamsAuditEventSettingsRepository)]));
            //auditEventRepositoryCreators.Add(new HTTPConfiguration(auditEventTypeRepository, auditEventValueTypeRepository, (IHTTPAuditEventSettingsRepository)auditEventSettingsRepositories[typeof(IHTTPAuditEventSettingsRepository)]));
            //auditEventRepositoryCreators.Add(new SQLConfiguration(auditEventTypeRepository, auditEventValueTypeRepository, (ISQLAuditEventSettingsRepository)auditEventSettingsRepositories[typeof(ISQLAuditEventSettingsRepository)]));
            auditEventRepositoryCreators.Add(new TextFileConfiguration(auditEventTypeRepository, auditEventValueTypeRepository, (ITextFileAuditEventSettingsRepository)auditEventSettingsRepositories[typeof(ITextFileAuditEventSettingsRepository)], textFileFolder));

            // Create child repositories
            List <IAuditEventRepository> auditEventRepositories = new List <IAuditEventRepository>();

            auditEventRepositoryCreators.ForEach(creator => auditEventRepositories.Add(creator.GetAuditEventRepository()));

            // Return master repository
            return(new MasterAuditEventRepository(auditEventRepositories));
        }
示例#13
0
 /// <summary>
 /// Configure audit event settings. This is a one time process.
 /// </summary>
 private void ConfigureAuditEventSettings(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository,
                                          Dictionary <Type, object> auditEventSettingsRepositories,
                                          string msTeamsUrl, List <string> emailRecipientAddresses)
 {
     ConfigureAuditEvent(AuditEventTypes.Debug, auditEventSettingsRepositories, true, true, true, false, false, true, msTeamsUrl, emailRecipientAddresses);
     ConfigureAuditEvent(AuditEventTypes.TestValues, auditEventSettingsRepositories, true, true, true, false, false, true, msTeamsUrl, emailRecipientAddresses);
     ConfigureAuditEvent(AuditEventTypes.AddProgramme, auditEventSettingsRepositories, true, true, true, false, false, true, msTeamsUrl, emailRecipientAddresses);
     ConfigureAuditEvent(AuditEventTypes.UpdateProgramme, auditEventSettingsRepositories, true, true, true, false, false, true, msTeamsUrl, emailRecipientAddresses);
     ConfigureAuditEvent(AuditEventTypes.DeleteProgramme, auditEventSettingsRepositories, true, true, true, false, false, true, msTeamsUrl, emailRecipientAddresses);
     ConfigureAuditEvent(AuditEventTypes.ScheduleProgramme, auditEventSettingsRepositories, true, true, true, false, false, true, msTeamsUrl, emailRecipientAddresses);
 }
示例#14
0
 public MSTeamsConfiguration(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository, IMSTeamsAuditEventSettingsRepository msTeamsAuditEventSettingsRepository)
 {
     _auditEventTypeRepository            = auditEventTypeRepository;
     _auditEventValueTypeRepository       = auditEventValueTypeRepository;
     _msTeamsAuditEventSettingsRepository = msTeamsAuditEventSettingsRepository;
 }
示例#15
0
 public SQLConfiguration(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository, ISQLAuditEventSettingsRepository sqlAuditEventSettingsRepository)
 {
     _auditEventTypeRepository        = auditEventTypeRepository;
     _auditEventValueTypeRepository   = auditEventValueTypeRepository;
     _sqlAuditEventSettingsRepository = sqlAuditEventSettingsRepository;
 }