private static async Task SaveToDatabase(TagReportData tagReport) { using (IDbConnection db = new SqlConnection(Config.ConnectionString)) { var sql = tagReport.GetSqlInsertStatement(Config); await db.ExecuteAsync(sql); } }
private static void Reader_TagsReported(ImpinjReader reader, TagReport report) { foreach (var tag in report.Tags) { var tagReport = new TagReportData(tag, reader.Name); var existInCache = MemoryCache.Default.AddOrGetExisting(tagReport.GetTagId(), tagReport.EventDateTimeUtc, Config.CachePolicy); if (existInCache == null) { Task.Run(() => SaveToDatabase(tagReport)); Console.WriteLine($"{tagReport.EventDateTimeUtc.ToLocalTime().ToLongTimeString()} Tag reported: {tagReport.GetTagId()}"); } } }