Example #1
0
        public async Task <IEnumerable <IEvent> > HandleAsync(MoveMazeObjects command)
        {
            var maze = await _mazeRepository.GetByIdAsync(command.MazeId);

            maze.MoveMazeObjects(command, _validator);
            await _mazeRepository.UpdateAsync(maze);

            return(maze.Events);
        }
Example #2
0
        public async Task <MazeDetailsModel> RetrieveAsync(GetMaze query)
        {
            var dbEntity = await _mazeRepository.GetByIdAsync(query.Id);

            if (dbEntity == null)
            {
                throw new ApiException($"Maze with id: {query.Id} doesn't exists", 404);
            }
            return(_mapper.Map <MazeDetailsModel>(dbEntity));
        }
        public async Task <MazeVisualisationModel> RetrieveAsync(GetMazeVisualisation query)
        {
            var maze = await _mazeRepository.GetByIdAsync(query.Id);

            if (maze == null)
            {
                throw new ApiException($"Maze with id: {query.Id} doesn't exists", 404);
            }
            return(new MazeVisualisationModel
            {
                Maze = maze.ToString()
            });
        }