Esempio n. 1
0
        public void TimeSeriesReadTest()
        {
            //var options = new DbContextOptionsBuilder<TimeSerieContext>()
            //    .UseSqlite(@"Data Source=c:\Users\pajo\Source\Repos\TimeSerie\TimeSerie\TimeSerie.Ef\TimeSerie.db")
            //    .Options;

            //using (var db = new TimeSerieContext(options))
            using (var db = new TimeSerieContext())
            {
                db.Database.EnsureCreated();
                //db.Database.EnsureDeleted();

                var tsList = db.TimeSerieHeaders.Where(tsh => tsh.TimeSerieType == TimeSerieType.Decimal)
                             .Include(tsh => tsh.ValueDecimals).ToList();
                foreach (var ts in tsList)
                {
                    Debug.WriteLine($"TS DECIMAL Id={ts.TimeSerieHeaderId}");
                    foreach (var tsValueDecimal in ts.ValueDecimals)
                    {
                        Debug.WriteLine($"  ValueDecimal {tsValueDecimal.DateTimeOffset} = {tsValueDecimal.Value}");
                    }
                }

                tsList = db.TimeSerieHeaders.Where(tsh => tsh.TimeSerieType == TimeSerieType.String)
                         .Include(tsh => tsh.ValueStrings).ToList();
                foreach (var ts in tsList)
                {
                    Debug.WriteLine($"TS STRING Id={ts.TimeSerieHeaderId}");
                    foreach (var tsValueString in ts.ValueStrings)
                    {
                        Debug.WriteLine($"  ValueString {tsValueString.DateTimeOffset} = {tsValueString.Value}");
                    }
                }
            }
        }
Esempio n. 2
0
        private static async Task ValueStringsInsertUpdate(TimeSerieContext p_DbContext, TimeSerieHeader p_TimeSerieHeaderFromDb,
                                                           ICollection <TimeSerieValueString> p_ValueStringsForInsertUpdate)
        {
            var dbValues = p_DbContext.TimeSerieValueStrings
                           .Where(tsv => tsv.TimeSerieHeaderId == p_TimeSerieHeaderFromDb.TimeSerieHeaderId).ToList();

            foreach (var p_ValueStringsForInsertUpdateItem in p_ValueStringsForInsertUpdate)
            {
                var dtoFound = dbValues.Find(d => d.DateTimeOffset == p_ValueStringsForInsertUpdateItem.DateTimeOffset);
                if (dtoFound != null)
                {
                    dtoFound.Value = p_ValueStringsForInsertUpdateItem.Value;
                }
                else
                {
                    await p_DbContext.TimeSerieValueStrings.AddAsync(p_ValueStringsForInsertUpdateItem);
                }
            }
        }
Esempio n. 3
0
        public void TimeSeriesInsertTest()
        {
            //var options = new DbContextOptionsBuilder<TimeSerieContext>()
            //    .UseSqlite(@"Data Source=c:\Users\pajo\Source\Repos\TimeSerie\TimeSerie\TimeSerie.Ef\TimeSerie.db")
            //    .Options;

            //using (var db = new TimeSerieContext(options))
            using (var db = new TimeSerieContext())
            {
                db.Database.EnsureCreated();
                //db.Database.EnsureDeleted();

                db.TimeSerieHeaders.Add(new TimeSerieHeader()
                {
                    TimeSerieType = TimeSerieType.Decimal,
                    ValueDecimals = new List <TimeSerieValueDecimal>()
                    {
                        new TimeSerieValueDecimal(new DateTimeOffset(new DateTime(2000, 1, 1)), 10),
                        new TimeSerieValueDecimal(new DateTimeOffset(new DateTime(2000, 1, 2)), 20),
                    }
                });
                db.TimeSerieHeaders.Add(new TimeSerieHeader()
                {
                    TimeSerieType = TimeSerieType.String,
                    ValueStrings  = new List <TimeSerieValueString>()
                    {
                        new TimeSerieValueString(new DateTimeOffset(new DateTime(2000, 1, 1)), "a"),
                        new TimeSerieValueString(new DateTimeOffset(new DateTime(2000, 1, 2)), "b"),
                    }
                });
                var count = db.SaveChanges();
                Debug.WriteLine("{0} records saved to database", count);

                Debug.WriteLine("");
                Debug.WriteLine("All ts in database:");
                foreach (var ts in db.TimeSerieHeaders)
                {
                    Debug.WriteLine($"{ts.TimeSerieHeaderId}");
                }
            }
        }