Exemplo n.º 1
0
        public async Task <TxResponseBE> Transferir(TxRequestBE txRequestBE)
        {
            var handler = new HttpClientHandler();

            handler.ServerCertificateCustomValidationCallback =
                HttpClientHandler.DangerousAcceptAnyServerCertificateValidator;

            var miHttpClient = new HttpClient(handler);

            TokenResponseDTO responseToken = await tokenAdapter.GeneraToken();

            var metadata = new Metadata();

            metadata.Add("Authorization", $"Bearer {responseToken.Token}");

            var channel = GrpcChannel.ForAddress
                              (configuration.GetValue <string>("UrlApiCliente"),
                              new GrpcChannelOptions {
                HttpClient = miHttpClient
            });

            BancaServiceGrpc.BancaServiceGrpcClient client =
                new BancaServiceGrpc.BancaServiceGrpcClient(channel);

            txRequest request = new txRequest()
            {
                IdCuentaDestino = txRequestBE.IdCuentaDestino,
                IdCuentaOrigen  = txRequestBE.IdCuentaOrigen,
                Monto           = (double)txRequestBE.Monto
            };
            txResponse response = await client.ProcesaTransaccionAsync
                                      (request, headers : metadata);

            TxResponseBE txResponseBE = new TxResponseBE()
            {
                Amount        = txRequestBE.Monto,
                Date          = DateTime.Now,
                OperationCode = response.IdOperacion
            };

            return(txResponseBE);
        }
Exemplo n.º 2
0
        public override async Task <txResponse> ProcesaTransaccion
            (txRequest request, ServerCallContext context)
        {
            logger.LogWarning("Llego a opbanca grpc");

            TxRequestBE be = new TxRequestBE()
            {
                IdCuentaDestino = request.IdCuentaDestino,
                IdCuentaOrigen  = request.IdCuentaDestino,
                Monto           = (decimal)request.Monto
            };
            TxResponseBE resp = await transaccionServices.Transferir(be);

            txResponse txRpta = new txResponse()
            {
                IdOperacion = resp.OperationCode
            };

            return(txRpta);
        }