Ejemplo n.º 1
0
        /// <summary>
        /// Метод, выполняющий
        /// </summary>
        /// <param name="sdr_t"></param>
        /// <returns></returns>
        public static MeasurementResults GenerateMeasResults(MeasSdrResults sdr_t)
        {
            MeasurementResults res = new MeasurementResults();

            if (sdr_t != null)
            {
                res = sdr_t.CreateMeasurementResults();
            }
            return(res);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Удаление из общего списка объектов типа MeasSDRResults  -  таких, которые имеют статус Z
 /// и время их существования превышает время, заданное параметром TimeOut
 /// </summary>
 /// <param name="se"></param>
 /// <param name="TimeOut"></param>
 public static void FindAndDestroyObject(this MeasSdrResults se, int TimeOut, string Status)
 {
     lock (tmLife) {
         ExtendClases <MeasSdrResults> rx = tmLife.Find(t => t.Key.MeasTaskId.Value == se.MeasTaskId.Value && t.Key.MeasSubTaskId.Value == se.MeasSubTaskId.Value && t.Key.MeasSubTaskStationId == se.MeasSubTaskStationId && t.Key.SensorId.Value == se.SensorId.Value && t.Key.status == Status);
         if (rx != null)
         {
             if (rx.Counter > TimeOut)
             {
                 tmLife.RemoveAll(t => t.Key.MeasTaskId.Value == se.MeasTaskId.Value && t.Key.MeasSubTaskId.Value == se.MeasSubTaskId.Value && t.Key.MeasSubTaskStationId == se.MeasSubTaskStationId && t.Key.SensorId.Value == se.SensorId.Value && t.Key.status == Status);
                 GlobalInit.MEAS_SDR_RESULTS.RemoveAll(t => t.MeasTaskId.Value == se.MeasTaskId.Value && t.MeasSubTaskId.Value == se.MeasSubTaskId.Value && t.MeasSubTaskStationId == se.MeasSubTaskStationId && t.SensorId.Value == se.SensorId.Value && t.status == Status);
             }
         }
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Добавление нового объекта в список объектов и старт таймера
 /// для отсчитывания времени его существования
 /// </summary>
 /// <param name="se"></param>
 public static void StartLifeTime(this MeasSdrResults se)
 {
     lock (tmLife) {
         ExtendClases <MeasSdrResults> rx = tmLife.Find(t => t.Key.MeasTaskId.Value == se.MeasTaskId.Value && t.Key.MeasSubTaskId.Value == se.MeasSubTaskId.Value && t.Key.MeasSubTaskStationId == se.MeasSubTaskStationId && t.Key.SensorId.Value == se.SensorId.Value);
         if (rx == null)
         {
             tmLife.Add(new ExtendClases <MeasSdrResults>(se));
             GlobalInit.MEAS_SDR_RESULTS.RemoveAll(t => t.MeasTaskId.Value == se.MeasTaskId.Value && t.MeasSubTaskId.Value == se.MeasSubTaskId.Value && t.MeasSubTaskStationId == se.MeasSubTaskStationId && t.SensorId.Value == se.SensorId.Value);
             GlobalInit.MEAS_SDR_RESULTS.Add(se);
         }
         else
         {
             if (tmLife.Find(t => t.Key.MeasTaskId.Value == se.MeasTaskId.Value && t.Key.MeasSubTaskId.Value == se.MeasSubTaskId.Value && t.Key.MeasSubTaskStationId == se.MeasSubTaskStationId && t.Key.SensorId.Value == se.SensorId.Value) != null)
             {
                 tmLife.RemoveAll(t => t.Key.MeasTaskId.Value == se.MeasTaskId.Value && t.Key.MeasSubTaskId.Value == se.MeasSubTaskId.Value && t.Key.MeasSubTaskStationId == se.MeasSubTaskStationId && t.Key.SensorId.Value == se.SensorId.Value);
                 tmLife.Add(new ExtendClases <MeasSdrResults>(se));
                 GlobalInit.MEAS_SDR_RESULTS.RemoveAll(t => t.MeasTaskId.Value == se.MeasTaskId.Value && t.MeasSubTaskId.Value == se.MeasSubTaskId.Value && t.MeasSubTaskStationId == se.MeasSubTaskStationId && t.SensorId.Value == se.SensorId.Value);
                 GlobalInit.MEAS_SDR_RESULTS.Add(se);
             }
         }
     }
 }