public async Task <IActionResult> Remove(VirtualServersViewModel items) { foreach (var item in items.VirtualServerList) { var count = _db.VirtualServers.Where(p => p.RemoveDateTime == null).Count(); // Для выделенных строк, закрываются соединения if (item.isSelectedForRemove) { if (_db.VirtualServers.Where(p => p.VirtualServerId == item.VirtualServerId).First().RemoveDateTime == null) { var model = await _db.VirtualServers.Where(p => p.VirtualServerId == item.VirtualServerId).SingleOrDefaultAsync(); model.RemoveDateTime = DateTime.Now; // Если открытые соединения отсутствуют, то таймер останавливается if (count == 0) { var timer = _db.Timer.Where(p => p.Id == 1).Single(); var now = DateTime.Now; var start = timer.StartTime; timer.Timer += now - start; } } } } await _db.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <IActionResult> Index() { var timer = await _db.Timer.Where(p => p.Id == 1).SingleAsync(); var model = new VirtualServersViewModel { VirtualServerList = await _db.VirtualServers.ToListAsync(), Timer = timer.Timer }; return(View(model)); }