Example #1
0
        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));
            }
        }