internal SagaContext(string sagaId, string receiverPath, string destinationPath, SagaStatusEnum sagaStatus, string statusReason = "", ContextContainer parentContainer = null) { Container = new ContextContainer(parentContainer); Status = new SagaStatus(sagaStatus, statusReason); SagaId = sagaId ?? throw new ArgumentNullException(nameof(sagaId)); ReceiverPath = receiverPath; DestinationPath = destinationPath; }
internal void Cancel(string reason = "") { Status = new SagaStatus(SagaStatusEnum.Cancelled, reason); }
internal void InProgress(string reason = "") { Status = new SagaStatus(SagaStatusEnum.InProgress, reason); }
internal void Fail(string reason = "") { Status = new SagaStatus(SagaStatusEnum.Failed, reason); }
internal void Success(string reason = "") { Status = new SagaStatus(SagaStatusEnum.Success, reason); }