// 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 <bool> AuthorizePage(string pageName) { if (Session["UserLogin"] != null) { LoginResponseDetails userLoginDetails = (LoginResponseDetails)Session["UserLogin"]; var permissionObject = userLoginDetails.Permissions.Where(p => p.POC == pageName).FirstOrDefault(); if (permissionObject != null) { return(permissionObject.Allowed); } else { await AddToErrorLog(userLoginDetails.Token, pageName, "User not authorized to access this page."); return(false); } } return(false); }
// 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)); }