Beispiel #1
0
        /// <summary>
        /// Updates an UpdateAuditData object  using the creator information from the model as the updater
        /// information. Useful when you are mapping audit information from two different objects. If the
        /// db record is null then an ArgumentNullException is thrown.
        /// </summary>
        /// <param name="model">ICreateAuditable EF database record to map create data from.</param>
        public void MapUpdateAuditDataUpdaterData(UpdateAuditData updateAuditDatra, ICreateAuditable model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }
            ValidateUserProperty(model.Creator, nameof(model.Creator));

            updateAuditDatra.UpdateDate = model.CreateDate;
            updateAuditDatra.Updater    = _userMicroSummaryMapper.Map(model.Creator);
        }
Beispiel #2
0
        public void SetCreated(ICreateAuditable entity, IExecutionContext executionContext)
        {
            Condition.Requires(entity).IsNotNull();
            Condition.Requires(executionContext).IsNotNull();
            Condition.Requires(executionContext.UserContext.UserId).IsNotNull("User must be logged in to update an ICreateAuditable entity");

            entity.CreateDate = executionContext.ExecutionDate;
            entity.CreatorId  = executionContext.UserContext.UserId.Value;

            if (entity is IUpdateAuditable)
            {
                SetUpdated((IUpdateAuditable)entity, executionContext);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Maps an EF model that inherits from ICreateAuditable into a UpdateAuditData object
        /// using only the creator information from the model. Useful when you are mapping audit
        /// information from two different objects. If the db record is null then an ArgumentNullException is thrown.
        /// </summary>
        /// <param name="model">ICreateAuditable EF database record to map create data from.</param>
        public UpdateAuditData MapUpdateAuditDataCreatorData(ICreateAuditable model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }
            ValidateUserProperty(model.Creator, nameof(model.Creator));

            var auditData = new UpdateAuditData();

            auditData.CreateDate = model.CreateDate;
            auditData.Creator    = _userMicroSummaryMapper.Map(model.Creator);

            return(auditData);
        }
Beispiel #4
0
        /// <summary>
        /// Maps an EF model that inherits from ICreateAuditable into a CreateAuditData object. If the
        /// db record is null then an ArgumentNullException is thrown.
        /// </summary>
        /// <param name="model">ICreateAuditable EF database record.</param>
        public virtual CreateAuditData MapCreateAuditData(ICreateAuditable model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }
            ValidateUserProperty(model.Creator, nameof(model.Creator));

            var auditData = new CreateAuditData();

            auditData.CreateDate = DbDateTimeMapper.AsUtc(model.CreateDate);
            auditData.Creator    = _userMicroSummaryMapper.Map(model.Creator);

            return(auditData);
        }
Beispiel #5
0
        public void SetCreated(ICreateAuditable entity, IExecutionContext executionContext)
        {
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }
            if (executionContext == null)
            {
                throw new ArgumentNullException(nameof(executionContext));
            }
            if (executionContext.UserContext.UserId == null)
            {
                throw new NotPermittedException("User must be logged in to update an ICreateAuditable entity");
            }

            entity.CreateDate = executionContext.ExecutionDate;
            entity.CreatorId  = executionContext.UserContext.UserId.Value;

            if (entity is IUpdateAuditable)
            {
                SetUpdated((IUpdateAuditable)entity, executionContext);
            }
        }
Beispiel #6
0
 static void SetCreated(IEntityPersister persister, object[] state, ICreateAuditable <T> u)
 {
     NHEventHelper.Set(persister, state, "CreatedAt", DateTime.Now);
     NHEventHelper.Set(persister, state, "CreatedBy", u.CreatedBy);
 }