Exemple #1
0
        public GetRakeDetailedResponseContainer GetRakeDetailed(GetRakeDetailedRequest request)
        {
            var result = _rakeRepository.GetRakeDetailed(new Internal.DTO.Rake.GetRakeDetailedRequest
            {
                FromDate   = request.FromDate?.ToString(ConfigService.GetDateTimeFormat()),
                GameId     = request.GameId,
                MerchantId = _merchantAuthInfo.MerchantId,
                ToDate     = request.ToDate?.ToString(ConfigService.GetDateTimeFormat()),
                UserId     = request.UserId
            });

            if (200 != result.StatusCode)
            {
                return(new GetRakeDetailedResponseContainer {
                    StatusCode = (StatusCodes)result.StatusCode
                });
            }

            return(new GetRakeDetailedResponseContainer
            {
                StatusCode = (StatusCodes)result.StatusCode,
                Data = new GetRakeDetailedResponse
                {
                    RakeData = result.Data.RakeData.Select(i => new RakeDetailedItem
                    {
                        Amount = i.Amount,
                        Date = i.Date,
                        MerchantPlayerId = i.MerchantPlayerId,
                        PlayerId = i.PlayerId,
                        GameId = i.GameId
                    })
                }
            });
        }
        public GetRakeDetailedResponseContainer GetRakeDetailed(GetRakeDetailedRequest model)
        {
            var client = new RestClient
            {
                BaseUrl = new Uri($"{AuthInfo.BaseUrl}/{Controller}")
            };

            var request = new RestRequest
            {
                Resource = "GetRakeDetailed",
                Method   = Method.POST
            };

            var rawHash = $"{model.MerchantId}|{model.UserId}|{model.FromDate}|{model.ToDate}|{model.GameId}|{AuthInfo.PrivateKey}";
            var hash    = GetSha256(rawHash);

            model.Hash = hash;

            request.AddJsonBody(model);

            var response = client.Execute <GetRakeDetailedResponseContainer>(request);

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new CantConnectToServerException(response);
            }

            return(response.Data);
        }