public void BusinessEntityNotIsNew() { var buUpdated = BusinessEntity.From(EntityTestId.GetNext(), VersionId.Next(VersionId.New())); var isNew = new BusinessEntityIsNew(); Assert.False(isNew.IsSatisfiedBy(buUpdated)); }
public static UserAggregationRoot ReconstructFrom(User currentState) { var nextVersion = currentState.IsValid? VersionId.Next(currentState.Version):currentState.Version; var user = User.From(currentState.Identity, currentState.Name, nextVersion); return(new UserAggregationRoot(user)); }
public void Version_get_gr_and_lt() { var version = VersionId.From(1); var next = VersionId.Next(version); Assert.True(version < next); Assert.True(next > version); }
public void Version_get_next() { var version = VersionId.New(); var next = VersionId.Next(version); var nextCheck = version.Value + 1; Assert.Equal(next.Value, nextCheck); }
public void Remove(User entity) { var oldState = Get(entity.Identity); if (VersionId.Next(oldState.Version) > entity.Version) { throw new DbUpdateConcurrencyException("This version is not the most updated for this object."); } var entry = entity.ToUserState(); DbContext.Users.Remove(entry); }
public void Add(User entity) { var entry = entity.ToUserState(); var oldState = Get(entity.Identity); if (oldState.Equals(User.Empty())) { DbContext.Users.Add(entry); } else { if (VersionId.Next(oldState.Version) > entity.Version) { throw new DbUpdateConcurrencyException("This version is not the most updated for this object."); } DbContext.Entry(oldState).CurrentValues.SetValues(entry); } }
public static BusinessEntityAggregateRoot ReconstructFrom(BusinessEntity entity) { return(new BusinessEntityAggregateRoot(BusinessEntity.From(entity.Identity, VersionId.Next(entity.Version)))); }