Example #1
0
        public async Task GetAccountDetails(string userToken)
        {
            try
            {
                OmniDataItemAPI injector    = new OmniDataItemAPI(_WebAPIURL);
                RootAccounts    rootAccount = await injector.GetAccountsFromAPI(userToken);

                List <SelectListItem> items = new List <SelectListItem>();
                if (rootAccount != null && rootAccount.Status == 0)
                {
                    foreach (var card in rootAccount.CardList)
                    {
                        foreach (var account in card.AccountList)
                        {
                            var AccountIDEncrypted = OmniDataManagement.Helpers.StringCipher.Encrypt(account.AccountID.ToString(), OmniDataManagement.Constants.PassPhrase);
                            AccountDetailsNameValue.Add(account.AccountID, account.AccountAlias);
                            items.Add(new SelectListItem()
                            {
                                Text  = account.AccountAlias,
                                Value = AccountIDEncrypted
                            });
                        }
                    }
                }

                ViewBag.AccountDetails = new SelectList(items, "Value", "Text");
            }
            catch (Exception ex)
            {
                await AddToErrorLog(userToken, "MyTransactions", ex.Message);
            }
        }
Example #2
0
        // GET: Transactions
        public async Task <ActionResult> Index(string accountID = "")
        {
            if (!await AuthorizePage("MyTransactions"))
            {
                return(RedirectToAction("NoAccess", "Home"));
            }

            LoginResponseDetails userLoginDetails     = GetUserLoginDetails();
            RootTransactions     emptyRootTransaction = new RootTransactions();

            emptyRootTransaction.TransactionsList = new List <TransactionDetails>();

            try
            {
                if (userLoginDetails != null)
                {
                    await GetAccountDetails(userLoginDetails.Token);

                    if (AccountDetailsNameValue.Count > 0)
                    {
                        int defaultAccountID = AccountDetailsNameValue.FirstOrDefault().Key;
                        if (!string.IsNullOrWhiteSpace(accountID))
                        {
                            var accountIDDecryted = OmniDataManagement.Helpers.StringCipher.Decrypt(accountID, OmniDataManagement.Constants.PassPhrase);
                            defaultAccountID = Convert.ToInt32(accountIDDecryted);
                        }


                        OmniDataItemAPI injector = new OmniDataItemAPI(_WebAPIURL);

                        TransactionRequest tReq = new TransactionRequest();
                        tReq.AccountID = defaultAccountID;
                        tReq.DaysAgo   = Constants.TransactionDays;

                        RootTransactions rootTransaction = await injector.GetTransactionsFromAPI(tReq, userLoginDetails.Token);

                        if (rootTransaction != null && rootTransaction.Status == 0)
                        {
                            foreach (var trans in rootTransaction.TransactionsList)
                            {
                                trans.Description             = trans.Description;
                                trans.SettlementDate          = trans.SettlementDate;
                                trans.TransactionStatusString = Constants.GetTransactionStatus(trans.TransactionStatus);
                                trans.ChargeDate          = trans.ChargeDate;
                                trans.TransactionType     = trans.TransactionType;
                                trans.TransactionTypeName = Constants.GetTransactionType(trans.TransactionType);
                            }
                        }

                        return(View(rootTransaction));
                    }
                    return(View(emptyRootTransaction)); // Return a new page not found view
                }
            }
            catch (Exception ex)
            {
                await AddToErrorLog(userLoginDetails.Token, "MyTransactions", ex.Message);

                return(View(emptyRootTransaction));
            }
            return(View(emptyRootTransaction));
        }