public bool TryGetCurrentState(int id, out List <List <int> > state) { List <List <int> > result = (List <List <int> >) new List <List <int> >(); HanoiExecution exe = null; if (_solvers.ContainsKey(id)) { result.Add(_solvers[id].FistPeg.ToList()); result.Add(_solvers[id].SecondPeg.ToList()); result.Add(_solvers[id].ThirdPeg.ToList()); state = result; return(true); } else { exe = _exeRepository.Get(id); if (exe != null && exe.EndTime != null) { result.Add(new List <int>()); result.Add(new List <int>()); var discList = Enumerable.Range(1, exe.DiscsNumber); result.Add(discList.ToList()); state = result; return(true); } } state = null; return(false); }
public HanoiExecution Get(int id) { HanoiExecution ex = null; HanoiLog log = _context.Logs.Where(l => l.LogId == id).FirstOrDefault(); if (log != null) { ex = new HanoiExecution() { HanoiExecutionId = log.LogId, CreationTime = log.CreationTime, DiscsNumber = log.DiscsNumber, EndTime = log.EndTime }; } return(ex); }