Ejemplo n.º 1
0
        public static void GetFinalError(SavingResult res, Exception ex)
        {
            res.ExecutionResult = eExecutionResult.ErrorWhileExecuting;
            res.Exception       = ex;
            while (res.Exception != null && res.Exception.Message == "An error occurred while updating the entries. See the inner exception for details.")
            {
                res.Exception = res.Exception.InnerException;
            }

            if (ex.GetType() == typeof(System.Data.Entity.Validation.DbEntityValidationException))
            {
                res.ValidationError = "dbEntity Validation Errors : \r\n\r\n";

                System.Data.Entity.Validation.DbEntityValidationException ValidationException = (System.Data.Entity.Validation.DbEntityValidationException)ex;

                foreach (System.Data.Entity.Validation.DbEntityValidationResult ValidRes in ValidationException.EntityValidationErrors)
                {
                    foreach (System.Data.Entity.Validation.DbValidationError ValidError in ValidRes.ValidationErrors)
                    {
                        res.ValidationError += ValidError.PropertyName + " = " + ValidError.ErrorMessage + "\r\n";
                    }
                    res.ValidationError += "\r\n";
                }

                res.Exception = new Exception(res.ValidationError);
            }
        }
        public void DbEntityValidationException_parameterless_constructor()
        {
            var exception = new DbEntityValidationException();

            Assert.Equal(Strings.DbEntityValidationException_ValidationFailed, exception.Message);
            Assert.False(exception.EntityValidationErrors.Any());
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 设置异常数据
 /// </summary>
 private void SetExceptionDatas( DbEntityValidationException exception ) {
     foreach ( var errors in exception.EntityValidationErrors ) {
         foreach ( var error in errors.ValidationErrors ) {
             Data.Add( string.Format( "{0}属性验证失败", error.PropertyName ), error.ErrorMessage );
         }
     }
 }
 protected void addErrorMessage(DbEntityValidationException exception)
 {
     if (exception != null)
     {
         if (exception.EntityValidationErrors != null && exception.EntityValidationErrors.Count() > 0)
         {
             foreach (DbEntityValidationResult result in exception.EntityValidationErrors)
             {
                 if (result.ValidationErrors != null)
                 {
                     foreach (var error in result.ValidationErrors)
                     {
                         addErrorMessage(error.ErrorMessage);
                     }
                 }
             }
         }
         else
         {
             if (!String.IsNullOrWhiteSpace(exception.Message))
             {
                 addErrorMessage(exception.Message);
             }
         }
     }
 }
Ejemplo n.º 5
0
    //public static int

    public static string CreateComplexMessage(this System.Data.Entity.Validation.DbEntityValidationException exception, string glueBefore = " - ", string glueAfter = ";\r\n")
    {
        var error = "";
        var parts = new List <string>();

        foreach (var _error in exception.EntityValidationErrors)
        {
            if (!_error.IsValid)
            {
                foreach (var __error in _error.ValidationErrors)
                {
                    var errorMessage = glueBefore + __error.ErrorMessage;
                    if (!string.IsNullOrEmpty(glueAfter))
                    {
                        if (!errorMessage.Last().In('.', ',', ';', '!', '?'))
                        {
                            errorMessage += glueAfter;
                        }
                    }

                    parts.Add(errorMessage);
                }
            }
        }

        error = string.Join("", parts);


        return(error);
    }
Ejemplo n.º 6
0
 public void Append(DbEntityValidationException exception)
 {
     foreach (var validationError in exception.EntityValidationErrors.SelectMany(entityValidationError => entityValidationError.ValidationErrors))
     {
         Errors.Add(new PropertyMessagePair { PropertyName = validationError.PropertyName, Message = validationError.ErrorMessage });
     }
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Recopila todas las validación falladas de una DbEntityValidationException y las convierte a string.
        /// </summary>
        /// <param name="ex"></param>
        /// <returns></returns>
        public static string ParseDbEntityValidationException(DbEntityValidationException ex)
        {
            var errorMessages = ex.EntityValidationErrors
                    .SelectMany(x => x.ValidationErrors)
                    .Select(x => x.ErrorMessage);

            return string.Join("<br/>", errorMessages);
        }
Ejemplo n.º 8
0
 public static string AnotarEntityValidationException(DbEntityValidationException ex)
 {
     var errorMessages = ex.EntityValidationErrors.SelectMany(x => x.ValidationErrors).Select(x => x.ErrorMessage);
     string fullErrorMessage = string.Join("; ", errorMessages);
     string exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage);
     _log.Error(exceptionMessage);
     return exceptionMessage;
 }
Ejemplo n.º 9
0
 public static string ExceptionMessage(DbEntityValidationException ex)
 {
     var errorMessage = ex.EntityValidationErrors.SelectMany(x => x.ValidationErrors).Select(x => x.ErrorMessage);
     var fullErrorMessage = String.Join("; ", errorMessage);
     var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage);
     DbEntityValidationException e = new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors);
     return e.Message;
 }
        public void GetValidationDescription_HandlesValidationErrors(DbEntityValidationException ex, string expected)
        {
            // Act
            string actual = EntityUtils.GetValidationDescription(ex);

            // Assert
            Assert.Equal(expected, actual);
        }
 private IEnumerable<DataValidationResult> GetErrors(DbEntityValidationException validationException)
 {
     foreach (var dbEntityValidationResult in validationException.EntityValidationErrors)
     {
         EntityEntry entry = new EntityEntry(dbEntityValidationResult.Entry);
         IEnumerable<ValidationError> entryErrors = GetEntryErrors(dbEntityValidationResult.ValidationErrors);
         yield return new DataValidationResult(entry, entryErrors);
     }
 }
 private void HandleException(DbEntityValidationException ex)
 {
     var details = from DbValidationError error in ex.EntityValidationErrors.First().ValidationErrors
                   select new
                   {
                       Error = error.ErrorMessage
                   };
     ShowExceptions(details, STR_TEXT_ValidationErrors, STR_TITLE_ValidationErrors, STR_TITLE_ICON_warning, STR_PANEL_danger);
 }
Ejemplo n.º 13
0
        public static void Write(DbEntityValidationException exception)
        {
            Debug.WriteLine(exception.Message);

            foreach (var validationError in exception.EntityValidationErrors)
            {
                Debug.WriteLine(validationError.Entry.Entity.GetType().Name);
            }
        }
Ejemplo n.º 14
0
 public static void GetDbErrorState(DbEntityValidationException dbEx)
 {
     foreach (var validationErrors in dbEx.EntityValidationErrors)
     {
         foreach (var validationError in validationErrors.ValidationErrors)
         {
             Trace.TraceInformation("Property: {0} Error: {1} Entity: {2}", validationError.PropertyName, validationError.ErrorMessage, validationErrors.Entry.Entity.GetType().FullName);
         }
     }
 }
Ejemplo n.º 15
0
 public static void CheckDbEntityValidationException(DbEntityValidationException e)
 {
     foreach (DbEntityValidationResult result in e.EntityValidationErrors)
     {
         foreach (DbValidationError ve in result.ValidationErrors)
         {
             Console.WriteLine("invalid property: {0}", ve.PropertyName);
         }
     }
 }
Ejemplo n.º 16
0
 public void RegistraErros(DbEntityValidationException e)
 {
     foreach (var eve in e.EntityValidationErrors)
     {
         foreach (var ve in eve.ValidationErrors)
         {
             ModelState.AddModelError(ve.PropertyName, ve.ErrorMessage);
         }
     }
 }
 public static void MergeValidationErrors(ModelStateDictionary state, DbEntityValidationException errors)
 {
     foreach (var entity in errors.EntityValidationErrors)
     {
         foreach (var error in entity.ValidationErrors)
         {
             state.AddModelError(error.PropertyName, error.ErrorMessage);
         }
     }
 }
Ejemplo n.º 18
0
 public void logDbContextException(DbEntityValidationException e)
 {
     foreach (var eve in e.EntityValidationErrors)
     {
         logger.Error("Entity of type \"" + eve.Entry.Entity.GetType().Name + "\" in state \"" + eve.Entry.State + "\" has the following validation errors:",e);
         foreach (var ve in eve.ValidationErrors)
         {
             logger.Error("- Property: \"" + ve.PropertyName + "\", Error: \"" + ve.ErrorMessage + "\"",e);
         }
     }
 }
        internal static string GetErrorMessage(DbEntityValidationException validationException)
        {
            StringBuilder messageBuilder = new StringBuilder("Validation Errors").AppendLine();

            var messages = from validationResult in validationException.EntityValidationErrors
                           select GetErrorMessage(validationResult);

            messages.ToList<string>().ForEach(m => messageBuilder.AppendLine(m));

            return messageBuilder.ToString();
        }
Ejemplo n.º 20
0
 public static void LogValidationErrors(DbEntityValidationException ex)
 {
     foreach (var eve in ex.EntityValidationErrors)
     {
         var s = string.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
             eve.Entry.Entity.GetType().Name, eve.Entry.State);
         //Logging.PushString(s);
         s = eve.ValidationErrors.Aggregate(s, (current, ve) => current + string.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage));
         Logging.PutError("DbEntityValidationException EFValidation: " + s, ex);
     }
 }
 public static IEnumerable<ValidatorError> ConvertToValidatorErrorList(DbEntityValidationException exception)
 {
     var errorMessages = new List<string>();
     foreach (DbEntityValidationResult validationResult in exception.EntityValidationErrors)
     {
         //string entityName = validationResult.Entry.Entity.GetType().Name;
         foreach (DbValidationError error in validationResult.ValidationErrors)
         {
             yield return new ValidatorError(error.ErrorMessage, error.PropertyName);
         }
     }
 }
Ejemplo n.º 22
0
 private static string GetError(DbEntityValidationException ex)
 {
     StringBuilder builder = new StringBuilder();
     foreach (var validationErrors in ex.EntityValidationErrors)
     {
         foreach (var validationError in validationErrors.ValidationErrors)
         {
             builder.AppendLine(validationError.ErrorMessage);
         }
     }
     return builder.ToString();
 }
        static string GetErrorMessage(DbEntityValidationException dbEntityValidationException)
        {
            var stringBuilder = new StringBuilder();
            stringBuilder.AppendLine("Validation failed for one or more entities.");

            foreach (var dbEntityValidationResult in dbEntityValidationException.EntityValidationErrors)
            {
                AppendErrorMessages(dbEntityValidationResult, stringBuilder);
            }

            return stringBuilder.ToString();
        }
Ejemplo n.º 24
0
 public static void DisplayValidationErrors(DbEntityValidationException e)
 {
     string errorFormat = @"Validation failed for entity [{0}]. Validation errors:" + Environment.NewLine + @"{1}";
     var errorList = new List<String>();
     foreach (var entityValidationError in e.EntityValidationErrors)
     {
         var entityName = entityValidationError.Entry.Entity.GetType().Name;
         var errors = String.Join(Environment.NewLine, entityValidationError.ValidationErrors.Select(a => a.PropertyName + ": " + a.ErrorMessage));
         errorList.Add(String.Format(errorFormat, entityName, errors));
     }
     throw new Exception(String.Join(Environment.NewLine + Environment.NewLine, errorList) + Environment.NewLine, e);
 }
        public void HandleDbEntityValidationException(DbEntityValidationException e)
        {
            var message = new StringBuilder();

            foreach (var err in e.EntityValidationErrors)
            {
                foreach (var inner in err.ValidationErrors)
                {
                    message.AppendLine(inner.ErrorMessage);
                }
            }
            throw new Exception(message.ToString());
        }
        protected string GetFullErrorText(System.Data.Entity.Validation.DbEntityValidationException exc)
        {
            var msg = string.Empty;

            foreach (var validationErrors in exc.EntityValidationErrors)
            {
                foreach (var error in validationErrors.ValidationErrors)
                {
                    msg += string.Format("Property: {0} Error: {1}", error.PropertyName, error.ErrorMessage) + Environment.NewLine;
                }
            }
            return(msg);
        }
        public string ComposeErrorMessage(DbEntityValidationException e)
        {
            var message = new StringBuilder();

            foreach (var err in e.EntityValidationErrors)
            {
                foreach (var inner in err.ValidationErrors)
                {
                    message.AppendLine(inner.ErrorMessage);
                }
            }
            return message.ToString();
        }
        private static HttpResponseMessage CreateResponseMessage(HttpRequestMessage request, DbEntityValidationException dbEntityValidationException)
        {
            List<object> validationErrors = new List<object>();

            foreach (DbEntityValidationResult error in dbEntityValidationException.EntityValidationErrors) {
                validationErrors.Add(new {
                                             entityType = error.Entry.Entity.GetType(),
                                             errors = error.ValidationErrors
                                         });
            }

            return request.CreateResponse(HttpStatusCode.BadRequest, validationErrors);
        }
Ejemplo n.º 29
0
        public static string ValidationExceptionToString(DbEntityValidationException ex)
        {
            string msg = "";
            foreach (DbEntityValidationResult vr in ex.EntityValidationErrors)
            {
                foreach (DbValidationError ve in vr.ValidationErrors)
                {
                    msg += String.Format("'{0}': {1}\n", ve.PropertyName, ve.ErrorMessage);
                }
            }

            return msg;
        }
Ejemplo n.º 30
0
Archivo: Util.cs Proyecto: Juliusz/Test
 public static string EvaluateEFException(DbEntityValidationException dbEx)
 {
     var sb = new StringBuilder();
     foreach (var validationErrors in dbEx.EntityValidationErrors)
     {
         sb.AppendFormat("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", validationErrors.Entry.Entity.GetType().Name, validationErrors.Entry.State);
         foreach (var validationError in validationErrors.ValidationErrors)
         {
             sb.AppendFormat("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
         }
     }
        return sb.ToString();
 }
Ejemplo n.º 31
0
        public static Dictionary <string, IList <string> > GetAllErrorMessages(this DbEntityValidationException dbEntityValidationException)
        {
            var data = new Dictionary <string, IList <string> >();

            foreach (var item in dbEntityValidationException.EntityValidationErrors.SelectMany(x => x.ValidationErrors))
            {
                data.Add(item.PropertyName, new List <string>()
                {
                    item.ErrorMessage
                });
            }

            return(data);
        }
 /// <summary>
 /// Converts System.Data.Entity.Validation.DbEntityValidationException exception to database-independent DbException exception used in Data Layer and View Model Layer.
 /// </summary>
 /// <param name="exception">Exception to convert.</param>
 public static DbException Convert(DbEntityValidationException exception)
 {
     StringBuilder stringBuilder = new StringBuilder();
     foreach (DbEntityValidationResult validationResult in exception.EntityValidationErrors)
     {
         foreach (DbValidationError error in validationResult.ValidationErrors)
         {
             if (stringBuilder.Length > 0)
                 stringBuilder.AppendLine();
             stringBuilder.Append(error.PropertyName + ": " + error.ErrorMessage);
         }
     }
     return new DbException(stringBuilder.ToString(), CommonResources.Exception_ValidationErrorCaption, exception);
 }
Ejemplo n.º 33
0
        public static void ThrowDetailedEntityValidationErrors(DbEntityValidationException e)
        {
            // Retrieve the error messages as a list of strings.
            var errorMessages = e.EntityValidationErrors
                    .SelectMany(x => x.ValidationErrors)
                    .Select(x => x.ErrorMessage);

            // Join the list to a single string.
            var fullErrorMessage = string.Join("; ", errorMessages);

            // Combine the original exception message with the new one.
            var exceptionMessage = string.Concat(e.Message, " The validation errors are: ", fullErrorMessage);

            // Throw a new DbEntityValidationException with the improved exception message.
            throw new DbEntityValidationException(exceptionMessage, e.EntityValidationErrors);
        }
Ejemplo n.º 34
0
 public static void ViewEntityValidationException(DbEntityValidationException dbEx)
 {
     try
     {
         Trace.TraceInformation("■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■{0}", Environment.NewLine);
         Trace.TraceInformation("Detallando 'DbEntityValidationException'{0}", Environment.NewLine);
         foreach (var validationErrors in dbEx.EntityValidationErrors)
         {
             foreach (var validationError in validationErrors.ValidationErrors)
             {
                 Trace.TraceInformation(">>> Property: {0} Error: {1}{2}", validationError.PropertyName, validationError.ErrorMessage, Environment.NewLine);
             }
         }
         Trace.TraceInformation("■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■{0}", Environment.NewLine);
     }
     catch (Exception exc)
     {
         Trace.TraceInformation("Error intentando detallar 'DbEntityValidationException'. {0}", exc.Message);
     }
 }
Ejemplo n.º 35
0
        public Exception HandleException(Exception exception, Guid handlingInstanceId)
        {
            System.Data.Entity.Validation.DbEntityValidationException excepcionValidacion = exception as System.Data.Entity.Validation.DbEntityValidationException;

            string Mensaje = "";

            foreach (System.Data.Entity.Validation.DbEntityValidationResult validacion in excepcionValidacion.EntityValidationErrors)
            {
                foreach (DbValidationError errorvalidacion in validacion.ValidationErrors)
                {
                    Mensaje += $"•{errorvalidacion.ErrorMessage}\r\n";
                    //this.Controls[0].DataBindings.Add()
                }
            }

            //Se notifica al usuario a través de MessageBox
            System.Windows.Forms.MessageBox.Show(Mensaje, "Errores de validacion");

            return(excepcionValidacion);
        }
Ejemplo n.º 36
0
        protected Tuple <string, IEnumerable <DbEntityValidationResult> > parseEntityValidationException(System.Data.Entity.Validation.DbEntityValidationException ex)
        {
            // Retrieve the error messages as a list of strings.
            var errorMessages = ex.EntityValidationErrors
                                .SelectMany(x => x.ValidationErrors)
                                .Select(x => x.PropertyName + ": " + x.ErrorMessage);

            // Join the list to a single string.
            var fullErrorMessage = string.Join(" ", errorMessages);

            // Combine the original exception message with the new one.
            var exceptionMessage = string.Concat(ex.Message, " ", fullErrorMessage);

            // Pass the details for a new DbEntityValidationException with the improved exception message.
            return(new Tuple <string, IEnumerable <DbEntityValidationResult> >(exceptionMessage, ex.EntityValidationErrors));
        }
Ejemplo n.º 37
0
 //
 // Summary:
 //     Initializes a new instance of DbEntityValidationException.
 public DbEntityValidationExceptionBase()
 {
     _dbEntityValidationException = new DbEntityValidationException();
 }
Ejemplo n.º 38
0
 //
 // Summary:
 //     Initializes a new instance of DbEntityValidationException.
 //
 // Parameters:
 //   message:
 //     The exception message.
 public DbEntityValidationExceptionBase(string message)
 {
     _dbEntityValidationException = new DbEntityValidationException();
 }
Ejemplo n.º 39
0
 public DbEntityValidationExceptionBase(Exception exception)
 {
     _dbEntityValidationException = exception as DbEntityValidationException;
 }
Ejemplo n.º 40
0
 //
 // Summary:
 //     Initializes a new instance of DbEntityValidationException.
 //
 // Parameters:
 //   message:
 //     The exception message.
 //
 //   innerException:
 //     The inner exception.
 public DbEntityValidationExceptionBase(string message, Exception innerException)
 {
     _dbEntityValidationException = new DbEntityValidationException(message, innerException);
 }