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); }
// 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)); }