Example #1
0
        public void LogError(Exception ex)
        {
            LogEvent log = new LogEvent();

            //log.LogEventType = LogEventType.Error;
            log.LogEventType      = "Error";
            log.ChangedByUserId   = this.GetCurrentUserId();
            log.ChangedByUserName = this.GetCurrentUserName();
            log.Date = DateTime.Now;

            Type entityType = ex.GetType();

            log.EntityType = entityType.Name;
            log.EntityId   = "Error";

            var tempEx = ex;

            while (tempEx.StackTrace == null && ex.InnerException != null)
            {
                tempEx = tempEx.InnerException;
            }
            log.StackTrace = tempEx.StackTrace;

            while (tempEx.InnerException != null)
            {
                tempEx = tempEx.InnerException;
            }

            log.ErrorMessage = tempEx.Message;

            repo.UndoChanges();
            repo.Create <LogEvent>(log);
        }