public Tracking(Request request, Core.Client.UrlBuilder urlBuilder)
            : base(request, urlBuilder)
        {
            log.Debug("Initialize new Tracking adapter.");

            Request.Action = RequestType.Tracking;
        }
        public Suggest(Request request, Core.Client.UrlBuilder urlBuilder)
            : base(request, urlBuilder)
        {
            log.Debug("Initialize new Suggest adapter.");

            Request.Action = RequestType.Suggest;
        }
        public AbstractAdapter(Request request, Core.Client.UrlBuilder urlBuilder)
        {
            Request = request;
            Parameters = request.Parameters;
            UrlBuilder = urlBuilder;

            UsePassthroughResponseContentProcessor();
        }
        public Import(Request request, Core.Client.UrlBuilder urlBuilder)
            : base(request, urlBuilder)
        {
            log.Debug("Initialize new Import adapter.");

            Parameters["format"] = "xml";

            // TODO: Implement XML processor
            UsePassthroughResponseContentProcessor();
        }
        public TagCloud(Request request, Core.Client.UrlBuilder urlBuilder)
            : base(request, urlBuilder)
        {
            log.Debug("Initialize new TagCloud adapter.");

            Request.Action = RequestType.TagCloud;
            Parameters["format"] = "json";
            Parameters["do"] = "getTagCloud";

            UseJsonResponseContentProcessor();
        }
        public Compare(Request request, Core.Client.UrlBuilder urlBuilder)
            : base(request, urlBuilder)
        {
            log.Debug("Initialize new Compare adapter.");

            Request.Action = RequestType.Compare;
            Parameters["format"] = "json";

            UseJsonResponseContentProcessor();

            ProductIDs = new List<string>();
            UpToDate = false;
        }
        public SimilarRecords(Request request, Core.Client.UrlBuilder urlBuilder)
            : base(request, urlBuilder)
        {
            log.Debug("Initialize new SimilarRecords adapter.");

            Request.Action = RequestType.SimilarRecords;
            Parameters["format"] = "json";

            UseJsonResponseContentProcessor();

            ProductID = "";
            UpToDate = false;
            MaxRecordCount = 0;
        }
        public Recommendation(Request request, Core.Client.UrlBuilder urlBuilder)
            : base(request, urlBuilder)
        {
            log.Debug("Initialize new Recommendation adapter.");

            Request.Action = RequestType.Recommendation;
            Parameters["format"] = "json";
            Parameters["do"] = "getRecommendation";

            UseJsonResponseContentProcessor();

            ProductIDs = new List<string>();
            UpToDate = false;
            MaxResults = 0;
        }
 protected PersonalisedResponse(Request request, Core.Client.UrlBuilder urlBuilder)
     : base(request, urlBuilder)
 {
 }
 protected ConfigurableResponse(Request request, Core.Client.UrlBuilder urlBuilder)
     : base(request, urlBuilder)
 {
 }
        public Search(Request request, Core.Client.UrlBuilder urlBuilder)
            : base(request, urlBuilder)
        {
            log.Debug("Initialize new Search adapter.");

            Request.Action = RequestType.Search;
            Parameters["format"] = "json";

            UseJsonResponseContentProcessor();

            UpToDate = false;
        }