Exemple #1
0
 public void ErrorAsync(LogModel model)
 {
     Task.Run(() =>
     {
         var entity = GetLogEntity(model);
         //_logRepository.Insert(entity);
         _context.AuditLog.Add(entity);
         _context.SaveChanges();
     });
 }
        /// <summary>
        /// Rollback of entity changes and return full error message
        /// </summary>
        /// <param name="exception">Exception</param>
        /// <returns>Error message</returns>
        protected string GetFullErrorTextAndRollbackEntityChanges(DbUpdateException exception)
        {
            //rollback entity changes
            if (_context is DbContext dbContext)
            {
                var entries = dbContext.ChangeTracker.Entries()
                              .Where(e => e.State == EntityState.Added || e.State == EntityState.Modified).ToList();

                entries.ForEach(entry => entry.State = EntityState.Unchanged);
            }

            _context.SaveChanges();
            return(exception.ToString());
        }