public void Error(Exception exception, ActionInfo action) { if (exception == null) { return; } var message = new StringBuilder(exception.Message); var inner = exception.InnerException; var depthCounter = 0; int maxExceptionDepth = 5; while (inner != null && depthCounter++ < maxExceptionDepth) { message.Append(" INNER EXCEPTION: "); message.Append(inner.Message); inner = inner.InnerException; } AppException row = new AppException { Action = (action != null) ? action.ActionName : "", Controller = (action != null) ? action.ControllerName : "", Message = message.ToString(), StackTrace = exception.StackTrace }; _identityContext.AppExceptions.Add(row); _identityContext.SaveChanges(); }
public void Initialize() { using (var transaction = _context.Database.BeginTransaction()) { if (_context.Roles.Count() == 0) { List <ApplicationRole> roles = new List <ApplicationRole> { new ApplicationRole("Admin"), new ApplicationRole("User"), new ApplicationRole("Manager") }; foreach (var role in roles) { _context.Roles.Add(role); } } transaction.Commit(); _context.SaveChanges(); } }