public void Handle(TransportMessage message) { if (!message.Headers.ContainsKey(NServiceBus.Headers.Expire)) { throw new InvalidOperationException("Non timeout message arrived at the timeout manager, id:" + message.Id); } var sagaId = Guid.Empty; if (message.Headers.ContainsKey(NServiceBus.Headers.SagaId)) { sagaId = Guid.Parse(message.Headers[NServiceBus.Headers.SagaId]); } if (message.Headers.ContainsKey(Headers.ClearTimeout)) { Manager.ClearTimeout(sagaId); Persister.Remove(sagaId); } else { var data = new TimeoutData { Destination = message.ReplyToAddress, SagaId = sagaId, State = message.Body, Time = DateTime.Parse(message.Headers[NServiceBus.Headers.Expire]) }; Manager.PushTimeout(data); Persister.Add(data); } }
public CommandResult <Create <TEntity> > Create <TEntity>(TEntity entity) where TEntity : Entity { var entityService = GetEntityService <TEntity>(); if (!entityService.Validate(entity)) { return new CommandResult <Create <TEntity> >(null) { IsSuccess = false } } ; entityService.Create(entity); var command = new Create <TEntity>(entity); Eventer.Raise <PersistenceEvent>(new Created <TEntity>(entity)); Persister.Add(entity); var commandResult = new CommandResult <Create <TEntity> >(command) { IsSuccess = true }; return(commandResult); }
/// <summary> /// レコード削除(未使用) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnDeleteRecordClicked(object sender, EventArgs e) { if (sender is MenuItem mi && mi.BindingContext is Note note) { note.IsDeleted = true; Persister.Add(note); Refresh(); } }
public void Handle(TransportMessage message) { var sagaId = Guid.Empty; if (message.Headers.ContainsKey(Headers.SagaId)) { sagaId = Guid.Parse(message.Headers[Headers.SagaId]); } if (message.Headers.ContainsKey(Headers.ClearTimeouts)) { if (sagaId == Guid.Empty) { throw new InvalidOperationException("Invalid saga id specified, clear timeouts is only supported for saga instances"); } Persister.ClearTimeoutsFor(sagaId); Manager.ClearTimeout(sagaId); } else { if (!message.Headers.ContainsKey(Headers.Expire)) { throw new InvalidOperationException("Non timeout message arrived at the timeout manager, id:" + message.Id); } var data = new TimeoutData { Destination = message.ReplyToAddress, SagaId = sagaId, State = message.Body, Time = message.Headers[Headers.Expire].ToUtcDateTime(), CorrelationId = message.CorrelationId, Headers = message.Headers, OwningTimeoutManager = Configure.EndpointName }; Persister.Add(data); Manager.PushTimeout(data); } }
public void Handle(TransportMessage message) { var sagaId = Guid.Empty; if (message.Headers.ContainsKey(Headers.SagaId)) { sagaId = Guid.Parse(message.Headers[Headers.SagaId]); } if (message.Headers.ContainsKey(Headers.ClearTimeouts)) { if (sagaId == Guid.Empty) { throw new InvalidOperationException("Invalid saga id specified, clear timeouts is only supported for saga instances"); } Manager.ClearTimeout(sagaId); Persister.Remove(sagaId); } else { if (!message.Headers.ContainsKey(Headers.Expire)) { throw new InvalidOperationException("Non timeout message arrived at the timeout manager, id:" + message.Id); } var data = new TimeoutData { Destination = message.ReplyToAddress, SagaId = sagaId, State = message.Body, Time = DateTime.Parse(message.Headers[Headers.Expire]) }; Manager.PushTimeout(data); Persister.Add(data); } }
public void Handle(TimeoutMessage message) { if (message.ClearTimeout) { Manager.ClearTimeout(message.SagaId); Persister.Remove(message.SagaId); } else { var data = new TimeoutData { Destination = Bus.CurrentMessageContext.ReturnAddress, SagaId = message.SagaId, State = message.State, Time = message.Expires }; Manager.PushTimeout(data); Persister.Add(data); } Bus.DoNotContinueDispatchingCurrentMessageToHandlers(); }