Пример #1
0
        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}");
        }