public Tier TierResponse(Tier tierRequest, PlatformLoyaltyServiceRequestType requestType, string method)
        {
            var commonRequest = new PlatformLoyaltyServiceRequest {
                Tier = tierRequest
            };
            var tier = TierResponse(requestType, commonRequest, method);

            return(tier);
        }
        public Users GetUsers()
        {
            const PlatformLoyaltyServiceRequestType requestType = PlatformLoyaltyServiceRequestType.AllUsers;
            const string method        = Constants.Get;
            var          commonRequest = new PlatformLoyaltyServiceRequest();
            var          allUsers      = _platformLoyaltyServiceApi.UsersResponse(requestType, commonRequest, method);

            return(allUsers);
        }
        public Reward RewardResponse(Reward rewardRequest, PlatformLoyaltyServiceRequestType requestType, string method)
        {
            var commonRequest = new PlatformLoyaltyServiceRequest {
                Reward = rewardRequest
            };
            var reward = RewardResponse(requestType, commonRequest, method);

            return(reward);
        }
        public LoyaltyPrograms GetAllLoyalties()
        {
            const PlatformLoyaltyServiceRequestType requestType = PlatformLoyaltyServiceRequestType.AllLoyalties;
            const string method        = Constants.Get;
            var          commonRequest = new PlatformLoyaltyServiceRequest();
            var          allLoyalties  = _platformLoyaltyServiceApi.LoyaltyProgramsResponse(requestType, commonRequest, method);

            return(allLoyalties);
        }
        public Tier TierResponse(PlatformLoyaltyServiceRequestType requestType,
                                 PlatformLoyaltyServiceRequest commonRequest, string method)
        {
            var responseMessage = HttpResponseMessage(requestType, commonRequest, method);
            var tier            = responseMessage.IsSuccessStatusCode
                ? GenericResponse <Tier>(requestType, responseMessage)
                : throw new Exception((int)responseMessage.StatusCode + "-" + responseMessage.StatusCode);

            return(tier);
        }
        public LoyaltyProgram LoyaltyProgramResponse(LoyaltyProgram loyaltyRequest,
                                                     PlatformLoyaltyServiceRequestType requestType, string method)
        {
            var commonRequest = new PlatformLoyaltyServiceRequest {
                Loyalty = loyaltyRequest
            };
            var loyaltyProgram = LoyaltyProgramResponse(requestType, commonRequest, method);

            return(loyaltyProgram);
        }
        public LoyaltyProgram LoyaltyProgramResponse(PlatformLoyaltyServiceRequestType requestType,
                                                     PlatformLoyaltyServiceRequest commonRequest, string method)
        {
            var responseMessage = HttpResponseMessage(requestType, commonRequest, method);
            var loyaltyProgram  = responseMessage.IsSuccessStatusCode
                ? GenericResponse <LoyaltyProgram>(requestType, responseMessage)
                : throw new Exception((int)responseMessage.StatusCode + "-" + responseMessage.StatusCode);

            return(loyaltyProgram);
        }
        public Rewards RewardsResponse(PlatformLoyaltyServiceRequestType requestType,
                                       PlatformLoyaltyServiceRequest commonRequest, string method)
        {
            var response = HttpResponseMessage(requestType, commonRequest, method);

            var allRewards = response.IsSuccessStatusCode
                ? GenericResponse <Rewards>(requestType, response)
                : throw new Exception((int)response.StatusCode + "-" + response.StatusCode);

            return(allRewards);
        }
        public Reward GetRewardById(string loyaltyId, string rewardId)
        {
            const PlatformLoyaltyServiceRequestType requestType = PlatformLoyaltyServiceRequestType.GetRewardById;
            const string method        = Constants.Get;
            var          commonRequest = new PlatformLoyaltyServiceRequest {
                Reward = new Reward {
                    Id = rewardId, ProgramId = loyaltyId
                }
            };
            var reward = _platformLoyaltyServiceApi.RewardResponse(requestType, commonRequest, method);

            return(reward);
        }
Exemplo n.º 10
0
        public Rewards GetAllRewards(string loyaltyId)
        {
            const PlatformLoyaltyServiceRequestType requestType = PlatformLoyaltyServiceRequestType.AllRewards;
            const string method        = Constants.Get;
            var          commonRequest = new PlatformLoyaltyServiceRequest {
                Loyalty = new LoyaltyProgram {
                    Id = loyaltyId
                }
            };
            var allRewards = _platformLoyaltyServiceApi.RewardsResponse(requestType, commonRequest, method);

            return(allRewards);
        }
Exemplo n.º 11
0
        public Tier GetTierById(string loyaltyId, string tierId)
        {
            const PlatformLoyaltyServiceRequestType requestType = PlatformLoyaltyServiceRequestType.GetTierById;
            const string method        = Constants.Get;
            var          commonRequest = new PlatformLoyaltyServiceRequest {
                Tier = new Tier {
                    Id = tierId, ProgramId = loyaltyId
                }
            };
            var tier = _platformLoyaltyServiceApi.TierResponse(requestType, commonRequest, method);

            return(tier);
        }
Exemplo n.º 12
0
        public LoyaltyProgram GetLoyaltyById(string loyaltyId)
        {
            const PlatformLoyaltyServiceRequestType requestType = PlatformLoyaltyServiceRequestType.GetLoyaltyById;
            const string method        = Constants.Get;
            var          commonRequest = new PlatformLoyaltyServiceRequest {
                Loyalty = new LoyaltyProgram {
                    Id = loyaltyId
                }
            };
            var loyaltyByIdResponse = _platformLoyaltyServiceApi.LoyaltyProgramResponse(requestType, commonRequest, method);

            return(loyaltyByIdResponse);
        }
        private static HttpResponseMessage HttpResponseMessage(PlatformLoyaltyServiceRequestType requestType,
                                                               PlatformLoyaltyServiceRequest request, string method)
        {
            UriBuilder    uri;
            StringContent content = null;

            switch (requestType)
            {
            case PlatformLoyaltyServiceRequestType.AllLoyalties:
                uri = CreateUrl.GetUrl(requestType);
                break;

            case PlatformLoyaltyServiceRequestType.GetLoyaltyById:
                uri = CreateUrl.GetUrl(requestType, request.Loyalty.Id);
                break;

            case PlatformLoyaltyServiceRequestType.CreateLoyalty:
                uri     = CreateUrl.GetUrl(requestType);
                content = HttpClientFactory.JsonContentFactory.CreateJsonContent(request.Loyalty);
                break;

            case PlatformLoyaltyServiceRequestType.UpdateLoyaltyById:
                uri     = CreateUrl.GetUrl(requestType, request.Loyalty.Id);
                content = HttpClientFactory.JsonContentFactory.CreateJsonContent(request.Loyalty);
                break;

            case PlatformLoyaltyServiceRequestType.AllTiers:
                uri = CreateUrl.GetUrl(requestType, request.Loyalty.Id);
                break;

            case PlatformLoyaltyServiceRequestType.GetTierById:
                uri = CreateUrl.GetUrl(requestType, request.Tier.ProgramId, request.Tier.Id);
                break;

            case PlatformLoyaltyServiceRequestType.CreateTier:
                uri     = CreateUrl.GetUrl(requestType, request.Tier.ProgramId);
                content = HttpClientFactory.JsonContentFactory.CreateJsonContent(request.Tier);
                break;

            case PlatformLoyaltyServiceRequestType.UpdateTierById:
                uri     = CreateUrl.GetUrl(requestType, request.Tier.ProgramId, request.Tier.Id);
                content = HttpClientFactory.JsonContentFactory.CreateJsonContent(request.Tier);
                break;

            case PlatformLoyaltyServiceRequestType.AllRewards:
                uri = CreateUrl.GetUrl(requestType, request.Loyalty.Id);
                break;

            case PlatformLoyaltyServiceRequestType.GetRewardById:
                uri = CreateUrl.GetUrl(requestType, request.Reward.ProgramId, request.Reward.Id);
                break;

            case PlatformLoyaltyServiceRequestType.CreateReward:
                uri     = CreateUrl.GetUrl(requestType, request.Reward.ProgramId);
                content = HttpClientFactory.JsonContentFactory.CreateJsonContent(request.Reward);
                break;

            case PlatformLoyaltyServiceRequestType.UpdateRewardById:
                uri     = CreateUrl.GetUrl(requestType, request.Reward.ProgramId, request.Reward.Id);
                content = HttpClientFactory.JsonContentFactory.CreateJsonContent(request.Reward);
                break;

            case PlatformLoyaltyServiceRequestType.AllUsers:
                uri = CreateUrl.GetUrl(requestType);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(requestType), requestType, null);
            }

            var responseMessage = HttpClientFactory.PerformRequest(method, uri, content, GetHttpClient());

            return(responseMessage);
        }