コード例 #1
0
        public IActionResult Agregar([FromBody] BoardRegisterDto model)  //Dto
        {
            try {
                //Si falta una id, evitar el insertar
                if (model.Player1Id.Length < 1 || model.Player2Id.Length < 1)
                {
                    return(BadRequest("Faltan Datos"));
                }

                var boardResult = boardService.Save(model);
                if (boardResult.isSuccess)
                {
                    return(Ok(_mapper.Map <BoardDto>(boardResult.Result)));
                }
                else
                {
                    return(BadRequest(boardResult.Errors));
                }
            }
            catch (Exception ex) {
                var errorResponse =
                    new ManagedErrorResponse(ManagedErrorCode.Exception, "hay errores", ex);
                return(BadRequest("Error"));
            }
        }
コード例 #2
0
        public void BoardService_AgregarTableroConUnaIdFaltante()
        {
            var boardService = new Mock <IBoardService>();
            var mapper       = new Mock <IMapper>();

            mapper.Setup(m => m.Map <BoardDto, Board>(It.IsAny <BoardDto>())).Returns(new Board());

            // Arrange
            var controller = new BoardController(boardService.Object, mapper.Object);

            // Act
            BoardRegisterDto model = new BoardRegisterDto {
                Player1Id = "1", Player2Id = ""
            };

            boardService.Setup(s => s.Save(model))
            .Returns(new ServiceResult <Board> {
                isSuccess = true,
                Errors    = new List <string> {
                    "Error"
                }
            }
                     );

            // Assert
            IActionResult response = controller.Agregar(model);

            Console.WriteLine(response);
            Assert.AreEqual(response.GetType(), new BadRequestObjectResult("").GetType());
        }
コード例 #3
0
        public ServiceResult <Board> Save(BoardRegisterDto model)
        {
            //Creamos el tablero
            Board board = new Board {
                Status = 0, Grid = "-1,-1,-1,-1,-1,-1,-1,-1,-1"
            };

            board.Player1 = _userRepository.GetById(model.Player1Id);
            board.Player2 = _userRepository.GetById(model.Player2Id);

            //Turno Aleatorio
            List <AppUser> players = new List <AppUser> {
                board.Player1, board.Player2
            };
            Random rand = new Random();

            board.Turno = players[rand.Next(0, 1)];

            //Respuesta
            var result = new ServiceResult <Board>();

            try {
                _boardRepository.Insert(board); //Se registra la factura
                var affectedRows = _context.SaveChanges();
                if (affectedRows == 0)
                {
                    //Hubo un pex
                    result.isSuccess = false;
                    result.Errors    = new List <string>();
                    result.Errors.Add("No se pudo guardar la factura");
                    return(result);
                }
                else
                {
                    result.isSuccess = true;
                    result.Result    = board;
                    return(result);
                }
            }
            catch (Exception ex) //fix
            {
                result.isSuccess = false;
                result.Errors    = new List <string>();
                result.Errors.Add("No se pudo guardar la factura.");
                Console.WriteLine(ex);
                return(result);
            }
        }