コード例 #1
0
        public async Task SetEnableUseTestNetAsync(SetEnableUseTestNetRequest request)
        {
            using var activity = MyTelemetry.StartActivity($"Set Enable Use TestNet");
            request.AddToActivityAsJsonTag("request");

            _logger.LogWarning("Change EnableUseTestnet. Wallet: {walletId}, Enabled: {flag}", request.WalletId, request.EnableUseTestNet);

            await using var ctx = new DatabaseContext(_dbContextOptionsBuilder.Options);

            var walletEntity = ctx.ClientWallet.FirstOrDefault(e => e.WalletId == request.WalletId);

            if (walletEntity != null)
            {
                var oldWallet = (ClientWallet)walletEntity.Clone();

                walletEntity.EnableUseTestNet = request.EnableUseTestNet;
                await ctx.SaveChangesAsync();

                await UpdateCache(
                    walletEntity.ClientId,
                    walletEntity.BrokerId,
                    new List <ClientWalletEntity> {
                    walletEntity
                });

                await _publisher.PublishAsync(new ClientWalletUpdateMessage()
                {
                    OldWallet = ClientWallet.Create(oldWallet),
                    NewWallet = ClientWallet.Create(walletEntity)
                });
            }
        }
コード例 #2
0
 public Task SetEnableUseTestNetAsync(SetEnableUseTestNetRequest request)
 {
     return(_grpcService.SetEnableUseTestNetAsync(request));
 }