Ejemplo n.º 1
0
        public GetRakeResponseContainer GetRake(GetRakeRequest request)
        {
            var result = _rakeRepository.GetRake(new Internal.DTO.Rake.GetRakeRequest
            {
                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 GetRakeResponseContainer {
                    StatusCode = (StatusCodes)result.StatusCode
                });
            }

            return(new GetRakeResponseContainer
            {
                StatusCode = (StatusCodes)result.StatusCode,
                Data = new GetRakeResponse
                {
                    RakeData = result.Data.RakeData.Select(i => new RakeItem
                    {
                        Amount = i.Amount,
                        Date = i.Date,
                        MerchantPlayerId = i.MerchantPlayerId,
                        PlayerId = i.PlayerId
                    })
                }
            });
        }
        public GetRakeResponseContainer GetRake(GetRakeRequest model)
        {
            var client = new RestClient
            {
                BaseUrl = new Uri($"{AuthInfo.BaseUrl}/{Controller}")
            };

            var request = new RestRequest
            {
                Resource = "GetRake",
                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 <GetRakeResponseContainer>(request);

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

            return(response.Data);
        }