private static void Initialize(Core.Units.Data measure, List <Core.Units.Data> units, QuantityDbContext db) { AddMeasure(measure, db); AddTerms(measure, db.MeasureTerms); AddUnits(units, measure.Id, db); AddTerms(units, db); AddUnitFactors(units, SystemOfUnits.SiSystemId, db); db.SaveChanges(); }
private static void addMeasure(Core.Units.Data measure, QuantityDbContext db) { var o = getItem(db.Measures, measure.Id); if (!(o is null)) { return; } db.Measures.Add( new MeasureData { Id = measure.Id, Code = measure.Code, Name = measure.Name, Definition = measure.Definition }); }
private static void addTerms <T>(Core.Units.Data measure, DbSet <T> db) where T : CommonTermData, new() { foreach (var d in measure.Terms) { var o = db.FirstOrDefaultAsync( m => m.MasterId == measure.Id && m.TermId == d.TermId).GetAwaiter().GetResult(); if (!(o is null)) { continue; } db.Add( new T { MasterId = measure.Id, TermId = d.TermId, Power = d.Power }); } }