aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Core/ExtensionMethods
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2019-12-11 20:57:30 +0200
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2019-12-11 20:57:30 +0200
commit621230afe9d9040536b43241e63117c9bb34beaa (patch)
treec9f3a3793372a1be6a7e73cdf633e2dae40c21c9 /Software/Visual_Studio/Tango.Core/ExtensionMethods
parent3f069bb4a5303b2c732ba1263229f62526acc693 (diff)
downloadTango-621230afe9d9040536b43241e63117c9bb34beaa.tar.gz
Tango-621230afe9d9040536b43241e63117c9bb34beaa.zip
Implemented Jobs, JobRuns & Machine Events Synchronization.
Added synchronizations to Updates view on Machine Designer. Removed request response events logging from machine studio. Fixed issue with exception throwing from machine service. Implemented "New jobs synchronized" notification item to PPC. Added synchronization to PPC settings. Added Synchronization view to technician module. Implemented PPC Schema synchronizer utility. Added custom query support to EntityCollectionBuilder. Added synchronization status to TangoUpdate. Removed FK from Jobs and Job runs.
Diffstat (limited to 'Software/Visual_Studio/Tango.Core/ExtensionMethods')
-rw-r--r--Software/Visual_Studio/Tango.Core/ExtensionMethods/ExceptionExtensions.cs17
1 files changed, 17 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.Core/ExtensionMethods/ExceptionExtensions.cs b/Software/Visual_Studio/Tango.Core/ExtensionMethods/ExceptionExtensions.cs
index af4fc39b5..7b87245b7 100644
--- a/Software/Visual_Studio/Tango.Core/ExtensionMethods/ExceptionExtensions.cs
+++ b/Software/Visual_Studio/Tango.Core/ExtensionMethods/ExceptionExtensions.cs
@@ -31,6 +31,23 @@ public static class ExceptionExtensions
}
/// <summary>
+ /// Gets the first exception if this is an aggregated exception.
+ /// </summary>
+ /// <param name="exception">The exception.</param>
+ /// <returns></returns>
+ public static Exception GetFirstIfAggregate(this Exception exception)
+ {
+ var ex = exception as AggregateException;
+
+ if (ex != null && ex.InnerExceptions.Count > 0)
+ {
+ return ex.InnerExceptions.First();
+ }
+
+ return exception;
+ }
+
+ /// <summary>
/// Flattens the exception message in case it is an aggregated exception.
/// </summary>
/// <param name="exception">The exception.</param>