public void CompleteTrackingSession() { foreach (var item in _trackedItems) { UnitOfWorkContext.AddEvent(() => { var updated = item.Operation == ChangeTrackingOperation.Delete ? null : _stateService.GetState(item.TrackedEntity); var result = new EntityStateChangedEvent { CorrelationId = _correlationId, StateChangeType = _userAction, EntityType = item.TrackedEntity.GetType().Name, EntityId = item.TrackedEntity.Id, ProviderId = _providerId, EmployerAccountId = _employerAccountId, InitialState = item.InitialState == null ? null : JsonConvert.SerializeObject(item.InitialState), UpdatedState = updated == null ? null : JsonConvert.SerializeObject(updated), UpdatedOn = DateTime.UtcNow, UpdatingParty = _party, UpdatingUserId = _userInfo?.UserId ?? "Unknown", UpdatingUserName = _userInfo?.UserDisplayName ?? "Unknown" }; return(result); }); } _trackedItems.Clear(); }
public EntityStateChangedEventHandlerTestsFixture() { _mediator = new Mock <IMediator>(); _differences = new List <DiffItem>(); _diffService = new Mock <IDiffService>(); _diffService.Setup(x => x.GenerateDiff(It.IsAny <Dictionary <string, object> >(), It.IsAny <Dictionary <string, object> >())) .Returns(_differences.AsReadOnly); _initialState = new Dictionary <string, object> { { "test", "initial" } }; _updatedState = new Dictionary <string, object> { { "test", "updated" } }; _message = new EntityStateChangedEvent { InitialState = JsonConvert.SerializeObject(_initialState), UpdatedState = JsonConvert.SerializeObject(_updatedState) }; _handler = new EntityStateChangedEventHandler(_mediator.Object, _diffService.Object); }