Exemplo n.º 1
0
        public async Task <ChangeResult> TransactAsync(TransactRequest request)
        {
            App.Authorize(PERM_TRANSACT);

            var commands = request.Commands.NonNull(nameof(request.Commands));

            try
            {
                var result = new List <ChangeResult>();

                var time = Time.Timeter.StartNew();
                using (var connection = GetSqlConnection(request.RequestHeaders))
                {
                    using (var tx = connection.BeginTransaction())
                        try
                        {
                            foreach (var command in commands)
                            {
                                var isSql     = isSqlStatementType(command);
                                var oneChange = await txAsync(connection, tx, command, isSql).ConfigureAwait(false);

                                result.Add(oneChange);
                            }
                            tx.Commit();
                        }
                        catch
                        {
                            tx.Rollback();
                            throw;
                        }
                }
                time.Stop();

                return(new ChangeResult(ChangeResult.ChangeType.Processed, result.Count, $"Processed in {time.ElapsedMs:n0} ms", result, 200));
            }
            catch (Exception error)
            {
                throw new DocValidationException(nameof(ReadRequest.Command), "Error executing transact request: \n{0}".Args(error.ToMessageWithType()), error);
            }
        }
Exemplo n.º 2
0
        public IActionResult Index()
        {
            Guid            refId   = Guid.NewGuid();
            FlutterWaveApi  api     = new FlutterWaveApi(SecretKey);
            TransactRequest request = new TransactRequest();

            request.currency        = "NGN";
            request.amount          = 15000;
            request.tx_ref          = refId.ToString();
            request.redirect_url    = "http://*****:*****@yahoo.com",
                name        = "Ekene Duru",
                phonenumber = "08012345678"
            };
            request.meta = new MetaR()
            {
                consumer_id   = 23333,
                consumer_mac  = "45666666655",
                ExtraField    = "gooooo",
                ExtraFieldTwo = "455544444444444444"
            };
            request.customizations = new Customizations {
                title = "Test Payment", logo = "", description = "Middleout isn't free. Pay the price"
            };
            TransactionReponse resp = api.Initialize(request);

            if (resp.status == "success")
            {
                HttpContext.Response.Redirect(resp.data.link);
            }

            return(View());
        }
Exemplo n.º 3
0
 public ValidState ValidateTransactRequest(ValidState state, TransactRequest request)
 {
     request.NonNull(nameof(request));
     return(DoValidateTransactRequest(state, request));
 }
Exemplo n.º 4
0
 /// <summary>
 /// Must override to validate the transact request
 /// </summary>
 protected abstract ValidState DoValidateTransactRequest(ValidState state, TransactRequest request);
Exemplo n.º 5
0
 public async Task <object> PostTransactRequest(TransactRequest request) => await SaveNewAsync(request).ConfigureAwait(false);