/// <summary>
        /// Convert to the data operation exception.
        /// </summary>
        /// <param name="ex">The ex.</param>
        /// <returns>Data operation exception</returns>
        public static DataOperationException ToDataOperationException(this SqlException ex)
        {
            DataOperationException dataException = null;

            // Assume the interesting stuff is in the first error
            if (ex.Errors.Count > 0)
            {
                switch (ex.Errors[0].Number)
                {
                case 547:     // Foreign Key violation
                    dataException = new DataOperationException("This record is in use.");
                    break;

                case 2601:     // Primary key violation
                    dataException = new DataOperationException("Primary key violation.");
                    break;

                default:
                    dataException = new DataOperationException("Unknown data exception.");
                    break;
                }
            }

            return(dataException);
        }
Пример #2
0
        public static DataOperationException ToDataOperationException(this System.Data.Entity.Infrastructure.DbUpdateException dbUpdateException)
        {
            DataOperationException result = null;

            Exception innerMostException = dbUpdateException.InnerMostException();
            var       sqlException       = innerMostException as SqlException; //if (innerMostException is SqlException) if (innerMostException.GetType().IsAssignableFrom(typeof(SqlException)))

            if (sqlException != null)
            {
                result = sqlException.ToDataOperationException();
            }
            else
            {
                result = new DataOperationException("Unknown Data Error", dbUpdateException);
            }
            return(result);
        }
Пример #3
0
 public static DataOperationException ToDataOperationException(this SqlException ex)
 {
     DataOperationException dataException = null;
     if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
     {
         switch (ex.Errors[0].Number)
         {
             case 547: // Foreign Key violation
                 dataException = new DataOperationException("This record is in use.");
                 break;
             case 2601: // Primary key violation
                 dataException = new DataOperationException("Primary key violation.");
                 break;
             default:
                 dataException = new DataOperationException("Unknown data exception.");
                 break;
         }
     }
     return dataException;
 }
Пример #4
0
        public static DataOperationException ToDataOperationException(this System.Data.Entity.Infrastructure.DbUpdateException dbUpdateException)
        {
            DataOperationException result = null;

            Exception innerMostException = dbUpdateException.InnerMostException();
            var sqlException = innerMostException as SqlException; //if (innerMostException is SqlException) if (innerMostException.GetType().IsAssignableFrom(typeof(SqlException)))
            if (sqlException != null)
            {
                result = sqlException.ToDataOperationException();
            }
            else
            {
                result = new DataOperationException("Unknown Data Error", dbUpdateException);
            }
            return result;

        }