示例#1
0
        public void WithDescription_WhenDescriptionIsNotNull_SetsDescription()
        {
            var description = "Sample";
            AuditService <FakeContext> auditService = GenerateAuditService();
            FluentAudit <FakeContext, AuditEntryModel, ModelToAudit> fluent = auditService.GenerateEntry <AuditEntryModel, ModelToAudit>(new ModelToAudit());

            AuditEntryModel entry = fluent.WithDescription(description);

            Assert.AreEqual(description, entry.Description);
        }
示例#2
0
        public void WithUserId_WhenUserIdIsNotNull_SetsUserId()
        {
            var userId = "Sample";
            AuditService <FakeContext> auditService = GenerateAuditService();
            FluentAudit <FakeContext, AuditEntryModel, ModelToAudit> fluent = auditService.GenerateEntry <AuditEntryModel, ModelToAudit>(new ModelToAudit());

            AuditEntryModel entry = fluent.WithUserId(userId);

            Assert.AreEqual(userId, entry.UserId);
        }
示例#3
0
        public FluentAudit <TContext, TAuditEntry, TEntity> GenerateEntry <TAuditEntry, TEntity>(TEntity model, DateTime auditedOn)
            where TEntity : class
            where TAuditEntry : AuditEntryDataModel <TEntity>, new()
        {
            var entity = Context.Entry(model);

            var(type, beforeJson, afterJson) = ChangeDetectionService.SerializeEntityChanges(entity);

            var entry = new TAuditEntry
            {
                AuditedOn        = auditedOn,
                Entity           = model,
                Type             = type,
                EntityBeforeJson = beforeJson,
                EntityAfterJson  = afterJson
            };

            Context.Add(entry);

            var fluent = new FluentAudit <TContext, TAuditEntry, TEntity>(entry);

            return(fluent);
        }