Ejemplo n.º 1
0
        public async Task <ActionResult> Post(MovementDtoCreate movement)
        {
            var movementEntity  = mapper.Map <Movement>(movement, opt => { opt.Items["UserId"] = User.Identity.GetId(); });
            var createdMovement = await repository.Create(movementEntity);

            return(Created(configService.GenerateCreatedUrl(controllerName, createdMovement.Id), createdMovement));
        }
Ejemplo n.º 2
0
        public CreateMovementResponse Run(CreateMovementRequest request)
        {
            GameEntity game = gameRepository.Retrieve(request.id);

            if (game == null)
            {
                throw new BadRequestException("Partida não encontrada");
            }

            if (game.currentPlayer != TypePlayerExtension.GetByPlay(request.player))
            {
                throw new BadRequestException("Não é turno do jogador");
            }

            if (!PositionIsValid(request.position, game))
            {
                throw new BadRequestException("Espaço inválido");
            }

            MovementEntity movement = new MovementEntity()
            {
                gameId = request.id,
                player = TypePlayerExtension.GetByPlay(request.player),
                turn   = game.turn,
                x      = request.position.x,
                y      = request.position.y
            };

            game = TransactionHandler.HandleTransaction(() =>
            {
                movementRepository.Create(movement);
                return(gameRepository.RegisterMovement(request.id, movement));
            });

            string winner = CheckForWinner(game.board);
            string msg    = null;

            if (game.turn >= 9 && winner == null)
            {
                winner = "Draw";
            }

            if (winner != null)
            {
                msg = "Partida finalizada";
            }
            else
            {
                msg = "Partida em andamento";
            }

            return(new CreateMovementResponse()
            {
                msg = msg,
                winner = winner
            });
        }
        public async Task <IActionResult> CreateMovement(MovementCreationDto dto)
        {
            var newMovement = new MovementCreationDto
            {
                Amount      = dto.Amount,
                Date        = dto.Date,
                Description = dto.Description,
                VoucherId   = dto.VoucherId
            };

            await _movementRepository.Create(newMovement);

            return(Ok(dto));
        }
Ejemplo n.º 4
0
        public bool CreateOutcomingMovement(string SourcePosition, DateTime CreatedAt)
        {
            Movement Mo = new Movement
            {
                SourcePosition = SourcePosition,
                AimedPosition  = "运单目的地",
                OperationType  = 2,
                Operator       = "System",
                Time           = DateTime.Now,
                CreatedAt      = CreatedAt
            };

            bool CeRe = MoRep.Create(Mo);

            return(CeRe);
        }
Ejemplo n.º 5
0
        public bool CreateIncomingMovement(string PositionNr, DateTime CreatedAt)
        {
            Movement Mo = new Movement
            {
                SourcePosition = "入库缓冲区",
                AimedPosition  = PositionNr,
                OperationType  = 1,
                Operator       = "System",
                Time           = DateTime.Now,
                CreatedAt      = CreatedAt
            };

            bool CeRe = MoRep.Create(Mo);


            return(CeRe);
        }
Ejemplo n.º 6
0
 public bool Create(Movement Mo)
 {
     return(MoRep.Create(Mo));
 }
Ejemplo n.º 7
0
 public IActionResult Post([FromBody] Movement movement)
 {
     _repository.Create(movement);
     return(Ok());
 }