protected override void OnMiss(ICacheKey key, out object value)
        {
            var repository = new RepositoriesRepository(new PlatformDomainContext(), Logger);

            var keyById = key as RepositoryByIdCacheKey;
            if (keyById != null)
            {
                var repo = repository.GetByKey(keyById.Id);
                if (repo != null)
                {
                    Add(key, repo);
                    Add(new RepositoryByNameCacheKey(repo.Name), repo);
                    value = repo;
                    return;
                }
                
            }

            var keyByName = key as RepositoryByNameCacheKey;
            if (keyByName != null)
            {

                var repo = repository.GetByName(keyByName.Name);
                if (repo != null)
                {
                    Add(key, repo);
                    Add(new RepositoryByIdCacheKey(repo.Id), repo);
                    value = repo;
                    return;
                }
            }

            value = null;
        }
 public RepositoryController(RepositoriesRepository repositoriesRepository, QueryComponentFactory queryComponentFactory)
 {
     _repositoriesRepository = repositoriesRepository;
     _queryComponentFactory = queryComponentFactory;
 }
Пример #3
0
        public ContainerBuilder SetRepositoriesRepository(RepositoriesRepository repository)
        {
            container.Setup(p => p.GetService(typeof(RepositoriesRepository))).Returns(repository);

            return(this);
        }