Пример #1
0
        private static void AddRandomStockPriceHistory(SansCreditUnionDbContext context)
        {
            List <long> stockIdsInDb = context.BrokerageStocks
                                       .Select(a => a.Id)
                                       .ToList();

            List <BrokerageStock> stocks = BrokerageStocks.All;

            var random = new Random();

            foreach (var stock in stocks)
            {
                var within10Percent   = Convert.ToInt32(stock.PreviousDayClose * 0.1m);
                var stockPriceHistory = new BrokerageStockPriceHistory
                {
                    Price     = stock.PreviousDayClose * random.Next(within10Percent * -1, within10Percent),
                    StockId   = stock.Id,
                    Timestamp = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, random.Next(8, 17), random.Next(0, 59), random.Next(0, 59))
                };

                context.BrokerageStockPriceHistory.Add(stockPriceHistory);
            }

            context.SaveChanges();
        }
Пример #2
0
        private void PostPendingTrades(SansCreditUnionDbContext dbContext)
        {
            var pendingTrade = dbContext.BrokerageTrades
                               .Where(t => t.PostedDateTime == null)
                               .Include(t => t.BrokerageAccount)
                               .ToList();

            foreach (var trade in pendingTrade)
            {
                var account = dbContext.Accounts
                              .Where(e => e.Id == trade.AccountId)
                              .Single();

                if (trade.BrokerageTradeType == BrokerageTradeTypes.Buy)
                {
                    account.Balance -= trade.Price * trade.Quantity;
                }
                else // Must be a sell
                {
                    account.Balance += trade.Price * trade.Quantity;
                }

                trade.PostedDateTime = DateTime.UtcNow;

                dbContext.SaveChanges();
            }
        }
Пример #3
0
 public static void Seed(this SansCreditUnionDbContext context, IServiceProvider serviceProvider)
 {
     CreateAccountTypesIfTheyDontExist(context);
     CreateMembersIfTheyDontExist(context, serviceProvider);
     CreateStocksIfTheyDontExist(context);
     AddRandomStockPriceHistory(context);
 }
Пример #4
0
        private void PostPendingTransactions(SansCreditUnionDbContext dbContext)
        {
            var pendingPayments = dbContext.Transactions
                                  .Where(t => t.PostedDateTime == null)
                                  .Include(t => t.Account)
                                  .ToList();

            foreach (var payment in pendingPayments)
            {
                payment.Account.Balance += payment.Amount;
                payment.PostedDateTime   = DateTime.UtcNow;
                dbContext.SaveChanges();
            }
        }
Пример #5
0
        public static void CreateMembersIfTheyDontExist(this SansCreditUnionDbContext context, IServiceProvider serviceProvider)
        {
            var userManger = serviceProvider.GetService(typeof(UserManager <CreditUnionUser>)) as UserManager <CreditUnionUser>;

            var johnSmithMember = new Member
            {
                Accounts = new List <Account>
                {
                    new Account
                    {
                        AccountNumber = "12345678",
                        Guid          = JohnSmithAccountGuid,
                        AccountTypeId = (int)AccountTypeIds.Checking,
                        Balance       = 50_000,
                        InterestRate  = 0.0005m,
                    }
                },
Пример #6
0
 public MembersService(UserManager <CreditUnionUser> userManager, SansCreditUnionDbContext dbContext)
 {
     _userManager = userManager;
     _dbContext   = dbContext;
 }
Пример #7
0
 public BrokerageStocksService(SansCreditUnionDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Пример #8
0
 public BillPayService(SansCreditUnionDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Пример #9
0
 public PayeesService(SansCreditUnionDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Пример #10
0
 public CheckOrderService(SansCreditUnionDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Пример #11
0
 public TransactionsService(SansCreditUnionDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Пример #12
0
 public AccountService(SansCreditUnionDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Пример #13
0
 public BrokerageTradeService(SansCreditUnionDbContext dbContext)
 {
     _dbContext = dbContext;
 }