private void StopTraders() { using var scope = _serviceProvider.CreateScope(); var dbContext = scope.ServiceProvider.GetService <ApplicationDbContext>(); var usersWithActiveStrategies = dbContext.ApplicationUsers.Where(x => x.Strategies.Any(s => s.Active)); foreach (var user in usersWithActiveStrategies) { _traderManager.StopTrader(user); } dbContext.SaveChanges(); }
public async Task <IActionResult> StopTrader() { try { var user = await _userManager.GetApplicationUserAsync(User); user.IsTraderOn = false; _traderManager.StopTrader(user); await _dbContext.SaveChangesAsync(); return(Ok()); } catch (Exception e) { return(BadRequest(e.Message)); } }