Ejemplo n.º 1
0
 //Получение диапазона времени источника
 //Возвращает Default интервал, если нет связи с источником
 //Возвращает TimeInterval(Static.MinDate, DateTime.Now) если источник не позволяет определять диапазон
 protected internal TimeInterval GetTime()
 {
     try
     {
         if (!Connect())
         {
             return(TimeInterval.CreateDefault());
         }
         AddEvent("Определение диапазона " + (this is Receiver ? "приемника" : "источника"));
         var ti = GetTimeProvider();
         if (!ti.IsDefault)
         {
             AddEvent("Временной диапазон определен", ti.Begin + " - " + ti.End);
         }
         else
         {
             AddError("Временной диапазон не определен");
         }
         return(ti);
     }
     catch (Exception ex)
     {
         AddError("Ошибка определения временного диапазона провайдера", ex);
         return(TimeInterval.CreateDefault());
     }
 }
Ejemplo n.º 2
0
 //Диапазон источника
 protected override TimeInterval GetTimeProvider()
 {
     if (!Connect())
     {
         return(TimeInterval.CreateDefault());
     }
     using (var sys = new SysTabl(DbFile))
         return(new TimeInterval(sys.Value("BeginInterval").ToDateTime(), sys.Value("EndInterval").ToDateTime()));
 }
Ejemplo n.º 3
0
 //Получение времени архива ПТК
 protected override TimeInterval GetTimeProvider()
 {
     using (var rec = new AdoReader(Connection, "Exec RT_ARCHDATE"))
     {
         var beg = rec.GetTime(0);
         var en  = rec.GetTime(1);
         return(beg.ToString() != "0:00:00"
             ? new TimeInterval(beg, en)
             : TimeInterval.CreateDefault());
     }
 }
Ejemplo n.º 4
0
        //Получение диапазона времени провайдера
        //Возвращает Default интервал, если нет связи с провайдером
        //Возвращает TimeInterval(Static.MinDate, DateTime.Now) если провайдер не позволяет определять диапазон
        public TimeInterval GetTime()
        {
            if (Provider == null)
            {
                return(TimeInterval.CreateDefault());
            }
            var ti = Provider.GetTime();

            if (ti.IsDefault && ChangeProvider())
            {
                return(Provider.GetTime());
            }
            return(ti);
        }
Ejemplo n.º 5
0
        //Получение диапазона архива по блокам истории
        protected override TimeInterval GetTimeProvider()
        {
            DateTime mind = Static.MaxDate, maxd = Static.MinDate;

            using (var rec = new AdoReader(SqlProps, "SELECT FromDate, ToDate FROM v_HistoryBlock ORDER BY FromDate, ToDate DESC"))
                while (rec.Read())
                {
                    var fromd = rec.GetTime("FromDate");
                    var tod   = rec.GetTime("ToDate");
                    if (fromd < mind)
                    {
                        mind = fromd;
                    }
                    if (maxd < tod)
                    {
                        maxd = tod;
                    }
                }
            if (mind == Static.MaxDate && maxd == Static.MinDate)
            {
                return(TimeInterval.CreateDefault());
            }
            return(new TimeInterval(mind, maxd));
        }