Esempio n. 1
0
        public AccountTransactionState GetTransactionState(int ID)
        {
            AccountTransactionState result = null;

            try
            {
                result = myContext.AccountTransactionStates.Where(s => s.ID == ID).FirstOrDefault();
            }
            catch (Exception WTF)
            {
                Console.WriteLine(WTF);
                throw;
            }
            finally
            {
            }

            return(result);
        }
Esempio n. 2
0
        private async Task ApplyPayments(Round round, Number winNumber)
        {
            IEnumerable <Bet> roundBetList = await GetBetList(round, winNumber);

            if (roundBetList.Count() > 0)
            {
                AccountTransactionState accountTransactionAproved = await AppDbContext
                                                                    .FindGenericElementByIdAsync <AccountTransactionState>((long)AccountTransactionStates.Approved);

                foreach (Bet bet in roundBetList)
                {
                    int count = bet.BetNumbers.Where(x => x.Number.Id == winNumber.Id).Count();

                    if (count > 0) // winner
                    {
                        decimal            amount             = Math.Abs(bet.AccountTransaction.Amount) * (1 + (decimal)bet.PaymentRatio);
                        AccountTransaction accountTransaction = new AccountTransaction
                        {
                            Amount       = amount,
                            UserAccount  = bet.AccountTransaction.UserAccount,
                            UserRegister = await AppDbContext.FindGenericElementByIdAsync <User>(1),
                            State        = accountTransactionAproved,
                            Type         = bet.AccountTransaction.Type
                        };

                        AppDbContext.Set <AccountTransaction>().Add(accountTransaction);
                    }

                    bet.AccountTransaction.State = accountTransactionAproved;

                    AppDbContext.Entry(bet.AccountTransaction).State = EntityState.Modified;
                }

                await AppDbContext.SaveChangesAsync();
            }
        }
Esempio n. 3
0
        protected int GetTransactionID(Utility.TransactionCodes transactionCodes)
        {
            int result = -1;

            try
            {
                AccountTransactionState item = new AccountTransactionState();

                switch (transactionCodes)
                {
                case Utility.TransactionCodes.OPEN_ACCOUNT:
                    item   = myContext.AccountTransactionStates.Where(s => s.Name == "Open Account").FirstOrDefault();
                    result = item.ID;
                    break;

                case Utility.TransactionCodes.CLOSE_ACCOUNT:
                    item   = myContext.AccountTransactionStates.Where(s => s.Name == "Close Account").FirstOrDefault();
                    result = item.ID;
                    break;

                case Utility.TransactionCodes.DEPOSIT:
                    item   = myContext.AccountTransactionStates.Where(s => s.Name == "Deposit").FirstOrDefault();
                    result = item.ID;
                    break;

                case Utility.TransactionCodes.WITHDRAWAL:
                    item   = myContext.AccountTransactionStates.Where(s => s.Name == "Withdrawal").FirstOrDefault();
                    result = item.ID;
                    break;

                case Utility.TransactionCodes.LOAN_INSTALLMENT:
                    item   = myContext.AccountTransactionStates.Where(s => s.Name == "Loan Installment").FirstOrDefault();
                    result = item.ID;
                    break;

                case Utility.TransactionCodes.OVERDRAFT_FEE:
                    item   = myContext.AccountTransactionStates.Where(s => s.Name == "Overdraft Fee").FirstOrDefault();
                    result = item.ID;
                    break;

                case Utility.TransactionCodes.OVERDRAFT_PROTECTION:
                    item   = myContext.AccountTransactionStates.Where(s => s.Name == "Overdraft Protection").FirstOrDefault();
                    result = item.ID;
                    break;

                case Utility.TransactionCodes.NON_MATURITY:
                    item   = myContext.AccountTransactionStates.Where(s => s.Name == "Maturity Not Reached").FirstOrDefault();
                    result = item.ID;
                    break;

                case Utility.TransactionCodes.INTEREST_ACCRUED:
                    item   = myContext.AccountTransactionStates.Where(s => s.Name == "Interest Accrued").FirstOrDefault();
                    result = item.ID;
                    break;

                default:
                    throw new Exception("INVALID TRANSACTION CODE SELECTED!");
                }
            }
            catch (Exception WTF)
            {
                Console.WriteLine(WTF);
                throw;
            }
            finally
            {
            }

            return(result);
        }