Пример #1
0
        public async Task <AccountNameData> getAccountName(string id, string acctnum)
        {
            string          resultContent = string.Empty;
            string          _ContentType  = "application/json";
            string          authToken     = settings.Value.authToken;
            AccountNameData accountdet    = new AccountNameData();
            AccountName     acctname      = new AccountName();

            try
            {
                ServicePointManager.Expect100Continue = true;
                ServicePointManager.SecurityProtocol  = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Accept.Clear();
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(_ContentType));

                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authToken);
                    var result = await client.GetAsync(settings.Value.payStackBaseURL + "bank/resolve?account_number=" + acctnum + "&bank_code=" + id);

                    resultContent = await result.Content.ReadAsStringAsync();
                }
                acctname   = JsonHelper.fromJson <AccountName>(resultContent);
                accountdet = acctname.data;
            }
            catch (Exception ex)
            {
                //u.LogError(ex, "DAC -- getSBUs: ");
            }
            return(accountdet);
        }
Пример #2
0
        public async Task <AccountNameData> getaccountname(string key, CancellationToken ctx)
        {
            AccountNameData names = new AccountNameData();

            try
            {
                var name = await redis.GetStringAsync(key, ctx);

                names = JsonHelper.fromJson <AccountNameData>(name);
            }
            catch (Exception)
            {
            }
            return(names);
        }
Пример #3
0
        public async Task setNameAsync(string key, AccountNameData names, CancellationToken cts)
        {
            try
            {
                var name = await redis.GetStringAsync(key);

                if (!string.IsNullOrEmpty(name))
                {
                    redis.Remove(key);
                }
                string value = JsonHelper.toJson(names);

                await redis.SetStringAsync(key, value, cts);
            }
            catch (Exception ex)
            {
            }
        }
Пример #4
0
        public async void setname(string key, AccountNameData names)
        {
            try
            {
                var name = await redis.GetStringAsync(key);

                if (!string.IsNullOrEmpty(name))
                {
                    redis.Remove(key);
                }
                string value = JsonHelper.toJson(names);

                await redis.SetStringAsync(key, value);
            }
            catch (Exception)
            {
            }
        }
Пример #5
0
        public async Task <IActionResult> getAccountName(string id, string acctnum)
        {
            Utility         utility = new Utility(settings);
            PaymentError    e       = new PaymentError();
            AccountNameData name    = new AccountNameData();

            Redis  redis = new Redis(settings, cache);
            string key   = id + "_" + acctnum;

            CancellationTokenSource cts;

            cts = new CancellationTokenSource();
            cts.CancelAfter(settings.Value.redisCancellationToken);

            // validate request
            if (!ModelState.IsValid)
            {
                var modelErrors = new List <PaymentError>();
                var eD          = new List <string>();
                foreach (var modelState in ModelState.Values)
                {
                    foreach (var modelError in modelState.Errors)
                    {
                        eD.Add(modelError.ErrorMessage);
                    }
                }
                e.error        = ((int)HttpStatusCode.BadRequest).ToString();
                e.errorDetails = eD;

                return(BadRequest(e));
            }

            try
            {
                name = await redis.getaccountname(key, cts.Token);

                if (name != null && !string.IsNullOrEmpty(name.account_name))
                {
                    return(CreatedAtAction("GetAccountName", name));
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
            }

            try
            {
                name = await utility.getAccountName(id, acctnum);
            }
            catch (Exception ex)
            {
                Console.Write(ex.ToString());
            }

            //Write to Redis
            try
            {
                if (name != null && !string.IsNullOrEmpty(name.account_name))
                {
                    await redis.setNameAsync(key, name, cts.Token);
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
            }
            return(CreatedAtAction("GetAccountName", name));
        }