Beispiel #1
0
    void OnResult(RateResult result)
    {
        UnregisterListener();

        switch (result)
        {
        case RateResult.Yes:
            GAManager.Instance.GARateEvent("yes");
#if UNITY_ANDROID
            Application.OpenURL("https://play.google.com/store/apps/details?id=com.papayacompany.lastminutecashier");               //url address.
#elif UNITY_IPHONE
            Application.OpenURL("https://itunes.apple.com/us/app/pixel-store/id924428782");
#endif
            SetNever();
            break;

        case RateResult.Later:
            GAManager.Instance.GARateEvent("later");
            StoreDateTime(DateTime.Now);
            break;

        case RateResult.No:
            GAManager.Instance.GARateEvent("no");
            SetNever();
            break;
        }
    }
        public PaymentHandlerTest(ITestOutputHelper helper)
        {
#pragma warning disable CS0618

            Logs.Tester = new XUnitLog(helper)
            {
                Name = "Tests"
            };
            Logs.LogProvider = new XUnitLogProvider(helper);

            var dummy           = new Key().PubKey.GetAddress(ScriptPubKeyType.Legacy, Network.RegTest).ToString();
            var networkProvider = new BTCPayNetworkProvider(NetworkType.Regtest);

            currencyPairRateResult = new Dictionary <CurrencyPair, Task <RateResult> >();

            var rateResultUSDBTC = new RateResult();
            rateResultUSDBTC.BidAsk = new BidAsk(1m);

            var rateResultBTCUSD = new RateResult();
            rateResultBTCUSD.BidAsk = new BidAsk(1m);

            currencyPairRateResult.Add(new CurrencyPair("USD", "BTC"), Task.FromResult(rateResultUSDBTC));
            currencyPairRateResult.Add(new CurrencyPair("BTC", "USD"), Task.FromResult(rateResultBTCUSD));
            InvoiceLogs logs = new InvoiceLogs();
            handlerBTC = new BitcoinLikePaymentHandler(null, networkProvider, null, null, null);
            handlerLN  = new LightningLikePaymentHandler(null, null, networkProvider, null);

#pragma warning restore CS0618
        }
 public void SaveLatestToCache(RateResult rates)
 {
     _memoryCache.Set(Constants.RATES_CACHE_KEY, rates, new MemoryCacheEntryOptions
     {
         AbsoluteExpirationRelativeToNow = Constants.DEFAULT_CACHE_EXPIRATION
     });
 }
Beispiel #4
0
        public void TestResultCount()
        {
            newGame        = new Game("Зенит", "Крылья советов", 3, 6);
            newRate        = new Rate(0, newGame);
            newRate.Params = new RateParams(100);

            string[] result = new RateResult().GetResultInfo(newGame, newRate);
            Assert.AreEqual(result.Length, 2);
        }
        public async Task <RateResult> RunAsync(Func <CancellationToken, Task> worker, CancellationToken cancellation)
        {
            var result = new RateResult();

            if (_store.TryIncrement(_name, _options))
            {
                await worker(cancellation);
            }
            else
            {
                result.Status = ERateResultStatus.Exceeded;
            }
            return(result);
        }
        public RateResult <T> Run <T>(Func <T> worker)
        {
            var result = new RateResult <T>();

            if (_store.TryIncrement(_name, _options))
            {
                result.Result = worker();
            }
            else
            {
                result.Status = ERateResultStatus.Exceeded;
            }
            return(result);
        }
        public RateResult Run(Action worker)
        {
            var result = new RateResult();

            if (_store.TryIncrement(_name, _options))
            {
                worker();
            }
            else
            {
                result.Status = ERateResultStatus.Exceeded;
            }
            return(result);
        }
Beispiel #8
0
 public static void Invalidate()
 {
     Authenticated            = false;
     Authenticating           = false;
     Name                     = null;
     Password                 = null;
     AvatarUrl                = null;
     Level                    = 0;
     Exp                      = 0;
     NextExp                  = 0;
     Rating                   = 0;
     LastAuthenticationResult = null;
     LastRankingQueryResult   = null;
     LastPostResult           = null;
     LastRateResult           = null;
     AvatarTexture            = null;
 }
        public async Task <RateResult> PredictMovie(int movieIndex)
        {
            var currentUser = HttpContext.Session.Get <User>(SessionExtensions.UserKey);
            var result      = new RateResult();

            if (currentUser != default(User))
            {
                currentUser = await userService.GetUserByName(currentUser.Username);

                if (currentUser.Rates.Count < 20)
                {
                    result.Message = "You should rate more than 20 movie to get prediction";
                    return(result);
                }
                ;

                result = await ratingService.PredictMovieRate(currentUser, movieIndex);
            }
            ;

            return(result);
        }
Beispiel #10
0
        public RateResult Rate(Policy policy, IDataContext db)
        {
            RateResult result = new RateResult();

            result.Success = false;
            try
            {
                //var policy = _db.Policies.Find(policyID);
                var profile = GetEffectiveProfile(policy);

                if (profile == null)
                {
                    result.Message = "No rating profile";
                    return(result);
                }

                switch (profile.Engine)
                {
                case "InRule":
                    throw new NotImplementedException();

                case "Script":
                    var scriptResult = _scriptEngine.Run <Policy>(policy, "policy", db, profile.Script, profile.ScriptLanguage);
                    result.Success = scriptResult.Success;
                    result.Log.AddRange(scriptResult.Log);
                    break;
                }
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
                result.Log.Add(ex.Message);
            }

            return(result);
        }
        public async Task <IActionResult> ApprovePayout(string storeId, string payoutId, ApprovePayoutRequest approvePayoutRequest, CancellationToken cancellationToken = default)
        {
            using var ctx = _dbContextFactory.CreateContext();
            ctx.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
            var revision = approvePayoutRequest?.Revision;

            if (revision is null)
            {
                ModelState.AddModelError(nameof(approvePayoutRequest.Revision), "The `revision` property is required");
            }
            if (!ModelState.IsValid)
            {
                return(this.CreateValidationError(ModelState));
            }
            var payout = await ctx.Payouts.GetPayout(payoutId, storeId, true, true);

            if (payout is null)
            {
                return(PayoutNotFound());
            }
            RateResult rateResult = null;

            try
            {
                rateResult = await _pullPaymentService.GetRate(payout, approvePayoutRequest?.RateRule, cancellationToken);

                if (rateResult.BidAsk == null)
                {
                    return(this.CreateAPIError("rate-unavailable", $"Rate unavailable: {rateResult.EvaluatedRule}"));
                }
            }
            catch (FormatException)
            {
                ModelState.AddModelError(nameof(approvePayoutRequest.RateRule), "Invalid RateRule");
                return(this.CreateValidationError(ModelState));
            }
            var ppBlob = payout.PullPaymentData.GetBlob();
            var cd     = _currencyNameTable.GetCurrencyData(ppBlob.Currency, false);
            var result = await _pullPaymentService.Approve(new PullPaymentHostedService.PayoutApproval()
            {
                PayoutId = payoutId,
                Revision = revision.Value,
                Rate     = rateResult.BidAsk.Ask
            });

            var errorMessage = PullPaymentHostedService.PayoutApproval.GetErrorMessage(result);

            switch (result)
            {
            case PullPaymentHostedService.PayoutApproval.Result.Ok:
                return(Ok(ToModel(await ctx.Payouts.GetPayout(payoutId, storeId, true), cd)));

            case PullPaymentHostedService.PayoutApproval.Result.InvalidState:
                return(this.CreateAPIError("invalid-state", errorMessage));

            case PullPaymentHostedService.PayoutApproval.Result.TooLowAmount:
                return(this.CreateAPIError("amount-too-low", errorMessage));

            case PullPaymentHostedService.PayoutApproval.Result.OldRevision:
                return(this.CreateAPIError("old-revision", errorMessage));

            case PullPaymentHostedService.PayoutApproval.Result.NotFound:
                return(PayoutNotFound());

            default:
                throw new NotSupportedException();
            }
        }
Beispiel #12
0
    public static IEnumerator Rate(RateData rateData)
    {
        var uri     = "/rate/post";
        var request = new UnityWebRequest(CytoidApplication.Host + uri, "POST")
        {
            timeout = 10
        };
        var body = JsonConvert.SerializeObject(rateData);

#if UNITY_EDITOR
        Debug.Log(body);
#endif

        var bodyRaw = Encoding.UTF8.GetBytes(body);
        request.uploadHandler   = new UploadHandlerRaw(bodyRaw);
        request.downloadHandler = new DownloadHandlerBuffer();
        request.SetRequestHeader("Content-Type", "application/json");

        yield return(request.Send());

        if (request.isNetworkError)
        {
            LastRateResult = new RateResult
            {
                status  = -1,
                message = "Please check your network."
            };
        }
        else
        {
            if (request.responseCode == 200)
            {
                try
                {
                    LastRateResult =
                        JsonConvert.DeserializeObject <RateResult>(request.downloadHandler.text);
                    LastRateResult.status = 200;
                }
                catch (Exception e)
                {
                    Log.e(e.Message);
                    LastRateResult = new RateResult
                    {
                        status  = -1,
                        message = "Invalid response."
                    };
                    yield break;
                }
            }
            else
            {
                LastRateResult = new RateResult
                {
                    status  = (int)request.responseCode,
                    message = request.downloadHandler.text
                };
            }
        }

        request.Dispose();
    }