示例#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);
            }
        }
        // GET: AccountDetails
        public async Task <ActionResult> Index()
        {
            if (!await AuthorizePage("MyAccount"))
            {
                return(RedirectToAction("NoAccess", "Home"));
            }

            LoginResponseDetails userLoginDetails = GetUserLoginDetails();

            try
            {
                if (userLoginDetails != null)
                {
                    OmniDataItemAPI injector    = new OmniDataItemAPI(_WebAPIURL);
                    RootAccounts    rootAccount = await injector.GetAccountsFromAPI(userLoginDetails.Token);

                    if (rootAccount != null && rootAccount.Status == 0)
                    {
                        List <CardAccountDetails> cardAccountDetails = new List <CardAccountDetails>();

                        foreach (var card in rootAccount.CardList)
                        {
                            CardAccountDetails cardEntity = new CardAccountDetails();
                            cardEntity.CardID      = card.CardID;
                            cardEntity.CardName    = card.CardName;
                            cardEntity.CardStatus  = card.CardStatus;
                            cardEntity.AccountList = new List <AccountDetails>();

                            foreach (var account in card.AccountList)
                            {
                                AccountDetails entity = new AccountDetails();
                                entity.AccountID          = account.AccountID;
                                entity.AccountAlias       = account.AccountAlias;
                                entity.AccountName        = account.AccountName;
                                entity.AccountStatus      = account.AccountStatus;
                                entity.AccountType        = account.AccountType;
                                entity.AccountTypeName    = Constants.GetAccountType(account.AccountType);
                                entity.AccountIDEncrypted = OmniDataManagement.Helpers.StringCipher.Encrypt(account.AccountID.ToString(), OmniDataManagement.Constants.PassPhrase);
                                cardEntity.AccountList.Add(entity);
                            }
                            cardAccountDetails.Add(cardEntity);
                        }
                        return(View(cardAccountDetails));
                    }
                }
            }
            catch (Exception ex)
            {
                await AddToErrorLog(userLoginDetails.Token, "MyAccount", ex.Message);

                return(View());
            }
            return(View());
        }
        public async Task <ActionResult> RequestAccountChangeStatus(string myParams)
        {
            var cleanParam = myParams.Replace("'", "\u0027");

            LoginResponseDetails userLoginDetails = GetUserLoginDetails();

            try
            {
                if (!await AuthorizePage("ModifyAccount"))
                {
                    return(RedirectToAction("NoAccess", "Home"));
                }

                if (userLoginDetails != null)
                {
                    OmniDataItemAPI injector = new OmniDataItemAPI(_WebAPIURL);

                    RequestAccountStatus requestObject = new RequestAccountStatus();
                    dynamic stuff = JsonConvert.DeserializeObject(cleanParam);
                    requestObject = JsonConvert.DeserializeObject <RequestAccountStatus>(stuff);

                    /*requestObject.AccountID = Convert.ToInt32(requestObjectAdd.AccountID);
                     * requestObject.NewStatus = requestObjectAdd.NewStatus;
                     * requestObject.Description = requestObjectAdd.Description;
                     * requestObject.EffectiveDate = Convert.ToDateTime(requestObjectAdd.EffectiveDate);*/

                    GenericResponse returnObject = await injector.ChangeAccountStatusFromAPI(userLoginDetails.Token, requestObject);

                    if (returnObject.Status == 0)
                    {
                        return(Json(new { Success = true, ErrorMessage = "" }));
                    }
                    else
                    {
                        return(Json(new { Success = false, ErrorMessage = returnObject.Error }));
                    }
                }
                //place holders for calling the Web API's to perform the functions.
                return(Json(new { Success = false, ErrorMessage = "User Token not valid or expired. Please login again." }));
            }
            catch (Exception ex)
            {
                await AddToErrorLog(userLoginDetails.Token, "MyAccount", ex.Message);

                return(Json(new { Success = false, ErrorMessage = ex.Message }));
            }
        }
        public async Task <string> AddToErrorLog(string userToken, string POC, string ErrorMessage)
        {
            try
            {
                if (userToken != null)
                {
                    OmniDataItemAPI injector = new OmniDataItemAPI(_WebAPIURL);

                    ErrorLogAPI requestObject = new ErrorLogAPI();
                    requestObject.Error = ErrorMessage;
                    requestObject.POC   = POC;
                    GenericResponse returnObject = await injector.AddToErrorLogFromAPI(userToken, requestObject);
                }
            }
            catch (Exception ex)
            {
                string errorMessage = ex.Message;
                //do nothing
            }

            return(string.Empty);
        }
示例#5
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));
        }