public void read_aggregate_exception() { var ex1 = new DivideByZeroException("Only Chuck Norris can do that"); var ex2 = new RankException("You're last!"); var ex3 = new InvalidTimeZoneException("You are in the wrong place!"); var ex = new AggregateException(ex1, ex2, ex3); var record = new JobExecutionRecord(); record.ReadException(ex); record.ExceptionText.ShouldNotBe(ex.ToString()); record.ExceptionText.ShouldContain(ex1.ToString()); record.ExceptionText.ShouldContain(ex2.ToString()); record.ExceptionText.ShouldContain(ex3.ToString()); record.ExceptionText.ShouldContain(JobExecutionRecord.ExceptionSeparator); }
/// <summary> /// IUnitOfWork instance Id: {0} with transaction Id: {1} has failed to commit due to the following exception(s): {2} /// </summary> /// <param name="unitOfWorkId">The unit of work id.</param> /// <param name="transactionIdentifier">The transaction identifier.</param> /// <param name="exceptions">The exceptions.</param> /// <returns>NContextPersistenceError.</returns> public static NContextPersistenceError CommitFailed(Guid unitOfWorkId, String transactionIdentifier, AggregateException exceptions = null) { return new NContextPersistenceError("CommitFailed", unitOfWorkId, transactionIdentifier, exceptions != null ? exceptions.ToString() : String.Empty); }