Пример #1
0
        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);
            }
        }
Пример #2
0
        internal static UpdateException Map(this System.Data.Entity.Core.UpdateException ex)
        {
            var entities = ex.StateEntries.Map();

            return(new UpdateException(ex.Message, ex, entities));
        }