Exemplo n.º 1
0
        private void ReaderOnTagSeen(object sender, TagSeenEventArgs e)
        {
            if (!this.tagsSeeings.TryGetValue(e.Identifier, out var statistic))
            {
                statistic = new SeeingsStatistic
                {
                    FirstAt = Clock.Time
                };

                if (!this.tagsSeeings.TryAdd(e.Identifier, statistic))
                {
                    this.ReaderOnTagSeen(sender, e);
                }
            }

            statistic.IncrementTimes();
            statistic.LastAt = Clock.Time;
        }
Exemplo n.º 2
0
        private async void RfidReader_TagSeen(object sender, TagSeenEventArgs e)
        {
            using (var context = new ReaderContext())
            {
                var tag = await context.TagInfos.FirstAsync(x => x.RfidKey == e.Identifier);

                if (tag == null)
                {
                    tag = new TagInfo
                    {
                        ActivationCount = 1,
                        RfidKey         = e.Identifier,
                    };
                    await context.TagInfos.AddAsync(tag);
                }

                await context.ActivateEvents.AddAsync(new ActivateEvent
                {
                    EventTime = DateTime.UtcNow,
                    TagInfo   = tag
                });
            }
        }