public async Task Proccess(ProccessHanoiCommand command) { _hanoi = await _hanoiRepository.GetByGuidAsync(command.HanoiId); Trace.Write($"Start processing Hanoi {_hanoi.Id}"); var start = new Tower(_hanoi.TotalDisks); var mid = new Tower(ETowerPosition.End); var end = new Tower(ETowerPosition.Mid); await SolveTower(_hanoi.TotalDisks, start, end, mid); _hanoi.EndHanoi(); _hanoiRepository.NoTransactionUpdate(_hanoi); Trace.Write($"End processing Hanoi {_hanoi.Id}"); }