Exemplo n.º 1
0
        public async Task <IResponse <OrderResponse> > LookUpOrderAsync(OrderCreateOption orderCreateOption, IAccessToken accessToken)
        {
            Urls.BaseUrl = _settings.GetConfigSetting <string>(SettingKeys.Integration.DTCM.BaseUrl);

            IRequestCreateOptions <OrderCreateOption> requestCreateOptions = new RequestCreateOptions <OrderCreateOption>();

            requestCreateOptions.Header = new Dictionary <string, string>()
            {
                { "Token", $"{accessToken.Token}" }
            };
            requestCreateOptions.UserAgent = "zoonga.com (http://www.zoonga.com/)";

            IHttpResponse httpResponse = await HttpWebRequestProviders <OrderCreateOption> .GetBearerWebRequestProvider(string.Format(Urls.LookUpOrder, orderCreateOption.OrderId, orderCreateOption.Seller), requestCreateOptions).ConfigureAwait(false);

            if (!string.IsNullOrWhiteSpace(httpResponse.Response))
            {
                OrderResponse orderResponse = Mapper <OrderResponse> .MapJsonStringToObject(httpResponse.Response);

                return(GetResponse(true, orderResponse));
            }
            else
            {
                _logger.Log(LogCategory.Error, new Exception("Failed to lookup order", httpResponse.WebException));
            }
            return(GetResponse(false, null));
        }
Exemplo n.º 2
0
        public async Task <IResponse <CustomerResponse> > CreateCustomerAsync(CustomerCreateOption customerCreateOption, AccessToken accessToken)
        {
            Urls.BaseUrl = _settings.GetConfigSetting <string>(SettingKeys.Integration.DTCM.BaseUrl);

            IRequestCreateOptions <CustomerCreateOption> requestCreateOptions = new RequestCreateOptions <CustomerCreateOption>();

            requestCreateOptions.Content = customerCreateOption;
            requestCreateOptions.Header  = new Dictionary <string, string>()
            {
                { "Token", $"{accessToken.Token}" }
            };
            requestCreateOptions.UserAgent = "zoonga.com (http://www.zoonga.com/)";

            IHttpResponse httpResponse = await HttpWebRequestProviders <CustomerCreateOption> .PostBearerWebRequestProvider(Urls.CreateCustomer, requestCreateOptions).ConfigureAwait(false);

            if (!string.IsNullOrWhiteSpace(httpResponse.Response))
            {
                CustomerResponse customerResponse = Mapper <CustomerResponse> .MapJsonStringToObject(httpResponse.Response);

                return(GetResponse(true, customerResponse));
            }
            else
            {
                _logger.Log(LogCategory.Error, new Exception("Failed to create customer", httpResponse.WebException));
            }
            return(GetResponse(false, null));
        }
Exemplo n.º 3
0
        public async Task <IResponse <TokenResponse> > CreateTokenAsync()
        {
            Urls.BaseUrl = _settings.GetConfigSetting <string>(SettingKeys.Integration.DTCM.BaseUrl);

            TokenCreateOption tokenCreateOptions = new TokenCreateOption();

            tokenCreateOptions.grant_type = "client_credentials";

            IRequestCreateOptions <TokenCreateOption> requestCreateOptions = new RequestCreateOptions <TokenCreateOption>();

            requestCreateOptions.Content = tokenCreateOptions;
            requestCreateOptions.Accept  = "application/vnd.softix.api-v1.0+json";
            requestCreateOptions.Header  = new Dictionary <string, string>()
            {
                { "Auth", $"{_settings.GetConfigSetting<string>(SettingKeys.Integration.DTCM.ClientKey)}:{_settings.GetConfigSetting<string>(SettingKeys.Integration.DTCM.ServerKey)}" }
            };
            requestCreateOptions.UserAgent = "zoonga.com (http://www.zoonga.com/)";

            IHttpResponse httpResponse = await HttpWebRequestProviders <TokenCreateOption> .PostWebRequestProviderAsync(Urls.Token, requestCreateOptions).ConfigureAwait(false);

            if (!string.IsNullOrWhiteSpace(httpResponse.Response))
            {
                TokenResponse token = Mapper <TokenResponse> .MapJsonStringToObject(httpResponse.Response);

                return(GetResponse(true, token));
            }
            else
            {
                _logger.Log(LogCategory.Error, new Exception("Failed to create token", httpResponse.WebException));
            }
            return(GetResponse(false, null));
        }
Exemplo n.º 4
0
        public async Task <IResponse <BasketResponse> > AddOfferBasketAsync(BasketCreateOption basketCreateOption, TokenResponse token)
        {
            Urls.BaseUrl = _settings.GetConfigSetting <string>(SettingKeys.Integration.DTCM.BaseUrl);

            IRequestCreateOptions <BasketCreateOption> requestCreateOptions = new RequestCreateOptions <BasketCreateOption>();

            requestCreateOptions.Content = basketCreateOption;
            requestCreateOptions.Header  = new Dictionary <string, string>()
            {
                { "Token", $"{token.AccessToken}" }
            };
            requestCreateOptions.UserAgent = "zoonga.com (http://www.zoonga.com/)";

            IHttpResponse httpResponse = await HttpWebRequestProviders <BasketCreateOption> .PostBearerWebRequestProvider(string.Format(Urls.AddOffer, basketCreateOption.BasketId), requestCreateOptions).ConfigureAwait(false);

            if (!string.IsNullOrWhiteSpace(httpResponse.Response))
            {
                BasketResponse basket = Mapper <BasketResponse> .MapJsonStringToObject(httpResponse.Response);

                return(GetResponse(true, basket));
            }
            else
            {
                _logger.Log(LogCategory.Error, new Exception("Failed to add offet to basket", httpResponse.WebException));
            }
            return(GetResponse(false, null));
        }
Exemplo n.º 5
0
        public async Task <IResponse <PerformanceAvailabilityResponse> > PerformanceAvailabilityAsync(PerformanceCreateOption performanceCreateOption)
        {
            Urls.BaseUrl = _settings.GetConfigSetting <string>(SettingKeys.Integration.DTCM.BaseUrl);

            IRequestCreateOptions <PerformanceCreateOption> requestCreateOptions = new RequestCreateOptions <PerformanceCreateOption>();

            requestCreateOptions.Header = new Dictionary <string, string>()
            {
                { "Token", $"{performanceCreateOption.AccessToken}" }
            };
            requestCreateOptions.UserAgent = "zoonga.com (http://www.zoonga.com/)";

            IHttpResponse httpResponse = await HttpWebRequestProviders <PerformanceCreateOption> .GetBearerWebRequestProvider(string.Format(Urls.Availability, performanceCreateOption.PerformanceCode, performanceCreateOption.Channel, performanceCreateOption.SellerCode), requestCreateOptions).ConfigureAwait(false);

            if (!string.IsNullOrWhiteSpace(httpResponse.Response))
            {
                PerformanceAvailabilityResponse performanceAvailability = Mapper <PerformanceAvailabilityResponse> .MapJsonStringToObject(httpResponse.Response);

                return(GetResponse(true, performanceAvailability));
            }
            else
            {
                _logger.Log(LogCategory.Error, new Exception("Failed to get performance availabilities", httpResponse.WebException));
            }
            return(GetResponse(false, null));
        }
Exemplo n.º 6
0
        public async Task <IResponse <IpApiResponse> > GetUserLocationByIp(string ip)
        {
            string baseUrl = "http://ip-api.com/json/" + ip;
            IRequestCreateOptions <GetRequestCreateOption> requestCreateOptions = new RequestCreateOptions <GetRequestCreateOption>();
            IHttpResponse httpResponse = await HttpWebRequestProviders <GetRequestCreateOption> .GetWebRequestProviderAsync(baseUrl, requestCreateOptions).ConfigureAwait(false);

            if (!string.IsNullOrWhiteSpace(httpResponse.Response))
            {
                IpApiResponse ipApiResponse = Mapper <IpApiResponse> .MapJsonStringToObject(httpResponse.Response);

                return(GetResponse(true, ipApiResponse));
            }
            else
            {
                _logger.Log(LogCategory.Error, new Exception("Failed to get session", httpResponse.WebException));
                return(GetResponse(false, null));
            }
        }
Exemplo n.º 7
0
        public async Task <IResponse <SessionResponse> > GetSession()
        {
            Urls.BaseUrl = "https://feelaplace.infiniteanalytics.com/SocialGenomix";//_settings.GetConfigSetting<string>(SettingKeys.Integration.InfiniteAnalytics.BaseUrl);

            IRequestCreateOptions <GetRequestCreateOption> requestCreateOptions = new RequestCreateOptions <GetRequestCreateOption>();
            IHttpResponse httpResponse = await HttpWebRequestProviders <GetRequestCreateOption> .GetWebRequestProviderAsync(Urls.InfiniteAnalytics.Session, requestCreateOptions).ConfigureAwait(false);

            if (!string.IsNullOrWhiteSpace(httpResponse.Response))
            {
                SessionResponse token = Mapper <SessionResponse> .MapJsonStringToObject(httpResponse.Response);

                return(GetResponse(true, token));
            }
            else
            {
                _logger.Log(LogCategory.Error, new Exception("Failed to get session", httpResponse.WebException));
                return(GetResponse(false, null));
            }
        }
Exemplo n.º 8
0
        public async Task <IResponse <RecommendationResponse> > GetRecommendations(RecommendationModel query)
        {
            Urls.BaseUrl = "https://feelaplace.infiniteanalytics.com/SocialGenomix";

            IRequestCreateOptions <GetRequestCreateOption> requestCreateOptions = new RequestCreateOptions <GetRequestCreateOption>();
            IHttpResponse httpResponse = await HttpWebRequestProviders <GetRequestCreateOption> .GetWebRequestProviderAsync(string.Format(Urls.InfiniteAnalytics.Recommendation, query.SessionId, query.ClientType, query.SitePageType, query.siteProductId, query.Count), requestCreateOptions).ConfigureAwait(false);

            if (!string.IsNullOrWhiteSpace(httpResponse.Response))
            {
                RecommendationResponse recommendations = Mapper <RecommendationResponse> .MapJsonStringToObject(httpResponse.Response);

                return(GetResponse(true, recommendations));
            }
            else
            {
                _logger.Log(LogCategory.Error, new Exception("Failed to fetch recommendations", httpResponse.WebException));
                return(GetResponse(false, null));
            }
        }