public void setup_organisation_is_added() { _organisationId = Guid.NewGuid(); _updatedBy = "test user"; _fieldChanged = "trading name 1"; _previousValue = "Trainer Trading Name"; _newValue = "ANDERSON TRAINING LTD"; _repository = new UpdateOrganisationRepository(_databaseService.WebConfiguration); var auditData = new AuditData { OrganisationId = _organisationId, UpdatedAt = DateTime.Now, UpdatedBy = _updatedBy, FieldChanges = new List <AuditLogEntry> { new AuditLogEntry { FieldChanged = _fieldChanged, PreviousValue = _previousValue, NewValue = _newValue } } }; _updateSuccessful = _repository.WriteFieldChangesToAuditLog(auditData).Result; _auditRecord = AuditHandler.GetOrganisationFromOrganisationId(_organisationId); }
public async Task ReadHandler_Pagination() { var logger = new Mock <ILogger <AuditHandler> >(); var sp = MockServiceProvider(logger); var am = new Mock <IAuditManager>(); sp.Setup(s => s.GetService(typeof(IAuditManager))).Returns(am.Object); var h = new AuditHandler(sp.Object); var o = new Pagination <string> { Data = new[] { "1", "2", "3" } }; var uId = "u-id"; var wc = new WorkContext { CurrentUserId = uId }; var ded = new DomainEvent { Data = o, PerformedByUserId = uId, WorkContext = wc }; await h.ReadEventHandler(ded); am.Verify(a => a.InsertAuditRecord( It.Is <Type>(t => t == typeof(string)), It.Is <string>(i => i == null), It.Is <string>(art => art == AuditRecordTypes.READ), It.Is <WorkContext>(w => w == wc), It.Is <object>(obj => obj.GetPropertyValueByName <IEnumerable <string> >("Data") == o.Data)), Times.Once); }
private void AssignProtocolNumberToSelectedTitle() { ProtocolTemplate title = GetSelectedTemplateFromView(); title.AddProtocolNumber(this.request.ProtocolType, this.contact.SponsorCode); AuditHandler.Insert_ProtocolNumber_AuditItem(title.ProtocolNumber, loginInfo.UserName); }
private static void SubscribeAuditHandler(IServiceProvider sp, IEventBus eventBus, IEnumerable <EntityConfigRecord> entityConfigRecords) { var auditHandler = new AuditHandler(sp); var creatables = entityConfigRecords.Where(ecr => ecr.Type.IsOfType <ICreatableAudit>() && !ecr.AuditSettings.Disabled && ecr.AuditSettings.AuditRules.AuditCreate).ToArray(); foreach (var ca in creatables) { eventBus.Subscribe(ca.EventKeys.Create, auditHandler.CreateEventHandler, $"{ca.Name.ToLower()}-creatable-audit-handler"); } var readables = entityConfigRecords.Where(ecr => ecr.Type.IsOfType <IReadableAudit>() && !ecr.AuditSettings.Disabled && ecr.AuditSettings.AuditRules.AuditRead).ToArray(); foreach (var ca in readables) { eventBus.Subscribe(ca.EventKeys.Read, auditHandler.ReadEventHandler, $"{ca.Name.ToLower()}-read-audit-handler"); } var updatables = entityConfigRecords.Where(ecr => ecr.Type.IsOfType <IUpdatableAudit>() && !ecr.AuditSettings.Disabled && ecr.AuditSettings.AuditRules.AuditUpdate).ToArray(); foreach (var ca in updatables) { eventBus.Subscribe(ca.EventKeys.Update, auditHandler.UpdateEventHandler, $"{ca.Name.ToLower()}-updatable-audit-handler"); } var deletables = entityConfigRecords.Where(ecr => ecr.Type.IsOfType <IDeletableAudit>() && !ecr.AuditSettings.Disabled && ecr.AuditSettings.AuditRules.AuditDelete).ToArray(); foreach (var ca in deletables) { eventBus.Subscribe(ca.EventKeys.Delete, auditHandler.DeleteEventHandler, $"{ca.Name.ToLower()}-deletable-audit-handler"); } }
private void SubmitAuditItems() { if (auditItems.Count != 0) { AuditHandler.InsertAuditItems(auditItems); this.auditItems.Clear(); } }
private void UpdateSelectedTitleFilePath(string filePath) { ProtocolTemplate title = GetSelectedTemplateFromView(); string oldValue = title.FilePath; title.UpdateFileInfo(filePath); AuditHandler.Insert_UpdateFilePath_AuditItem(oldValue, title, loginInfo.UserName); }
public int SaveChanges(IUserContext <PrivilegeType> currentUser) { if (currentUser != null) { return(AuditHandler.SaveChanges <AuditLog>(this, AuditLogSet, currentUser.UserName, currentUser.Id)); } return(base.SaveChanges()); }
private void SubmitAuditItem(string title, int groupID, bool isActive) { CreateAuditItems(title, groupID, isActive); if (this.auditItems.Count != 0) { AuditHandler.InsertAuditItems(this.auditItems); this.auditItems.Clear(); } }
private void SubmitAuditItem(Item item) { CreateAuditItems(item); if (this.auditItems.Count != 0) { AuditHandler.InsertAuditItems(this.auditItems); this.auditItems.Clear(); } }
private void RemoveSelectedTemplate(ProtocolTemplate selectedTemplate) { QProtocolRequestTemplates.SetIsActive(this.request.ID, selectedTemplate.TemplateID, false, loginInfo.UserName); QProtocolNumbers.UpdateItem_IsActive(this.request.ID, selectedTemplate.TemplateID, false, loginInfo.UserName); AuditHandler.Insert_RemoveTitle_AuditItem(this.request.ID, selectedTemplate.TemplateID, loginInfo.UserName); RefreshTemplateListView(); }
private void UpdateSelectedTitleDepartment() { Item selectedItem = SelectDepartmentFromOptions(); if (selectedItem.Value != "") { ProtocolTemplate title = GetSelectedTemplateFromView(); string oldValue = title.Department.ID.ToString(); title.UpdateDepartment(Convert.ToInt32(selectedItem.Value)); AuditHandler.Insert_Department_AuditItem(oldValue, title, loginInfo.UserName); } }
private void UpdateSelectedTitleProjectNumber() { ProtocolTemplate title = GetSelectedTemplateFromView(); string oldValue = title.ProjectNumber; string projectNumber = TemplatesController.ShowOneTextBoxForm("Project Number: ", title.ProjectNumber, this.view.ParentControl); if (projectNumber != String.Empty) { title.AddProjectNumber(projectNumber); AuditHandler.Insert_ProjectNumber_AuditItem(oldValue, title, loginInfo.UserName); this.RefreshTemplateListView(); } }
/// <summary> /// Initializes a new instance of the <see cref="AccessHandlerManager"/> class /// </summary> /// <param name="context">The <see cref="MainDatabaseContext"/> instance to use</param> /// <param name="creatingAuditLogs">The CreatingAuditLogs event handler used to fill in any missing details. CURRENTLY NOT USED!!!</param> internal AccessHandlerManager(MainDatabaseContext context, CreatingAuditLogsEventHandler creatingAuditLogs = null) { //// if(creatingAuditLogs != null) context.CreatingAuditLogs += creatingAuditLogs; this.questionnaireAccessHandler = new QuestionnaireAccessHandler(context); this.questionnaireFormatAccessHandler = new QuestionnaireFormatAccessHandler(context); this.tagAccessHandler = new TagAccessHandler(context); this.userAccessHandler = new UserAccessHandler(context); this.messageHandler = new MessageHandler(context); this.episodeAccessHandler = new EpisodeAccessHandler(context); this.notificationHandler = new NotificationHandler(context); this.auditHandler = new AuditHandler(context); this.searchHandler = new SearchHandler(context); }
/// <summary> /// Logs the given Audit to the audit trail /// </summary> /// <param name="audits">The audit entries to log</param> public static void Audit(params Audit[] audits) { List <AuditLog> logs = new List <AuditLog>(); foreach (Audit audit in audits) { logs.Add(Logger.BuildAuditLog(audit)); } if (Logger.handler == null) { handler = new AccessHandlerManager().AuditHandler; } Logger.handler.StoreAudit(logs); }
private void ReviseSelectedTitleProtocolNumber() { ProtocolTemplate title = GetSelectedTemplateFromView(); if (title.ProtocolNumber.FullCode != String.Empty) { string oldValue = title.ProtocolNumber.FullCode; title.ProtocolNumber.Update(); AuditHandler.Insert_ReviseProtocol_AuditItem(oldValue, title.ProtocolNumber, loginInfo.UserName); this.RefreshTemplateListView(); } else { MessageBox.Show("Invalid Protocol Number."); } }
private void ResetRequestWithConfirmation() { DialogResult dialogResult = MessageBox.Show("Are you sure you want to reset this request?", "Confirmation", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { this.selectedRequest.RequestStatus = "New"; this.selectedRequest.IsActive = true; QProtocolRequests.UpdateRequestStatus(this.selectedRequest, loginInfo.UserName); AuditItem auditItem = CreateAuditItem("RequestStatus,IsActive", "Closed,0", "New,1"); AuditHandler.InsertAuditItem(auditItem); this.requestList.Remove(this.selectedRequest); this.selectedRequest = null; ReloadRequestList(); } }
public async Task UpdateHandler_EntityUpdatedEventData() { var logger = new Mock <ILogger <AuditHandler> >(); var sp = MockServiceProvider(logger); var am = new Mock <IAuditManager>(); sp.Setup(s => s.GetService(typeof(IAuditManager))).Returns(am.Object); var h = new AuditHandler(sp.Object); EventDataObject before = new EventDataObject { Id = "123", Value = "data" }, after = new EventDataObject { Id = "123", Value = "data2" }; var uId = "u-id"; var wc = new WorkContext { CurrentUserId = uId }; var ded = new DomainEvent { Data = new EntityUpdatedDomainEvent(before, after), PerformedByUserId = uId, WorkContext = wc }; await h.UpdateEventHandler(ded); am.Verify(a => a.InsertAuditRecord( It.Is <Type>(t => t == typeof(EventDataObject)), It.Is <string>(i => i == before.Id), It.Is <string>(art => art == AuditRecordTypes.UPDATE), It.Is <WorkContext>(w => w == wc), It.Is <object>(obj => VerifyPayload(obj, before, after))), Times.Once); }
public async Task ReadHandler() { var logger = new Mock <ILogger <AuditHandler> >(); var sp = MockServiceProvider(logger); var am = new Mock <IAuditManager>(); sp.Setup(s => s.GetService(typeof(IAuditManager))).Returns(am.Object); var h = new AuditHandler(sp.Object); var o = new EventDataObject { Id = "123", Value = "data" }; var uId = "u-id"; var wc = new WorkContext { CurrentUserId = uId }; var ded = new DomainEvent { Data = o, PerformedByUserId = uId, WorkContext = wc }; await h.ReadEventHandler(ded); am.Verify(a => a.InsertAuditRecord( It.Is <Type>(t => t == typeof(EventDataObject)), It.Is <string>(i => i == o.Id), It.Is <string>(art => art == AuditRecordTypes.READ), It.Is <WorkContext>(w => w == wc), It.Is <object>(obj => obj == o)), Times.Once); }
public void tear_down() { AuditHandler.DeleteAllRecords(); }