diff --git a/Disco.Client/Properties/AssemblyInfo.cs b/Disco.Client/Properties/AssemblyInfo.cs index cdffc07e..4d4e0891 100644 --- a/Disco.Client/Properties/AssemblyInfo.cs +++ b/Disco.Client/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.2.0509.1618")] -[assembly: AssemblyFileVersion("1.2.0509.1618")] \ No newline at end of file +[assembly: AssemblyVersion("1.2.0513.1327")] +[assembly: AssemblyFileVersion("1.2.0513.1327")] \ No newline at end of file diff --git a/Disco.Data/Properties/AssemblyInfo.cs b/Disco.Data/Properties/AssemblyInfo.cs index ab7914fb..6a22b20c 100644 --- a/Disco.Data/Properties/AssemblyInfo.cs +++ b/Disco.Data/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.2.0509.1622")] -[assembly: AssemblyFileVersion("1.2.0509.1622")] \ No newline at end of file +[assembly: AssemblyVersion("1.2.0513.1327")] +[assembly: AssemblyFileVersion("1.2.0513.1327")] \ No newline at end of file diff --git a/Disco.Models/Properties/AssemblyInfo.cs b/Disco.Models/Properties/AssemblyInfo.cs index 53ed514d..516d370d 100644 --- a/Disco.Models/Properties/AssemblyInfo.cs +++ b/Disco.Models/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.2.0509.1622")] -[assembly: AssemblyFileVersion("1.2.0509.1622")] \ No newline at end of file +[assembly: AssemblyVersion("1.2.0513.1327")] +[assembly: AssemblyFileVersion("1.2.0513.1327")] \ No newline at end of file diff --git a/Disco.Services/Logging/SystemLog.cs b/Disco.Services/Logging/SystemLog.cs index aa52e75a..ecca9250 100644 --- a/Disco.Services/Logging/SystemLog.cs +++ b/Disco.Services/Logging/SystemLog.cs @@ -44,13 +44,33 @@ namespace Disco.Services.Logging } public static void LogException(string Component, Exception ex) { - if (ex.InnerException != null) + // Handle Special-Case Errors + if (ex is System.Data.Entity.Validation.DbEntityValidationException) { - Log(EventTypeIds.ExceptionWithInner, Component, ex.GetType().Name, ex.Message, ex.StackTrace, ex.InnerException.GetType().Name, ex.InnerException.Message, ex.InnerException.StackTrace); + var dbException = (System.Data.Entity.Validation.DbEntityValidationException)ex; + + StringBuilder message = new StringBuilder(); + message.AppendLine("Validation failed for one or more entities:"); + foreach (var dbEntityError in dbException.EntityValidationErrors) + { + message.Append("'").Append(dbEntityError.Entry.Entity.GetType().Name).AppendLine("' Object"); + foreach (var dbValidationError in dbEntityError.ValidationErrors) + { + message.Append(" ").Append(dbValidationError.PropertyName).Append(": ").AppendLine(dbValidationError.ErrorMessage); + } + } + Log(EventTypeIds.Exception, Component, ex.GetType().Name, message.ToString(), ex.StackTrace); } else { - Log(EventTypeIds.Exception, Component, ex.GetType().Name, ex.Message, ex.StackTrace); + if (ex.InnerException != null) + { + Log(EventTypeIds.ExceptionWithInner, Component, ex.GetType().Name, ex.Message, ex.StackTrace, ex.InnerException.GetType().Name, ex.InnerException.Message, ex.InnerException.StackTrace); + } + else + { + Log(EventTypeIds.Exception, Component, ex.GetType().Name, ex.Message, ex.StackTrace); + } } } diff --git a/Disco.Services/Properties/AssemblyInfo.cs b/Disco.Services/Properties/AssemblyInfo.cs index 64d0a100..27e53102 100644 --- a/Disco.Services/Properties/AssemblyInfo.cs +++ b/Disco.Services/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.2.0509.1622")] -[assembly: AssemblyFileVersion("1.2.0509.1622")] \ No newline at end of file +[assembly: AssemblyVersion("1.2.0513.1327")] +[assembly: AssemblyFileVersion("1.2.0513.1327")] \ No newline at end of file diff --git a/Disco.Web.Extensions/Properties/AssemblyInfo.cs b/Disco.Web.Extensions/Properties/AssemblyInfo.cs index 65a817ae..b4f1c468 100644 --- a/Disco.Web.Extensions/Properties/AssemblyInfo.cs +++ b/Disco.Web.Extensions/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.2.0509.1622")] -[assembly: AssemblyFileVersion("1.2.0509.1622")] \ No newline at end of file +[assembly: AssemblyVersion("1.2.0513.1327")] +[assembly: AssemblyFileVersion("1.2.0513.1327")] \ No newline at end of file diff --git a/Disco.Web/Properties/AssemblyInfo.cs b/Disco.Web/Properties/AssemblyInfo.cs index f5c58a01..770a56b2 100644 --- a/Disco.Web/Properties/AssemblyInfo.cs +++ b/Disco.Web/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ using System.Runtime.InteropServices; // // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("1.2.0509.1622")] -[assembly: AssemblyFileVersion("1.2.0509.1622")] \ No newline at end of file +[assembly: AssemblyVersion("1.2.0513.1327")] +[assembly: AssemblyFileVersion("1.2.0513.1327")] \ No newline at end of file