예제 #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 MSTeamsConfiguration(IAuditEventTypeRepository auditEventTypeRepository, IMSTeamsAuditEventSettingsRepository msTeamsAuditEventSettingsRepository,
                             string frontendUrl, IRepositoryFactory repositoryFactory)
 {
     _frontendUrl = frontendUrl;
     _auditEventTypeRepository            = auditEventTypeRepository;
     _msTeamsAuditEventSettingsRepository = msTeamsAuditEventSettingsRepository;
     _repositoryFactory = repositoryFactory;
 }
예제 #5
0
 public MSTeamsAuditEventRepository(string environmentId,
                                    List <MSTeamsAuditEventSettings> msTeamsAuditEventSettings,
                                    List <IMSTeamsMessageCreator> msTeamsMessageCreators,
                                    IAuditEventTypeRepository auditeventTypeRepository)
 {
     _environmentId             = environmentId;
     _msTeamsAuditEventSettings = msTeamsAuditEventSettings;
     _msTeamsMessageCreators    = msTeamsMessageCreators;
     _auditEventTypeRepository  = auditeventTypeRepository;
 }
예제 #6
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;
 }
예제 #7
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);
 }
예제 #8
0
 public BasicMSTeamsMessageCreator(MSTeamsREST msTeamsREST,
                                   List <MSTeamsAuditEventSettings> msTeamsAuditEventSettingsList,
                                   List <AuditEventValueConverter> valueConverters,
                                   IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository)
 {
     _msTeamsREST = msTeamsREST;
     _msTeamsAuditEventSettingsList = msTeamsAuditEventSettingsList;
     _valueConverters               = valueConverters;
     _auditEventTypeRepository      = auditEventTypeRepository;
     _auditEventValueTypeRepository = auditEventValueTypeRepository;
 }
예제 #9
0
        /// <summary>
        /// Creates list of audit event types
        /// </summary>
        /// <param name="auditEventTypeRepository"></param>
        /// <param name="auditEventValueTypeRepository"></param>
        private void CreateAuditEventTypes(IAuditEventTypeRepository auditEventTypeRepository)
        {
            List <AuditEventType> auditEventTypes = new List <AuditEventType>();

            auditEventTypes.Add(new AuditEventType(AuditEventTypes.Debug, "Debug"));
            auditEventTypes.Add(new AuditEventType(AuditEventTypes.TestValues, "Test values"));
            auditEventTypes.Add(new AuditEventType(AuditEventTypes.AddProgramme, "Add programme"));
            auditEventTypes.Add(new AuditEventType(AuditEventTypes.UpdateProgramme, "Update programme"));
            auditEventTypes.Add(new AuditEventType(AuditEventTypes.DeleteProgramme, "Delete programme"));
            auditEventTypes.Add(new AuditEventType(AuditEventTypes.ScheduleProgramme, "Schedule programme"));

            // Save, replace all existing
            auditEventTypeRepository.DeleteAll();
            auditEventTypeRepository.Insert(auditEventTypes);
        }
예제 #10
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"));
        }
예제 #11
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));
        }
예제 #12
0
 public HTTPConfiguration(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository, IHTTPAuditEventSettingsRepository httpAuditEventSettingsRepository)
 {
     _auditEventTypeRepository         = auditEventTypeRepository;
     _auditEventValueTypeRepository    = auditEventValueTypeRepository;
     _httpAuditEventSettingsRepository = httpAuditEventSettingsRepository;
 }
예제 #13
0
 public AuditEventRepositoryFactory(string environmentId, IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository)
 {
     _environmentId                 = environmentId;
     _auditEventTypeRepository      = auditEventTypeRepository;
     _auditEventValueTypeRepository = auditEventValueTypeRepository;
 }
예제 #14
0
 public TextFileAuditEventRepository(IAuditEventTypeRepository auditEventTypeRepository, List <ITextFileAuditEventFormatter> formatters, string folder)
 {
     _auditEventTypeRepository = auditEventTypeRepository;
     _formatters = formatters;
     _folder     = folder;
 }
예제 #15
0
 public ConsoleAuditEventRepository(IAuditEventTypeRepository auditEventTypeRepository)
 {
     _auditEventTypeRepository = auditEventTypeRepository;
 }
예제 #16
0
 public MSTeamsConfiguration(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository, IMSTeamsAuditEventSettingsRepository msTeamsAuditEventSettingsRepository)
 {
     _auditEventTypeRepository            = auditEventTypeRepository;
     _auditEventValueTypeRepository       = auditEventValueTypeRepository;
     _msTeamsAuditEventSettingsRepository = msTeamsAuditEventSettingsRepository;
 }
예제 #17
0
 public EmailConfiguration(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository, IEmailAuditEventSettingsRepository emailAuditEventSettingsRepository)
 {
     _auditEventTypeRepository          = auditEventTypeRepository;
     _auditEventValueTypeRepository     = auditEventValueTypeRepository;
     _emailAuditEventSettingsRepository = emailAuditEventSettingsRepository;
 }
예제 #18
0
 public SQLConfiguration(IAuditEventTypeRepository auditEventTypeRepository, IAuditEventValueTypeRepository auditEventValueTypeRepository, ISQLAuditEventSettingsRepository sqlAuditEventSettingsRepository)
 {
     _auditEventTypeRepository        = auditEventTypeRepository;
     _auditEventValueTypeRepository   = auditEventValueTypeRepository;
     _sqlAuditEventSettingsRepository = sqlAuditEventSettingsRepository;
 }