private MNCDContext InitCtx(string databaseName)
        {
            var options = new DbContextOptionsBuilder <MNCDContext>()
                          .UseInMemoryDatabase(databaseName)
                          .Options;
            var ctx = new MNCDContext(options);

            ctx.DataSets.RemoveRange(ctx.DataSets);
            ctx.SaveChanges();
            var edgeList = "0 0 1 0 1";
            var dataSet  = new NetworkDataSet
            {
                Content    = edgeList,
                FileType   = FileType.EdgeList,
                EdgeList   = edgeList,
                Name       = "Data set 1",
                Hash       = _hasher.GetHashFor(edgeList),
                ActorNames = new List <string> {
                    "A0", "A1"
                },
                EdgeCount  = 1,
                LayerCount = 1,
                LayerNames = new List <string> {
                    "L1"
                },
                NodeCount = 2,
            };

            ctx.DataSets.Add(dataSet);
            ctx.SaveChanges();
            return(new MNCDContext(options));
        }
예제 #2
0
        private static IAnalysisService InitService(MNCDContext ctx)
        {
            var data    = new NetworkDataSetService(ctx, new HashService(), new ReaderService());
            var session = new AnalysisSessionService(ctx);

            return(new AnalysisService(ctx, data, session));
        }
 public NetworkDataSetService(
     MNCDContext ctx,
     IHashService hashService,
     IReaderService readerService)
 {
     _ctx           = ctx;
     _hashService   = hashService;
     _readerService = readerService;
 }
예제 #4
0
 public AnalysisService(
     MNCDContext ctx,
     INetworkDataSetService dataSets,
     IAnalysisSessionService sessions)
 {
     _ctx      = ctx;
     _dataSets = dataSets;
     _sessions = sessions;
 }
예제 #5
0
        private MNCDContext InitCtx(string dbName)
        {
            var options = new DbContextOptionsBuilder <MNCDContext>()
                          .UseInMemoryDatabase(databaseName: dbName)
                          .Options;

            var ctx = new MNCDContext(options);

            var datasets = new List <NetworkDataSet>
            {
                DataSetHelper.Florentine,
                DataSetHelper.LouvainTest,
            };

            ctx.DataSets.AddRange(datasets);
            ctx.SaveChanges();

            var requests = new List <AnalysisRequest>
            {
                new AnalysisRequest
                {
                    CreateDate                    = new DateTime(2020, 12, 01),
                    DataSet                       = DataSetHelper.Florentine,
                    SelectedLayer                 = 0,
                    Approach                      = AnalysisApproach.SingleLayerFlattening,
                    AnalysisAlgorithm             = AnalysisAlgorithm.Louvain,
                    AnalysisAlgorithmParameters   = new Dictionary <string, string>(),
                    FlatteningAlgorithm           = FlatteningAlgorithm.BasicFlattening,
                    FlatteningAlgorithmParameters = new Dictionary <string, string>(),
                }
            };

            var analyses = new List <Analysis>
            {
                new Analysis
                {
                    Request = requests[0]
                }
            };

            ctx.Analyses.AddRange(analyses);
            ctx.SaveChanges();

            var session = new AnalysisSession
            {
                Name     = "AnalysisSession",
                Analyses = analyses,
            };

            ctx.AnalysisSessions.Add(session);
            ctx.SaveChanges();

            return(new MNCDContext(options));
        }
        private MNCDContext InitCtx(string databaseName)
        {
            var options = new DbContextOptionsBuilder <MNCDContext>()
                          .UseInMemoryDatabase(databaseName)
                          .Options;
            var ctx = new MNCDContext(options);

            ctx.AnalysisSessions.RemoveRange(ctx.AnalysisSessions);
            ctx.SaveChanges();
            ctx.AnalysisSessions.Add(new AnalysisSession
            {
                Name = "Session 1"
            });
            ctx.SaveChanges();
            return(new MNCDContext(options));
        }
 private INetworkDataSetService InitService(MNCDContext ctx)
 {
     return(new NetworkDataSetService(ctx, _hasher, _reader));
 }
예제 #8
0
 public VisualizationService(MNCDContext ctx, string baseUrl)
 {
     _ctx     = ctx;
     _baseUrl = baseUrl;
 }
 public AnalysisSessionService(MNCDContext ctx)
 {
     _ctx = ctx;
 }