예제 #1
0
 public RepositoryFactory(ICypherTransactionFactory cypherTransactionFactory, IProxyFactory proxyFactory, IMetadataFactory metadataFactory)
 {
     _mappers = new ConcurrentDictionary <Type, Func <IGraphSession, IMapper> >();
     _cypherTransactionFactory = cypherTransactionFactory;
     _proxyFactory             = proxyFactory;
     _metadataFactory          = metadataFactory;
 }
예제 #2
0
 public GetQueryExecutor(ICypherTransactionFactory transactionFactory,
                         IMetadataFactory metadataFactory,
                         Func <IRecord, TResult> map, Func <ICypherReturn <TResult>,
                                                            ICypherReturn <TResult> > returnFactory) : base(transactionFactory, metadataFactory)
 {
     _map           = map;
     _returnFactory = returnFactory;
 }
예제 #3
0
 public RepositoryFactory(IDriver db, ICypherTransactionFactory cypherTransactionFactory, IProxyFactory proxyFactory, IMetadataFactory metadataFactory, params Assembly[] assemblies)
     : this(cypherTransactionFactory, proxyFactory, metadataFactory)
 {
     foreach (var assembly in assemblies)
     {
         var types = assembly.GetTypes().Where(x => typeof(IMapper).IsAssignableFrom(x));
         foreach (var type in types)
         {
             foreach (var item in type.GetInterfaces())
             {
                 var arguments = item.GetGenericArguments();
                 if (arguments.Any())
                 {
                     var local = type;
                     Register(session => (IMapper)Activator.CreateInstance(local, session, _cypherTransactionFactory, _metadataFactory), arguments[0]);
                 }
             }
         }
     }
 }
예제 #4
0
        public QueryExecutorFactory(ICypherTransactionFactory transactionFactory, IMetadataFactory metadataFactory, params Assembly[] assemblies) : this(metadataFactory)
        {
            foreach (var assembly in assemblies)
            {
                var types = assembly.GetTypes().Where(x => typeof(IQueryExecutor).IsAssignableFrom(x));

                foreach (var type in types)
                {
                    if (type.BaseType == null)
                    {
                        continue;
                    }

                    var arguments = type.BaseType.GetGenericArguments();

                    if (arguments.Length == 3)
                    {
                        var local = type;

                        Register(session => (IQueryExecutor)Activator.CreateInstance(local, transactionFactory, _metadataFactory), arguments[2]);
                    }
                }
            }
        }
예제 #5
0
 public PersonMapper(IGraphSession session, ICypherTransactionFactory transactionFactory, IMetadataFactory metadataFactory)
     : base(session, transactionFactory, metadataFactory)
 {
 }
예제 #6
0
 protected AbstractQueryExecutor(ICypherTransactionFactory transactionFactory, IMetadataFactory metadataFactory)
 {
     _transactionFactory = transactionFactory;
     _metadataFactory    = metadataFactory;
 }
예제 #7
0
 protected Mapper(IGraphSession session, ICypherTransactionFactory transactionFactory, IMetadataFactory metadataFactory)
 {
     _session            = session;
     _transactionFactory = transactionFactory;
     MetadataFactory     = metadataFactory;
 }
예제 #8
0
 protected GenericQueryExecutor(ICypherTransactionFactory transactionFactory, IMetadataFactory metadataFactory) 
     : base(transactionFactory, metadataFactory)
 {
 }
예제 #9
0
 public GetMoviesByTitleExecutor(ICypherTransactionFactory transactionFactory, IMetadataFactory metadataFactory)
     : base(transactionFactory, metadataFactory)
 {
 }