public SaveResult Complete() { SaveResult SaveResult = new SaveResult { }; SaveResult.Result = 0; SaveResult.ErrorMessage = string.Empty; try { SaveResult.Result = _context.SaveChanges(); //attempt to save changes to DB SaveResult.Result = 1; //if success set to 1 return(SaveResult); } catch (DbEntityValidationException e) //if fails record the error message { foreach (var error in e.EntityValidationErrors) { System.Diagnostics.Debug.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", error.Entry.Entity.GetType().Name, error.Entry.State); foreach (var validation_error in error.ValidationErrors) { System.Diagnostics.Debug.WriteLine("- Property: \"{0}\", Error: \"{1}\"", validation_error.PropertyName, validation_error.ErrorMessage); } } SaveResult.ErrorMessage = e.Message; return(SaveResult); } catch (DbUpdateException e) { System.Diagnostics.Debug.WriteLine(e.InnerException); System.Data.Entity.Core.UpdateException update_error = (System.Data.Entity.Core.UpdateException)e.InnerException; System.Data.SqlClient.SqlException error = (System.Data.SqlClient.SqlException)update_error.InnerException; SaveResult.ErrorMessage = error.Message; return(SaveResult); } catch (System.Data.SqlClient.SqlException e) { System.Diagnostics.Debug.WriteLine(e.Message); SaveResult.ErrorMessage = e.Message; return(SaveResult); } catch (Exception e) { System.Diagnostics.Debug.WriteLine(e.Message); SaveResult.ErrorMessage = e.Message; return(SaveResult); } }
internal static UpdateException Map(this System.Data.Entity.Core.UpdateException ex) { var entities = ex.StateEntries.Map(); return(new UpdateException(ex.Message, ex, entities)); }