コード例 #1
0
 // we initialize every repository and load data from database
 public void Initialize()
 {
     using (var entities = new ExplorerEntities())
     {
         foreach (var repository in repositories.Values)
         {
             repository.Initialize(entities);
         }
     }
 }
コード例 #2
0
        public static void WipeDatabase()
        {
            using (var context = new ExplorerEntities())
            {
                var objectContext = ((IObjectContextAdapter)context).ObjectContext;

                foreach (var tableName in objectContext.MetadataWorkspace.GetEntityContainer(objectContext.DefaultContainerName, DataSpace.CSpace).BaseEntitySets)
                {
                    context.Database.ExecuteSqlCommand($"TRUNCATE {tableName.Name}");
                }

                context.SaveChanges();
            }
        }
コード例 #3
0
        protected override void Populate(RepositoryManager repositories, ExplorerEntities entities)
        {
            // get transformed data
            foreach (var entity in Data)
            {
                repository.CreateOrUpdate(entities, entity);
            }

            var heights     = repositories.GetRepository <TableLedgerHeightRepository>();
            var heightTable = new TableLedgerHeight(repository.TableName, height);

            heights.CreateOrUpdate(entities, heightTable);

            logger.Log($"{repository.TableName}: {Data.Count()}, Height: {height}");
        }
コード例 #4
0
 public void Save(RepositoryManager repositories)
 {
     using (var entities = new ExplorerEntities())
     {
         using (new PerformanceLogger(logger, "PopulateEntitiesLogger"))
         {
             // TODO this is slow
             Populate(repositories, entities);
         }
         using (new PerformanceLogger(logger, "SaveDatabaseLogger"))
         {
             entities.SaveChanges();
         }
     }
     OnSaveFinished();
 }
コード例 #5
0
 protected override DbSet <block> GetDbSet(ExplorerEntities entities)
 {
     return(entities.blocks);
 }
コード例 #6
0
 protected override DbSet <multisignaturesigner> GetDbSet(ExplorerEntities entities)
 {
     return(entities.multisignaturesigners);
 }
コード例 #7
0
 protected override DbSet <declaration> GetDbSet(ExplorerEntities entities)
 {
     return(entities.declarations);
 }
コード例 #8
0
 protected override DbSet <transactioninputoutput> GetDbSet(ExplorerEntities entities)
 {
     return(entities.transactioninputoutputs);
 }
コード例 #9
0
 public abstract void Initialize(ExplorerEntities entities);
コード例 #10
0
 protected override DbSet <account> GetDbSet(ExplorerEntities entities)
 {
     return(entities.accounts);
 }
コード例 #11
0
 protected override DbSet <transactionmessage> GetDbSet(ExplorerEntities entities)
 {
     return(entities.transactionmessages);
 }
コード例 #12
0
 protected abstract void Populate(RepositoryManager repositories, ExplorerEntities entities);
コード例 #13
0
 protected override DbSet <balance> GetDbSet(ExplorerEntities entities)
 {
     return(entities.balances);
 }
コード例 #14
0
 protected override DbSet <secretrevelation> GetDbSet(ExplorerEntities entities)
 {
     return(entities.secretrevelations);
 }
コード例 #15
0
 protected override DbSet <tableledgerheight> GetDbSet(ExplorerEntities entities)
 {
     return(entities.tableledgerheights);
 }
コード例 #16
0
 protected override DbSet <vendingmachine> GetDbSet(ExplorerEntities entities)
 {
     return(entities.vendingmachines);
 }
コード例 #17
0
 protected override DbSet <multisignatureaccount> GetDbSet(ExplorerEntities entities)
 {
     return(entities.multisignatureaccounts);
 }
コード例 #18
0
 protected override DbSet <transactionsignature> GetDbSet(ExplorerEntities entities)
 {
     return(entities.transactionsignatures);
 }
コード例 #19
0
 public override void Initialize(ExplorerEntities entities)
 {
     base.Initialize(entities);
     last = GetEnumerable().Select(declaration => declaration.DeclarationId).DefaultIfEmpty(-1).Max();
 }