public async Task GetLinkedListMaps()
 {
     IDataService svc = new MongoDataService();
     var viewId = "linkedlist_account_view1";
     var result = await svc.GetLinkedListMaps(viewId);
     Assert.IsTrue(result.Any());
 }
        //POST:api/QueryBuilder
        public async Task<IQueryBuilder> Get(string id)
        {
            IDataService svc = new MongoDataService();

            var collectionMetadata = await svc.GetCollectionMetadataByViewId(id) as LinkedListDataCollectionMetadata;
            var viewDefinition =
                collectionMetadata.Views.Single(x => x.ViewId == id) as LinkedListViewDefinitionMetadata;
            var result = Mapper.Map<IQueryBuilder>(viewDefinition) as LinkedListQueryBuilder;
            var paths = await svc.GetLinkedListMaps(id);
            result.LinkedListMaps = paths.Select(x => Mapper.Map<ILinkedListMap>(x)).ToList();
            return result;
        }
        MongoLinkedListQueryStrategyAccessor GetTarget()
        {
            var result = new MongoLinkedListQueryStrategyAccessor();
            IDataService svc = new MongoDataService();
            var viewId = "linkedlist_account_view1";

            var collectionMetadata =
                svc.GetCollectionMetadataByViewId(viewId).Result as LinkedListDataCollectionMetadata;
            var view = collectionMetadata.Views.Single(x => x.ViewId == viewId);
            var qb= Mapper.Map<IQueryBuilder>(view);
            Assert.IsInstanceOfType(qb, typeof(LinkedListQueryBuilder));
            result.QueryBuilder = qb;
            ((LinkedListQueryBuilder)result.QueryBuilder).LinkedListMaps =svc.GetLinkedListMaps(viewId).Result;
            return result;
        }