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(); }
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(); } }
public static void Seed(this SansCreditUnionDbContext context, IServiceProvider serviceProvider) { CreateAccountTypesIfTheyDontExist(context); CreateMembersIfTheyDontExist(context, serviceProvider); CreateStocksIfTheyDontExist(context); AddRandomStockPriceHistory(context); }
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(); } }
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, } },
public MembersService(UserManager <CreditUnionUser> userManager, SansCreditUnionDbContext dbContext) { _userManager = userManager; _dbContext = dbContext; }
public BrokerageStocksService(SansCreditUnionDbContext dbContext) { _dbContext = dbContext; }
public BillPayService(SansCreditUnionDbContext dbContext) { _dbContext = dbContext; }
public PayeesService(SansCreditUnionDbContext dbContext) { _dbContext = dbContext; }
public CheckOrderService(SansCreditUnionDbContext dbContext) { _dbContext = dbContext; }
public TransactionsService(SansCreditUnionDbContext dbContext) { _dbContext = dbContext; }
public AccountService(SansCreditUnionDbContext dbContext) { _dbContext = dbContext; }
public BrokerageTradeService(SansCreditUnionDbContext dbContext) { _dbContext = dbContext; }