예제 #1
0
        public async Task OnGetAsync()
        {
            List <Transfer> transactions = new List <Transfer>();

            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "Bearer sk_test_f075718722a05eb8182c77beb0279ebe1d2249d2");

            TransactionHistoryVM transRes = JsonConvert.DeserializeObject <TransactionHistoryVM>(await client.GetStringAsync("https://api.paystack.co/transfer"));

            if (transRes.status)
            {
                foreach (Transactions item in transRes.data)
                {
                    transactions.Add(new Transfer
                    {
                        Amount        = (item.amount / 100),
                        AccountNumber = item.recipient.details.account_number,
                        BankName      = item.recipient.details.bank_name,
                        Name          = item.recipient.name,
                        Reason        = item.reason,
                        Status        = item.status
                    });
                }
            }

            Transfer = transactions;
        }
        public async Task <ActionResult <TransactionHistoryVM> > Post(TransactionHistoryVM historyVM)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            var data = repository.Add(historyVM);

            return(CreatedAtAction(nameof(data), new { id = data.ID }, data));
        }
 public async Task <ActionResult <TransactionHistoryVM> > Put(TransactionHistoryVM historyVM)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest());
     }
     else
     {
         var mainData = repository.Get(historyVM.ID);
         if (mainData == null)
         {
             return(NotFound());
         }
         var data = repository.Update(historyVM);
         return(data);
     }
 }
        public ActionResult TransactionHistory(int id, string sortColumn, string sortOrder, string currentFilter, string searchString, string dateFrom, string dateTo, int?page)
        {
            ViewBag.CurrentSort = sortColumn;
            ViewBag.SortOrder   = sortOrder == "asc" ? "desc" : "asc";

            DateTime dtDateFrom = DateTime.Now;
            DateTime dtDateTo   = DateTime.Now;

            if (!String.IsNullOrEmpty(dateFrom) && !String.IsNullOrEmpty(dateTo))
            {
                dtDateFrom = Convert.ToDateTime(dateFrom);
                dtDateTo   = Convert.ToDateTime(dateTo);
            }

            ViewBag.DateFrom = dtDateFrom.ToShortDateString();
            ViewBag.DateTo   = dtDateTo.ToShortDateString();

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            ViewBag.CurrentFilter = searchString;

            IQueryable <TransactionLog> lstTransactionLog = transactionLogRepo.List().Where(p => p.ItemId == id);

            lstTransactionLog = from p in lstTransactionLog
                                where DbFunctions.TruncateTime(p.Date) >= DbFunctions.TruncateTime(dtDateFrom) &&
                                DbFunctions.TruncateTime(p.Date) <= DbFunctions.TruncateTime(dtDateTo) &&
                                p.CompanyId == Sessions.CompanyId.Value && p.TransactionMethodId != 7
                                select p;

            if (!String.IsNullOrEmpty(searchString))
            {
                lstTransactionLog = lstTransactionLog.Where(s => s.TransactionMethod.Description.Contains(searchString) ||
                                                            s.Quantity.ToString().Contains(searchString) ||
                                                            s.Date.ToString().Contains(searchString) ||
                                                            s.User.Username.ToString().Contains(searchString));
            }

            if (String.IsNullOrEmpty(sortColumn))
            {
                lstTransactionLog = lstTransactionLog.OrderByDescending(p => p.Id);
            }
            else
            {
                lstTransactionLog = lstTransactionLog.OrderBy(sortColumn + " " + sortOrder);
            }

            int pageSize   = 10;
            int pageNumber = (page ?? 1);

            var transHistoryVM = new TransactionHistoryVM
            {
                Item            = itemRepo.GetById(id),
                Company         = companyRepo.GetById(Sessions.CompanyId.Value),
                TransactionLogs = lstTransactionLog.ToPagedList(pageNumber, pageSize)
            };

            return(View(transHistoryVM));
        }