Beispiel #1
0
        /// <summary>
        /// Удаляет записи, которые хранятся больше определенного времени в таблице "Исключения"
        /// </summary>
        public void RemoveExceptOfLifeTime()
        {
            DateTime today       = DateTime.Now;
            DateTime DaysEarlier = today.AddDays(-_lifeTimeInDays);

            using (DataBaseModel context = new DataBaseModel())
            {
                try
                {
                    List <Except> exceptForClearning = (from t in context.Exceptions where t.Time < DaysEarlier select t).ToList();
                    context.Exceptions.RemoveRange(exceptForClearning);
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }
        }
Beispiel #2
0
 /// <summary>
 /// Обновление записи Квитирования в таблице "Аварии"
 /// </summary>
 /// <param name="id">Запись по Id в таблице</param>
 public void AddAlarmConfirm(int id)
 {
     using (DataBaseModel context = new DataBaseModel())
     {
         try
         {
             Alarm alr = context.Alarms.Find(id);
             if (alr != null)
             {
                 alr.TimeConfirm = DateTime.Now;
                 context.Alarms.AddOrUpdate(alr);
             }
             context.SaveChanges();
         }
         catch (Exception ex)
         {
             Console.WriteLine(ex.Message);
         }
     }
 }
Beispiel #3
0
        /// <summary>
        /// Обновление "время нормализации" в таблице "Аварии"
        /// </summary>
        /// <param name="message">Сообщение ранее добавленное в таблицу</param>
        /// <param name="timeWrite">Время создания записи</param>
        public void AddAlarmNormalize(string message, DateTime timeWrite)
        {
            if (!String.IsNullOrEmpty(message))
            {
                using (DataBaseModel context = new DataBaseModel())
                {
                    try
                    {
                        DateTime todayStart = timeWrite;
                        DateTime start      = todayStart.AddDays(-1);

                        DateTime todayFinish = timeWrite;
                        DateTime stop        = todayFinish.AddDays(1);

                        List <Alarm> alarms = context.Alarms.Where(e => e.Time >= start & e.Time <= stop & e.Message == message & e.TimeNormalize == null).ToList();
                        if (alarms == null)
                        {
                            return;
                        }

                        DateTime time  = DateTime.MinValue;
                        Alarm    alarm = alarms[0];
                        foreach (Alarm alr in alarms)
                        {
                            if (alr.Time > time)
                            {
                                time  = alr.Time;
                                alarm = alr;
                            }
                        }
                        alarm.TimeNormalize = DateTime.Now;
                        context.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
            }
        }
Beispiel #4
0
        /// <summary>
        /// Оставляет допустимое кол-во записей в таблице "Исключения"
        /// </summary>
        public void RemoveExceptOfCount()
        {
            using (DataBaseModel context = new DataBaseModel())
            {
                int count = context.Exceptions.Count();
                if (count >= _maxCount)
                {
                    int dif = count - _maxCount;

                    try
                    {
                        List <Except> exceptForClearning = context.Exceptions.Take(dif).OrderBy(t => t.Time).ToList();
                        context.Exceptions.RemoveRange(exceptForClearning);
                        context.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                    }
                }
            }
        }
Beispiel #5
0
 /// <summary>
 /// Добавление записи в таблицу "Исключения"
 /// </summary>
 /// <param name="ex">Объект исключения</param>
 public void AddException(Exception ex)
 {
     using (DataBaseModel context = new DataBaseModel())
     {
         try
         {
             Except exept = new Except()
             {
                 Time            = DateTime.Now,
                 Message         = ex.Message?.ToString() ?? String.Empty,
                 ClassException  = ex.TargetSite?.DeclaringType.ToString() ?? String.Empty,
                 MethodException = ex.TargetSite?.Name.ToString() ?? String.Empty
             };
             context.Exceptions.Add(exept);
             context.SaveChanges();
         }
         catch (Exception e)
         {
             Console.WriteLine(e.Message);
         }
     }
 }
Beispiel #6
0
 /// <summary>
 /// Добавление записи в БД, в таблицу "События"
 /// </summary>
 /// <param name="message">Сообщение, которое необходимо зарегистрировать</param>
 public void AddEvent(string message)
 {
     if (!String.IsNullOrEmpty(message))
     {
         using (DataBaseModel context = new DataBaseModel())
         {
             try
             {
                 var evt = new Event()
                 {
                     Time = DateTime.Now, Message = message
                 };
                 context.Events.Add(evt);
                 context.SaveChanges();
             }
             catch (Exception ex)
             {
                 Console.WriteLine(ex.Message);
             }
         }
     }
 }
Beispiel #7
0
 /// <summary>
 /// Добавление записи в таблицу "Аварии"
 /// </summary>
 /// <param name="message">Сообщение, которое необходимо зерегистрировать</param>
 /// <param name="time">Время добавления записи</param>
 public void AddAlarm(DateTime time, string message)
 {
     if (!String.IsNullOrEmpty(message))
     {
         using (DataBaseModel context = new DataBaseModel())
         {
             try
             {
                 var alr = new Alarm()
                 {
                     Time    = time,
                     Message = message
                 };
                 context.Alarms.Add(alr);
                 context.SaveChanges();
             }
             catch (Exception ex)
             {
                 Console.WriteLine(ex.Message);
             }
         }
     }
 }