コード例 #1
0
        private string CreateEventId(NHibernate.IStatelessSession session, EventSummary summary, ushort Code)
        {
            int         num      = 0;
            ActiveEvent newEvt   = null;
            string      newEvtId = null;

            while (true)
            {
                newEvtId = $"{summary.SiteId}.{summary.DeviceName}.{Code}.{num++}";
                newEvt   = session.Get <ActiveEvent>(newEvtId);
                if (newEvt == null)
                {
                    break;
                }
            }
            return(newEvtId);
        }
コード例 #2
0
        private async Task RecoverEventAsync(NHibernate.IStatelessSession session, EventSummary summary, ushort Code, CancellationToken token)
        {
            int         num      = 0;
            ActiveEvent newEvt   = null;
            string      newEvtId = null;

            while (true)
            {
                newEvtId = $"{summary.SiteId}.{summary.DeviceName}.{Code}.{num++}";
                newEvt   = session.Get <ActiveEvent>(newEvtId);
                if (newEvt != null && newEvt.HasRecovered == false)
                {
                    newEvt.RecoverTimestamp = summary.GetTimestamp();
                    newEvt.HasRecovered     = true;
                    await session.UpdateAsync(newEvt, token);
                }
                else if (newEvt == null)
                {
                    break;
                }
            }
        }